lvs實現持久連接

    先說說lvs的持久連接能幹什麼:無論你選擇lvs的何種轉發策略,如果你想確定來自某一個客戶端的所有連接均返回到同一臺real server,就需要LVS的持久連接了。經常用於SSL,建立一個SSL連接需要交換SSL密鑰,當啓用持久性連接時,只需要做一次驗證即可。

顯然LVS持久連接的定義也就知道了:某一個週期(時間段)之內,來自於同一個用戶的請求,都轉向同一個real-server

持久連接模板:

    當使用LVS持久連接時,分發器使用一個連接跟蹤(持久連接模板)使所有來自同一客戶端的連接被標記爲相同的real server;而當客戶端向集羣服務器請求連接時,分發器(director)會查看持久連接模板,是否real server已經被標記爲這種類型的連接,若沒有,director重新爲每次連接創建一個正常連接的跟蹤記錄表(持久連接模板)。

持久連接超時:

我們可以在director使用ipvsadm爲持久連接模板規定一個具體的時間段,如果記數器歸零,而且是激活狀態(客戶端一直在和real server通信),不管你設置的持久連接時長是多少,記錄器將會重置一個默認值2分鐘,並開始計數,下降爲零後,再開始再一下重置。

持久連接類型:

PCCpersistent client connections):持久的客戶端連接,也叫做零端口的持久連接;

PPCpersistent port connections):持久的端口連接,一個持久端口連接到同一個real server強制所有從客戶端計算機的連接爲一個特定的目的端口號

Persistent Netfilter Marked Packet persistence:基於防火牆標記的持久性連接,這種防火牆標記僅在數據包在分發器上時有影響,數據包一旦離開director,就不再被標記。

 案例示意拓撲:

案例1 ppc

director配置:

ipvsadm  -At 192.168.2.254:0 -s rr -p

ipvsadm  -at 192.168.2.254:0 -t 192.168.2.10 -g

ipvsadm  -at 192.168.2.254:0 -t 192.168.2.10 -g

service ipvsadm save    //保存配置

service ipvsadm start   //啓動服務

server1server2同:

[root@smb html]# echo 1 >  /proc/sys/net/ipv4/conf/lo/arp_ignore

[root@smb html]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

[root@smb html]# echo 1 >  /proc/sys/net/ipv4/conf/all/arp_ignore

[root@smb html]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

# ifconfig lo:0 192.168.2.254 netmask 255.255.255.255    配置迴環接口

# route add -host 192.168.2.254 dev lo:0               添加默認路由

案例2ppc

#ipvsadm -C    //清除ipvsadm規則表

#ipvsadm -At 192.168.2.254:80 -s rr -p 1800     //80端口

# ipvsadm -at 192.168.2.254:80 -r 192.168.2.20 -g

# ipvsadm -At 192.168.2.254:3306 -s rr -p 1800   

# ipvsadm -at 192.168.2.254:3306 -r 192.168.2.10 -g

 

# ipvsadm -At 192.168.2.254:22 -s rr -p       //22端口,使用默認時間360秒

# ipvsadm -at 192.168.2.254:22 -r 192.168.2.10 -g 

# ipvsadm -At 192.168.2.254:80 -s rr -p

# ipvsadm -at 192.168.2.254:80 -r 192.168.2.20 -g

#service ipvsadm save    //保存配置

#service ipvsadm start   //啓動服務

 

可通過ipvsadm -Ln來查看策略匹配情況,

 

案例3: ftp持久連接,防火牆標記

#ipvsadm -C     //清除ipvsadm規則表

# iptables -t mangle -A PREROUTING -d 192.168.2.254 -p tcp --dport 21 -j  MARK --set-mark 10

# iptables -t mangle -A PREROUTING -d 192.168.2.254 -p tcp --dport 10000:20000 -j  MARK --set-mark 10 

# ipvsadm  -A -f  10 -s rr -p 1800

# ipvsadm -a -f 10 -r 192.168.2.10 -g

# ipvsadm -a -f 10 -r 192.168.2.20 -g 

#service ipvsadm save    //保存配置

#service ipvsadm start   //啓動服務

 

案例4:http與https

#iptables -t mangle -A PREROUTING -d 192.168.2.254 -p tcp --dport 80 -j  MARK --set-mark 80

#iptables -t mangle -A PREROUTING -d 192.168.2.254 -p tcp --dport 443 -j  MARK --set-mark 80

#ipvsadm -C

# ipvsadm  -A -f  80 -s rr -p 300     //修改時間爲300

# ipvsadm -a -f 80 -r 192.168.2.10 -g   

# ipvsadm -a -f 80 -r 192.168.2.20 -g

#service ipvsadm save    //保存配置

#service ipvsadm start   //啓動服務

 

對於ca的配置略,

實驗結束。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章