TUN模式;服務器
其實數據轉發原理和上圖是同樣的,不過這個我我的認爲主要是位於不一樣位置(不一樣機房);LB是經過隧道進行了信息傳輸,雖然增長了負載,但是由於地理位置不一樣的優點,仍是能夠參考的一種方案;負載均衡
優勢:負載均衡器只負責將請求包分發給物理服務器,而物理服務器將應答包直接發給用戶。因此,負載均衡器能處理很巨大的請求量,這種方式,一臺負載均衡能爲超過100臺的物理服務器服務,負載均衡器再也不是系統的瓶頸。使用VS-TUN方式,若是你的負載均衡器擁有100M的全雙工網卡的話,就能使得整個Virtual Server能達到1G的吞吐量。測試
不足:可是,這種方式須要全部的服務器支持"IP Tunneling"(IP Encapsulation)協議;spa
LB1: eth0: 192.168.182.132ip
vip(tunl0): 192.168.182.200it
RS1: eth0:192.168.27.130io
tunl0(vip) :192.168.182.200ast
RS2: eth0:192.168.138.131function
tunl0(vip) :192.168.182.200class
LB1操做:
yum install ipvsadm –y
echo 1 > /proc/sys/net/ipv4/ip_forward
. /etc/rc.d/init.d/functions
/sbin/ipvsadm --set 30 5 60
ifconfig tunl0 192.168.182.200 broadcast 192.168.182.200 netmask 255.255.255.0 up
route add -host $VIP dev tunl0
ipvsadm -A -t 192.168.182.200:80 -s rr
ipvsadm -a -t 192.168.182.200:80 -r 192.168.27.130 -i
ipvsadm -a -t 192.168.182.200:80 -r 192.168.138.131 -i
RS1操做:
ifconfig tunl0 192.168.182.200 netmask 255.255.255.0 broadcast 192.168.182.200 up
route add -host 192.168.182.200 dev tunl0
echo "1" >/proc/sys/net/ipv4/conf/tunl0/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/tunl0/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
RS2同上:
訪問vip進行測試便可;