一、DR模式:直接路由模式:Virtual Server via Direct Routing)
DR模式是通過改寫請求報文的目標(biāo)MAC地址,將請求發(fā)給真實服務(wù)器的,而真實服務(wù)器響應(yīng)后的處理結(jié)果直接返回給客戶端用戶。同TUN模式一樣,
DR模式可以極大的提高集群系統(tǒng)的伸縮性。而且DR模式?jīng)]有IP隧道的開銷,對集群中的真實服務(wù)器也沒有必要必須支持IP隧道協(xié)議的要求。但是要求調(diào)度器LB與真實服務(wù)器RS都有一塊網(wǎng)卡連接到同一物理網(wǎng)段上,必須在同一個局域網(wǎng)環(huán)境。DR模式是互聯(lián)網(wǎng)使用比較多的一種模式。
注:LB機器,VIP綁定在主網(wǎng)卡的子接口,應(yīng)用主機的VIP綁定在lo網(wǎng)卡的子接口上
修改 /etc/sysctl.conf
LB機器配置,關(guān)閉網(wǎng)卡重定向功能:
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens37.send_redirects = 0
1
2
3
客戶機ARP配置:
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
1
2
3
4
5
6
客戶端網(wǎng)關(guān)設(shè)置:
route add -host 120.10.10.100 dev lo:0
1
負(fù)載機規(guī)則設(shè)置:
ipvsadm -A -t 120.10.10.100:80 -s rr
ipvsadm -a -t 120.10.10.100:80 -r 120.10.10.11:80 -g
ipvsadm -a -t 120.10.10.100:80 -r 120.10.10.12:80 -g
1
2
3
保存規(guī)則:
?ipvsadm --save > /etc/sysconfig/ipvsadm
1
二、NAT模式
關(guān)閉NetworkManager,開啟ipv4路由轉(zhuǎn)發(fā)
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
1
2
LB機器設(shè)置iptables規(guī)則
# 設(shè)置規(guī)則
iptables -t nat -A POSTROUTING -s 120.10.10.0/24 -o ens37 -j SNAT --to-source 192.168.43.200
# 內(nèi)網(wǎng)網(wǎng)段地址 ? ? ? ? ? ? ? ? ? ? ? ?出口:內(nèi)網(wǎng)網(wǎng)卡 ? ? ? ? ? ? ? ? ? ? ? ? 源地址:外網(wǎng)地址
# CentOS7 保存
iptables-save > /etc/sysconfig/iptables-config
1
2
3
4
5
ipvsadm設(shè)置
ipvsadm -A -t 192.168.43.200:80 -s rr
ipvsadm -a -t 192.168.43.200:80 -r 120.10.10.11:80 -m
ipvsadm -a -t 192.168.43.200:80 -r 120.10.10.12:80 -m
1
2
3
保存規(guī)則:
?ipvsadm-save > /etc/sysconfig/ipvsadm
1
最后,Web應(yīng)用機器需要設(shè)置網(wǎng)關(guān)到LB機器的內(nèi)網(wǎng)地址