lvs-nat
lvs-nat
本質(zhì)是多目標(biāo)IP的DNAT,通過將請求報(bào)文中的目標(biāo)地址 和目標(biāo)端口修改為某挑出的RS的RIP和PORT實(shí)現(xiàn)轉(zhuǎn)發(fā)
(1)RIP和DIP必須在同一個IP網(wǎng)絡(luò),且應(yīng)該使用私網(wǎng) 地址;RS的網(wǎng)關(guān)要指向DIP
(2)請求報(bào)文和響應(yīng)報(bào)文都必須經(jīng)由Director轉(zhuǎn)發(fā), Director易于成為系統(tǒng)瓶頸
(3)支持端口映射,可修改請求報(bào)文的目標(biāo)PORT
(4)VS必須是Linux系統(tǒng),RS可以是任意OS系統(tǒng)
實(shí)驗(yàn)原理:
外網(wǎng)客戶端訪問VS服務(wù)器,VS根據(jù)請求報(bào)文的目標(biāo)IP和目標(biāo)協(xié)議即端口將其調(diào)度轉(zhuǎn)發(fā)至某RS,根據(jù)調(diào)度算法來挑選RS,被挑選的RS根據(jù)請求報(bào)文將相應(yīng)數(shù)據(jù)通過VS回應(yīng)轉(zhuǎn)發(fā)至外網(wǎng)客戶端.
實(shí)驗(yàn)拓?fù)洌?/p>

實(shí)驗(yàn)環(huán)境:
A:VS服務(wù)器
外網(wǎng)ip:172.16.250.107
私網(wǎng)地址:192.168.227.107
網(wǎng)卡啟用:僅主機(jī),橋接
B:外網(wǎng)客戶端
外網(wǎng)地址:172.16.250.105
網(wǎng)卡啟用:橋接
C:RS1
私網(wǎng)地址:192.168.227.106
網(wǎng)卡啟用:僅主機(jī)
D:RS2
私網(wǎng)地址:192.168.227.105
網(wǎng)卡啟用:僅主機(jī)
實(shí)驗(yàn)步驟:
1、關(guān)閉A、B、C、D主機(jī)上的防火墻和SELinux配置
iptables -vnL
iptables -F
systemctl stop firewalld(centos 7)
chkconfig iptables off(centos 6)
getenforce
setenforce 0
vim /etc/selinux/config
SELINUX=disable
2、將RS1和RS2的默認(rèn)路由指向VS服務(wù)器的僅主機(jī)網(wǎng)卡
C、D
route add default gw 192.168.227.107
route -n 查看
3、啟動VS服務(wù)器和RS1、RS2上的http服務(wù)設(shè)置默認(rèn)網(wǎng)頁
systemctl restart httpd (centos7)
service httpd restart (centos6)
vim /var/www/html/index.html
其中VS默認(rèn)網(wǎng)頁為:
VS SERVER
RS1默認(rèn)網(wǎng)頁為:
RS1 SERVER
RS2默認(rèn)網(wǎng)頁為:
RS2 SERVER
4、VS服務(wù)器上安裝ipvsadm包,設(shè)置路由轉(zhuǎn)發(fā)功能,并配置調(diào)度算法為輪詢的lvs-nat
yum -y install ipvsadm
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
輪詢
ipvsadm -A -t 172.16.250.107:80 -s rr
ipvsadm -a -t 172.16.250.107:80 -r 192.168.227.106 -m
ipvsadm -a -t 172.16.250.107:80 -r 192.168.227.105 -m
5、用外網(wǎng)客戶端進(jìn)行測試
curl 172.16.250.107
ab -c 100 -n 10000 http://172.16.250.107/
6、VS服務(wù)器修改配置調(diào)度算法為加權(quán)輪詢的lvs-nat
ipvsadm -E -t 172.16.250.107:80 -s wrr
ipvsadm -e -t 172.16.250.107:80 -r 192.168.227.106 -m -w 2
ipvsadm -e -t 172.16.250.107:80 -r 192.168.227.105 -m -w 3
7、用外網(wǎng)客戶端進(jìn)行測試
curl 172.16.250.107
ab -c 100 -n 10000 http://172.16.250.107/
VS服務(wù)器
信息數(shù)據(jù)的查看
ipvsadm -Ln 當(dāng)前IPVS設(shè)置
ipvsadm -Lnc 當(dāng)前IPVS連接輸出
ipvsadm -Ln --stats 連接統(tǒng)計(jì)信息
ipvsadm -Ln --rate 輸出速率信息
ipvs規(guī)則:/proc/net/ip_vs
ipvs連接:/proc/net/ip_vs_conn