LVS之NAT、DR、TUNNEL实验

2022-11-19,,

1、LVS-NAT规则+WRR算法

服务器 IP地址 作用 系统版本
RS1 10.0.0.8/24
GW:10.0.0.101
网站服务器 Rocky8.6
RS2 10.0.0.18/24
GW:10.0.0.101
网站服务器 Rocky8.6
LVS eth0: 10.0.0.101
eth1: 192.168.10.101
LVS负载均衡调度器 Ubuntu2004
## RS1配置
[root@RS1 ~]# yum install -y httpd
[root@RS1 ~]# echo RS1 > /var/www/html/index.html
[root@RS1 ~]# systemctl restart httpd
=====================================
## RS2配置
[root@RS2 ~]# yum install -y httpd
[root@RS2 ~]# echo RS1 > /var/www/html/index.html
[root@RS2 ~]# systemctl restart httpd
=======================================
## LVS配置
[root@lvs ~]#apt install ipvsadm
[root@lvs ~]#ipvsadm -A -t 192.168.10.101:80 -s wrr
[root@lvs ~]#ipvsadm -a -t 192.168.10.101:80 -r 10.0.0.8:80 -m
[root@lvs ~]#ipvsadm -a -t 192.168.10.101:80 -r 10.0.0.18:80 -m
[root@lvs ~]#ipvsadm -Ln
[root@lvs ~]#echo 1 > /proc/sys/net/ipv4/ip_forward =========================================
## 客户端测试
[root@client ~]#curl 192.168.10.101
RS2
[root@client ~]#curl 192.168.10.101
RS1
[root@client ~]#curl 192.168.10.101
RS2
[root@client ~]#curl 192.168.10.101
RS1
[root@client ~]#curl 192.168.10.101
RS2 ========================================
## LVS修改权重
[root@lvs ~]#ipvsadm -e -t 192.168.10.101:80 -r 10.0.0.8 -m -w 3
[root@lvs ~]#ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.10.101:80 wrr
-> 10.0.0.8:80 Masq 3 0 0
-> 10.0.0.18:80 Masq 1 0 0 =======================================
## 客户端测试
[root@client ~]# curl 192.168.10.101
RS1
[root@client ~]# curl 192.168.10.101
RS1
[root@client ~]# curl 192.168.10.101
RS1
[root@client ~]# curl 192.168.10.101
RS2
2、LVS-NAT规则+RR算法

# 在以上基础上修改:
[root@lvs ~]#ipvsadm -E -t 192.168.10.101:80 -s rr
[root@lvs ~]#ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.10.101:80 rr
-> 10.0.0.8:80 Masq 1 1 4
-> 10.0.0.18:80 Masq 1 0 4 #客户端测试:
[root@client ~]#while :;do curl 192.168.10.101;sleep 0.5;done
RS2
RS1
RS2
RS1
RS2
RS1
RS2
RS1
RS2
....
3、LVS-DR规则

