lvs-dr實驗
1、機器四臺:
LVS:192.168.41.133
後臺web服務器:192.168.41.131 192.168.41.132
VIP:192.168.41.188 VIP需要配置在LVS和兩臺web上
路由器:172.16.41.151 192.168.41.151
測試機:172.16.41.152
網絡是兩個:web1是172.16.41.0/24 web2是192.168.41.0/24
所有機器安裝網絡相關工具:yum -y install tcpdump net-tools
2、測試機:172.16.41.152
路由必須指向172.16.41.151 因爲此處無法完全模擬真實環境,因此直接設置默認路由,路由如下:
[root@centos610 22:00 ~]# route add default gw 172.16.41.151;route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.16.41.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
0.0.0.0 172.16.41.151 0.0.0.0 UG 0 0 0 eth0
3、路由器:外部地址:172.16.41.151 內部地址:192.168.41.151
刪除默認路由
[root@centos76 09:49 ~]# route del default gw 172.16.41.2
[root@centos76 09:49 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 ens33
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 ens37
172.16.41.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
192.168.41.0 0.0.0.0 255.255.255.0 U 0 0 0 ens37
開啓路由轉發:
[root@centos76 09:51 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
4、web服務器:192.168.41.131 192.168.41.132
安裝web服務: yum -y install httpd;systemctl start httpd
加入測試的頁面:
web1:echo web131 > /var/www/html/index.html
web2:echo web132 > /var/www/html/index.html
下面的部分兩臺web操作一致:
配置默認路由:route add default gw 192.168.41.151
[root@centos7ys 22:10 ~]# route add default gw 192.168.41.151
[root@centos7ys 22:10 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.41.151 0.0.0.0 UG 0 0 0 ens37
192.168.41.0 0.0.0.0 255.255.255.0 U 101 0 0 ens37
設置vip: 保存此腳本,修改vip的地址爲192.168.41.188,最後執行: bash 腳本位置 start
#!/bin/bash
vip=192.168.41.188
mask='255.255.255.255'
dev=lo:1
case $1 in
start)
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
ifconfig $dev $vip netmask $mask #broadcast $vip up
#route add -host $vip dev $dev
;;
stop)
ifconfig $dev down
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
;;
*)
echo "Usage: $(basename $0) start|stop"
exit 1
;;
esac
5、LVS設置:192.168.41.133
首先LVS安裝ipvsadm:
yum -y install ipvsadm
設置默認路由:route add default gw 192.168.41.254
[root@centos7ys 09:45 network-scripts]# route add default gw 192.168.41.151
[root@centos7ys 09:45 network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.41.151 0.0.0.0 UG 0 0 0 ens37
192.168.41.0 0.0.0.0 255.255.255.0 U 100 0 0 ens37
設置vip: 保存此腳本,修改vip的地址爲192.168.41.188,修改rs服務器爲兩個web對應的地址,最後執行: bash 腳本位置 start
#!/bin/bash
vip='192.168.41.188'
iface='lo:1'
mask='255.255.255.255'
port='80'
rs1='192.168.41.131'
rs2='192.168.41.132'
scheduler='wrr'
type='-g'
case $1 in
start)
ifconfig $iface $vip netmask $mask #broadcast $vip up
iptables -F
ipvsadm -A -t ${vip}:${port} -s $scheduler
ipvsadm -a -t ${vip}:${port} -r ${rs1} $type -w 1
ipvsadm -a -t ${vip}:${port} -r ${rs2} $type -w 1
;;
stop)
ipvsadm -C
ifconfig $iface down
;;
*)
echo "Usage $(basename $0) start|stop"
exit 1
esac
6、測試:172.16.41.152
[root@centos610 10:20 ~]# while true;do curl http://192.168.41.188;sleep 1;done
web132
web131
web132
web131