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