服务器 IP地址 作用 系统版本
RS1 lo: 10.0.0.200/32 eth0: 10.0.0.18/24 GW:10.0.0.101 网站服务器 Rocky8.6
RS2 lo: 10.0.0.200/32 eth0: 10.0.0.8/24 GW:10.0.0.101 网站服务器 Rocky8.6
LVS lo: 10.0.0.200/32 eth0: 10.0.0.28/24 GW:10.0.0.101 LVS负载均衡调度器 Rocky8.6
Router eth0: 10.0.0.101 eth1: 192.168.10.101 路由器 Ubuntu2004
clinet eth0: 192.168.10.11 GW: 192.168.10.101 客户机测试 Rocky8.6
## RS1:
[root@RS1 ~]# ifconfig lo:1 10.0.0.200/32
[root@RS1 ~]# yum install -y httpd
[root@RS1 ~]# echo RS1 > /var/www/html/index.html
[root@RS1 ~]# systemctl restart httpd
[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce ================================================ ## RS2:
[root@RS2 ~]# ifconfig lo:1 10.0.0.200/32
[root@RS2 ~]# yum install -y httpd
[root@RS2 ~]# echo RS1 > /var/www/html/index.html
[root@RS2 ~]# systemctl restart httpd
[root@RS2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@RS2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@RS2 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@RS2 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce ================================================== ## LVS:
[root@LVS ~]# ifconfig lo:1 10.0.0.200/32
[root@lvs ~]#echo 1 > /proc/sys/net/ipv4/ip_forward
[root@LVS ~]# ipvsadm -A -t 10.0.0.200:80 -s rr
[root@LVS ~]# ipvsadm -a -t 10.0.0.200:80 -r 10.0.0.8:80 -g
[root@LVS ~]# ipvsadm -a -t 10.0.0.200:80 -r 10.0.0.18:80 -g ================================================ ## client测试:
[root@client ~]# ip r
default via 192.168.10.101 dev eth0 proto static metric 100
[root@client ~]# curl 10.0.0.200
RS2
[root@client ~]# curl 10.0.0.200
RS1
[root@client ~]# curl 10.0.0.200
RS2
[root@client ~]# curl 10.0.0.200
RS1
[root@client ~]# curl 10.0.0.200
RS2
[root@client ~]# curl 10.0.0.200
RS1
4、 LVS-DR规则多网段

服务器 IP地址 作用 系统版本
RS1 lo: 172.16.0.100/32 eth0: 10.0.0.18/24 GW:10.0.0.101 网站服务器 Rocky8.6
RS2 lo: 172.16.0.100/32 eth0: 10.0.0.8/24 GW:10.0.0.101 网站服务器 Rocky8.6
LVS lo: 172.16.0.100/32 eth0: 10.0.0.28/24 GW:10.0.0.101 LVS负载均衡调度器 Rocky8.6
Router eth0: 10.0.0.101 eth0:1 172.16.0.101 eth1: 192.168.10.101 路由器 Ubuntu2004
clinet eth0: 192.168.10.11 GW: 192.168.10.101 客户机测试 Rocky8.6
## Router:
[root@Router ~]#ip a a 172.16.0.101/24 dev eth0 ============================================== ## RS1:
[root@RS1 ~]# ifconfig lo:1 172.16.0.100/32
[root@RS1 ~]# yum install -y httpd
[root@RS1 ~]# echo RS1 > /var/www/html/index.html
[root@RS1 ~]# systemctl restart httpd
[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce ================================================ ## RS2:
[root@RS2 ~]# ifconfig lo:1 172.16.0.100/32
[root@RS2 ~]# yum install -y httpd
[root@RS2 ~]# echo RS1 > /var/www/html/index.html
[root@RS2 ~]# systemctl restart httpd
[root@RS2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@RS2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
[root@RS2 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@RS2 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce ================================================== ## LVS:
[root@LVS ~]# ifconfig lo:1 172.16.0.100/32
[root@lvs ~]#echo 1 > /proc/sys/net/ipv4/ip_forward
[root@LVS ~]# ipvsadm -A -t 172.16.0.101:80 -s rr
[root@LVS ~]# ipvsadm -a -t 172.16.0.101:80 -r 10.0.0.8:80 -g
[root@LVS ~]# ipvsadm -a -t 172.16.0.101:80 -r 10.0.0.18:80 -g ================================================ ## client测试:
[root@client ~]# ip r
default via 192.168.10.101 dev eth0 proto static metric 100
[root@client ~]# curl 172.16.0.100
RS2
[root@client ~]# curl 172.16.0.100
RS1
[root@client ~]# curl 172.16.0.100
RS2
[root@client ~]# curl 172.16.0.100
RS1
[root@client ~]# curl 172.16.0.100
RS2
[root@client ~]# curl 172.16.0.100
RS1
5、LVS-TUNNEL

服务器 IP地址 作用 系统版本
RS1 tunl0: 10.0.0.200/32 eth0: 10.0.0.18/24 GW:10.0.0.101 网站服务器 Rocky8.6
RS2 tunl0: 10.0.0.200/32 eth0: 10.0.0.8/24 GW:10.0.0.101 网站服务器 Rocky8.6
LVS tunl0: 10.0.0.200/32 eth0: 10.0.0.28/24 GW:10.0.0.101 LVS负载均衡调度器 Rocky8.6
Router eth0: 10.0.0.101 eth1: 192.168.10.101 路由器 Ubuntu2004
clinet eth0: 192.168.10.11 GW: 192.168.10.101 客户机测试 Rocky8.6
## RS1:
[root@RS1 ~]# ip a a 10.0.0.200/32 dev tunl0
[root@RS1 ~]# yum install -y httpd
[root@RS1 ~]# echo RS1 > /var/www/html/index.html
[root@RS1 ~]# systemctl restart httpd
[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore #1 如果是跨地域,这四条是不需要更改的(实验在同一网络,所以需要更改)
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce #2
[root@RS1 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore #3
[root@RS1 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announc #4 [root@RS1 ~]# echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
[root@RS1 ~]# echo 0 > /proc/sys/net/ipv4/conf/tunl0/rp_filter ================================================ ## RS2:
[root@RS2 ~]# ip a a 10.0.0.200/32 dev tunl0
[root@RS2 ~]# yum install -y httpd
[root@RS2 ~]# echo RS1 > /var/www/html/index.html
[root@RS2 ~]# systemctl restart httpd
[root@RS2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore #1 如果是跨地域,这四条是不需要更改的(实验在同一网络,所以需要更改)
[root@RS2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce #2
[root@RS2 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore #3
[root@RS2 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce #4 [root@RS2 ~]# echo 0 > /proc/sys/net/ipv4/conf/tunl0/rp_filter
[root@RS2 ~]# echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter ================================================== ## LVS:
[root@LVS ~]# ip a a 10.0.0.200/32 dev tunl0
[root@LVS ~]# ip link set up tunl0
[root@LVS ~]# lsmod | grep ipip
ipip 16384 0
tunnel4 16384 1 ipip
ip_tunnel 28672 1 ipip
[root@LVS ~]# ipvsadm -A -t 10.0.0.200:80 -s wrr
[root@LVS ~]# ipvsadm -a -t 10.0.0.200:80 -r 10.0.0.8:80 -i
[root@LVS ~]# ipvsadm -a -t 10.0.0.200:80 -r 10.0.0.18:80 -i ================================================== ## client测试:
[root@client ~]# ip r
default via 192.168.10.101 dev eth0 proto static metric 100
[root@client ~]# curl 10.0.0.200
RS1
[root@client ~]# curl 10.0.0.200
RS2
[root@client ~]# curl 10.0.0.200
RS1
[root@client ~]# curl 10.0.0.200
RS2
[root@client ~]# curl 10.0.0.200
RS1

LVS之NAT、DR、TUNNEL实验的相关教程结束。

《LVS之NAT、DR、TUNNEL实验.doc》

下载本文的Word格式文档,以方便收藏与打印。