LVS集羣類型之TUN 隧道

 

LVS負載均衡之TUN IP隧道html

Virtual Server via IP Tunneling採用的是報文單向重寫的策略,與Virtual Server via NAT不一樣的是NAT採用的是報文雙向重寫的策略,數據報文通過調度器的時候就會將地址和端口改成Real Server的真實地址以及相應的端口,而當相應報文返回時,則反之。而LVS-TUN若是在二層,就在MAC以外再加一層MAC,在三層源IP目標IP再加一層IP,主要實現隱藏以及跨區域。web

 

     TUN隧道主要實現的是非同一區域的節點集羣,突破了DR(節點與Director 同一區域,由於其主要靠MAC地址進行局域網的數據報文轉發)的區域限制。後端

   如下是它的特色:bash

   

      

1.集羣節點和Director沒必要在同一個網絡網絡

2.RIP必須使用公網地址負載均衡

3.Director只須要處理進來的請求,不須要處理出去的請求(與DR原理同樣,直接將響應發給客戶端)curl

4.響應的請求必定不能通過Direcor.(在互聯網的其餘節點)編輯器

5.Directory不支持端口映射ide

6.只能使用那些支持IP 隧道協議的操做系統作realserver測試

 

 

1,實驗環境:

負載均衡器: eth0:192.168.1.16  vip: 192.168.1.17

後端WEB1192.168.1.19

後端WEB2192.168.1.20

2,建立LVS TUN模式啓動腳本

[root@localhost ~]# vi /etc/init.d/lvsdstun

#!/bin/bash

VIP=192.168.1.17

RIP1=192.168.1.19

RIP2=192.168.1.20

/etc/rc.d/init.d/functions

case "$1" in

start)

 echo "start LVS of DirectorServer Tun"

 /sbin/ifconfig tunl0 $VIP broadcast $VIP netmask 255.255.255.255 up

 /sbin/route add -host $VIP dev tunl0

 /sbin/ipvsadm -C

 /sbin/ipvsadm -A -t $VIP:80 -s rr

 /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -i###-i指定工做模式爲TUN

 /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -i

 /sbin/ipvsadm

;;

stop)

 echo "stop LVS of DirectorServer Tun"

 /sbin/ifconfig tunl0 down

 /sbin/ipvsadm -C

 ;;

*)

 echo "Usage: $0 {start|stop}"

 exit 1

esac

[root@localhost ~]# chmod +x /etc/rc.d/init.d/lvsdsdr

[root@localhost ~]# /etc/rc.d/init.d/lvsdsdr start

[root@localhost ~]# ifconfig tunl0

tunl0 Link encap:IPIP Tunnel HWaddr

 inet addr:192.168.1.17 Mask:255.255.255.255

 UP RUNNING NOARP MTU:1480 Metric:1

 RX packets:0 errors:0 dropped:0 overruns:0 frame:0

 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

 collisions:0 txqueuelen:0

 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

3, web1,web2分別建立啓動腳本

[root@localhost ~]# vi /etc/init.d/lvsrstun

#!/bin/bash

VIP=192.168.1.17

/etc/rc.d/init.d/functions

case "$1" in

start)

 echo "start LVS of RealServer Tun"

 /sbin/ifconfig tunl0 $VIP broadcast $VIP netmask 255.255.255.255 up

 /sbin/route add -host $VIP 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                   ----------echo的內容也能夠用vi編輯器修改

 ;;

stop)

 echo "close LVS of RealServer Tun"

 /sbin/ifconfig tunl0 down

 echo "0" >/proc/sys/net/ipv4/conf/tunl0/arp_ignore

 echo "0" >/proc/sys/net/ipv4/conf/tunl0/arp_announce

 echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce

 ;;

*)

 echo "Usage: $0 {start|stop}"

 exit 1

esac

exit 0

[root@localhost ~]# chmod +x /etc/rc.d/init.d/lvsrsdr

[root@localhost ~]# /etc/rc.d/init.d/lvsrsdr start

[root@localhost ~]# ifconfig tunl0

tunl0 Link encap:IPIP Tunnel HWaddr

 inet addr:192.168.1.17 Mask:255.255.255.255

 UP RUNNING NOARP MTU:1480 Metric:1

 RX packets:15 errors:0 dropped:0 overruns:0 frame:0

 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

 collisions:0 txqueuelen:0

 RX bytes:1890 (1.8 KiB) TX bytes:0 (0.0 b)

 

4web1,web2分別修改首頁,啓動http服務

 

[root@localhost ~]# vi /var/www/html/index.html

web1 192.168.1.19 ###web1

web2 192.168.1.20 ###web2

[root@localhost ~]# /etc/init.d/httpd start

5,終端及WEB測試

[root@localhost ~]# for i in $(seq 1 10);do curl http://192.168.1.17;done

web2 192.168.1.20

web1 192.168.1.19

web2 192.168.1.20

web1 192.168.1.19

web2 192.168.1.20

web1 192.168.1.19

web2 192.168.1.20

web1 192.168.1.19

web2 192.168.1.20

web1 192.168.1.19

LVS-TUN模式實驗

6lvs查看訪問鏈接

[root@localhost ~]# ipvsadm -lnc

IPVS connection entries

pro expire state sourcevirtual destination

TCP 01:24 FIN_WAIT 192.168.1.10:34526 192.168.1.17:80 192.168.1.19:80

TCP 01:25 FIN_WAIT 192.168.1.10:34532 192.168.1.17:80 192.168.1.19:80

TCP 01:25 FIN_WAIT 192.168.1.10:34531 192.168.1.17:80 192.168.1.20:80

TCP 01:25 FIN_WAIT 192.168.1.10:34534 192.168.1.17:80 192.168.1.19:80

TCP 01:24 FIN_WAIT 192.168.1.10:34525 192.168.1.17:80 192.168.1.20:80

TCP 01:25 FIN_WAIT 192.168.1.10:34528 192.168.1.17:80 192.168.1.19:80

TCP 01:25 FIN_WAIT 192.168.1.10:34527 192.168.1.17:80 192.168.1.20:80

TCP 01:25 FIN_WAIT 192.168.1.10:34530 192.168.1.17:80 192.168.1.19:80

TCP 01:25 FIN_WAIT 192.168.1.10:34533 192.168.1.17:80 192.168.1.20:80

TCP 01:25 FIN_WAIT 192.168.1.10:34529 192.168.1.17:80 192.168.1.20:80

相關文章
相關標籤/搜索