[root@dev-2 lvs]#vim /etc/sysctl.conf
[root@dev-2 lvs]# sysctl -p
net.ipv4.ip_forward = 1 #打开路由转发
net.ipv4.conf.all.arp_ignore = 1 #只回答目的IP为本网口IP地址的arp包的请求
net.ipv4.conf.all.arp_announce = 2 #对查询目标使用最适当的本机地址
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
上面的 arp_ignore 和 arp_announce 参见 lvs arp设置
五、使用客户端进行访问
此时使用客户端访问 , 请求会被转发到RS1或者RS2上。
问题排查
在搭建的时候,可能出现 无法访问,即HTTP请求没有被转发的情况。这种情况可以从以下情况中进行排查:
1. 负载均衡服务器 防火墙是否关闭,或者是否允许80端口的tcp连接
2. RS1 和 RS2 的http配置中是否设置 Listen 80(监听本机上的所有地址,如果只监听机器的网卡地址,而虚拟ip包就会被忽略)
3. 如果在负载均衡服务器上没有设置VIP,只有一个IP地址 10.10.10.22/24,这样也可以配置出来。但是此时,当负载均衡服务器要向 10.10.10.31和10.10.10.32转发时,它需要知道它们的MAC地址,于是会发送ARP请求报文,当RS1或RS2收到ARP,它进行回复的时候发现请求报文的源IP为10.10.10.22 于是直接发到本机了,就不会回复给负载均衡服务器。于是负载均衡服务器就没法动态获知RS1和RS2的MAC地址。
此时,只能手动在负载均衡服务器上设置arp。 arp -s...
而且这样做也会导致从负载均衡服务器上不能直接访问RS1/RS2,同样RS1/RS2也不能直接访问负载均衡服务器。所以,还是需要在负载均衡服务器上配置一个eth0和一个虚拟IP eth0:0.