lvs-dr
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lvs-dr相关的知识,希望对你有一定的参考价值。
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 因为此处无法完全模拟真实环境,因此直接设置默认路由,路由如下:
[[email protected] 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
删除默认路由
[[email protected] 09:49 ~]# route del default gw 172.16.41.2
[[email protected] 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
开启路由转发:
[[email protected] 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
[[email protected] 22:10 ~]# route add default gw 192.168.41.151
[[email protected] 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
[[email protected] 09:45 network-scripts]# route add default gw 192.168.41.151
[[email protected] 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
[[email protected] 10:20 ~]# while true;do curl http://192.168.41.188;sleep 1;done
web132
web131
web132
web131
以上是关于lvs-dr的主要内容,如果未能解决你的问题,请参考以下文章