一、DR模式:直接路由模式:Virtual Server via Direct Routing)
DR模式是通过改写请求报文的目标MAC地址,将请求发给真实服务器的,而真实服务器响应后的处理结果直接返回给客户端用户。同TUN模式一样,
DR模式可以极大的提高集群系统的伸缩性。而且DR模式没有IP隧道的开销,对集群中的真实服务器也没有必要必须支持IP隧道协议的要求。但是要求调度器LB与真实服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局域网环境。DR模式是互联网使用比较多的一种模式。
注:LB机器,VIP绑定在主网卡的子接口,应用主机的VIP绑定在lo网卡的子接口上
修改 /etc/sysctl.conf
LB机器配置,关闭网卡重定向功能:
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
客户端网关设置:
route add -host 120.10.10.100 dev lo:0
1
负载机规则设置:
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
保存规则:
ipvsadm --save > /etc/sysconfig/ipvsadm
1
二、NAT模式
关闭NetworkManager,开启ipv4路由转发
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
1
2
LB机器设置iptables规则
# 设置规则
iptables -t nat -A POSTROUTING -s 120.10.10.0/24 -o ens37 -j SNAT --to-source 192.168.43.200
# 内网网段地址 出口:内网网卡 源地址:外网地址
# CentOS7 保存
iptables-save > /etc/sysconfig/iptables-config
1
2
3
4
5
ipvsadm设置
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
保存规则:
ipvsadm-save > /etc/sysconfig/ipvsadm
1
最后,Web应用机器需要设置网关到LB机器的内网地址