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进行测试便可;