lvs-dr模型中:vip与dip/rip不在同一网段的实验环境设计及配置实现
实验拓扑:
提示:在路由器的内网IP接口上配置一个别名IP,此IP同VIP在同一网段
设计要点:
VS上的VIP地址可以直接配置在DIP地址所在的网卡上,Linux主机上,一块网卡可以配置多个地址
RS上的VIP地址必须配置在lo接口上,并且还要关闭arp的响应和通告功能
外网接口:10.1.43.101
内网接口:172.16.0.1 172.16.10.1
VIP:172.16.1.10
DIP:172.16.0.9
RIP-1:172.16.0.2
RIP-2:172.16.0.3
dr模型中,各主机上均需要配置VIP,解决地址冲突的方式有三种
(1) 在前端网关做静态绑定
(2) 在各RS使用arptables
(3) 在各RS修改内核参数,来限制arp响应和通告的级别
限制响应级别:arp_ignore
0:默认值,表示可使用本地任意接口上配置的任意地址进行响应
1: 仅在请求的目标IP配置在本地主机的接收到请求报文接口上时,才给予响应
限制通告级别:arp_announce
0:默认值,把本机上的所有接口的所有信息向每个接口上的网络进行通告
1:尽量避免向非直接连接网络进行通告
2:必须避免向非本网络通告
路由器上的配置:
[root@node4 ~]# ifconfig eno16777736 10.1.43.101/16 up [root@node4 ~]# ifconfig eno33554984 172.16.0.1/24 up
[root@node4 ~]# ifconfig eno33554984:0 172.16.1.1/24 up //配置一个别名,用于同VS主机上的VIP进行通信
[root@node4 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward [root@node4 ~]# iptables -t nat -A PREROUTING -d 10.1.43.101 -p tcp --dport 80 -j DNAT --to-destination 172.16.1.10:80
RS1上配置:
[root@node1 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore [root@node1 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore [root@node1 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce [root@node1 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce [root@node1 ~]# ifconfig lo:0 172.16.1.10 netmask 255.255.255.255 broadcast 172.16.1.10 up [root@node1 ~]# yum -y install httpd [root@node1 ~]# service httpd start [root@node1 ~]# cd /var/www/html [root@node1 www]# vim index.html <h1>172.16.0.2</h1>
RS2上配置:
[root@node2 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore [root@node2 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore [root@node2 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce [root@node2 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce [root@node2 ~]# ifconfig lo:0 172.16.1.10 netmask 255.255.255.255 broadcast 172.16.1.10 up [root@node2 ~]# yum -y install httpd [root@node2 ~]# service httpd start [root@node2 ~]# cd /var/www/html [root@node2 www]# vim index.html <h1>172.16.0.3</h1>
VS上配置:
[root@node3 ~]# ifconfig eth0:0 172.16.1.10 netmask 255.255.255.255 broadcast 172.16.1.10 up [root@node3 ~]# ipvsadm -C [root@node3 ~]# ipvsadm -A -t 172.16.1.10:80 -s rr [root@node3 ~]# ipvsadm -a -t 172.16.1.10:80 -r 172.16.0.2 -g [root@node3 ~]# ipvsadm -a -t 172.16.1.10:80 -r 172.16.0.3 -g
实验结果:
原创文章,作者:megedugao,如若转载,请注明出处:http://www.178linux.com/56167