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. 測試