LVS-DR 模型(VIP与RIP,DIP不在同一网络中)的实现
网络拓扑:
准备工作:
1、如上图所示本实例当中使用Vmware创建了5台虚拟机(其中2台做为Real Server,1台做为Director
1台充当路由器,1台充当客户机);OS分别为CentOS 6.4 32bIt (2.6.32-358),Windowsxp
2、为了方便在本实例中把5台虚拟主机的(防火墙都关掉了),同时在Director和LVS-GW上开启了
路由转发功能(此外还关闭了SeLinux)
3、其中RIP和DIP 在(VMnet8)网络内(192.168.10.0/24),VIP在物理网络(192.168.20.0/22, 192.168.23.0/22)
内。客户机(192.168.20.80/22)在物理网络内
4、在Real Server 安装 httpd ( # yum install httpd -y)
5. 在Director(LVS) 安装 ipvsadm (# yum install ipvsadm -y)
1. Director (LVS)
1.在Director(LVS)上设置(DIP|VIP):
eth0-DIP: 192.168.10.129/24
eth0:0-VIP: 192.168.20.186/22
# ifconfig eth0:0 192.168.20.186 broadcast 192.168.20.186 netmask 255.255.255.255
# route add -host 192.168.20.186 dev eth0:0
# route -n2.在Director(LVS)上添加静态路由:
# route add default gw 192.168.10.132
#route add -net 192.168.20.0/22 gw 192.168.10.132 eth0
注意这个路由条目为什么不写成 route add -net 192.168.23.0/22 (因为这样写会报错:掩码与IP不匹配)
我们公司内部使用的是超网(192.168.20.0/22,192.168.21.0/22,192.168.22.0/22,192.168.23.0/22 )虽然
实际我们的目标网络是192.168.23.0/22(当中的客户机:192.168.20.80)、但在LVS上添加路由条目时,网络
号应该输入:192.168.20.0/223.在Director(LVS)启用路由转发功能
# echo 1 > /proc/sys/net/ipv4/ip_forward
4. 在Director(LVS) 添加IPVS规则
# ipvsadm -A -t 192.168.20.186:80 -s rr
# ipvsadm -a -t 192.168.20.186:80 -r 192.168.10.130 -g
# ipvsadm -a -t 192.168.20.186:80 -r 192.168.10.131 -g
# ipvsadm -L -n
# ipvsadm -L -n -c
2. LVS-GW
1.在Director(LVS-GW)上设置(eth0|eth1)的IP:
eth0: 192.168.10.132/24
eth1: 192.168.23.145/22
2.在Director(LVS-GW)上添加静态路由:
# route add -host 192.168.20.186 dev eth0
3.在LVS-GW启用路由转发功能
# echo 1 > /proc/sys/net/ipv4/ip_forward
3. RealServer(Site-1)
1.在Real Server (Site – 1)上 修改内核参数:
# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
2.在Real Server (Site – 1 )上设置(RIP|VIP):
eth0-RIP: 192.168.10.130/24
lo:0-VIP 192.168.20.186/22
# ifconfig lo:0 192.168.20.186 broadcast 192.168.20.186 netmask 255.255.255.2553.在Real Server (Site – 1 )上添加静态路由:
注意:在Real Server构建响应报文时我们希望把VIP做为报文中的源地址就必须
# route add -host 192.168.20.186 dev lo:0
# route add default gw 192.168.10.132
# route -n
添加特殊路由条目(route add -host 192.168.20.186 dev lo:0 )
4. RealServer(Site-2)
1.在Real Server (Site – 2)上 修改内核参数:
# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
# echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
# echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
2.在Real Server (Site – 2 )上设置(RIP|VIP):
eth0-RIP: 192.168.10.131/24
lo:0-VIP 192.168.20.186/22
# ifconfig lo:0 192.168.20.186 broadcast 192.168.20.186 netmask 255.255.255.2553.在Real Server (Site – 2 )上添加静态路由:
注意:在Real Server构建响应报文时我们希望把VIP做为报文中的源地址就必须
# route add -host 192.168.20.186 dev lo:0
# route add default gw 192.168.10.132
# route -n
添加特殊路由条目(route add -host 192.168.20.186 dev lo:0 )
5. Client_winxp
在Client_winxp上添加静态路由
c:\ > route add 192.168.20.186 mask 255.255.255.255 192.168.23.145
5. 测试
转载于:https://blog.51cto.com/204324/2294145