LVS之NAT、DR、TUNNEL实验

1、LVS-NAT规则+WRR算法

image

服务器 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算法

image

# 在以上基础上修改:
[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规则

image

服务器 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规则多网段

image

服务器 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

image

服务器 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

posted @ 2022-09-11 14:18  大雨转暴雨  阅读(70)  评论(0编辑  收藏  举报