服务器在回环IP上侦听

我有一个梭子鱼负载平衡器和一个VIP,然后转发到一个服务器集群。 这些服务器中的每一个都将VIP添加到回送接口,因为负载均衡器是直接响应服务器的。

我一直在使用这种方法几乎没有问题,但有一天,我需要添加一个额外的IP地址到群集/负载平衡器。 我把它放在负载平衡器之前,我添加了回送接口。

现在的问题是,如果我尝试去public-ip-here:80,但它工作得很好,好像它不是回环? 我可以ssh的IP和任何其他服务。 如果将其添加到我的负载均衡器,并尝试按照我是其他服务器的方式转发它,则它将直接连接到服务器,而不是按预期方式使用负载平衡器。

下面是一个与实际的公共IP编辑接口的例子:

lo:6 Link encap:Local Loopback inet addr:123.123.123.123 Mask:255.255.255.255 UP LOOPBACK RUNNING MTU:16436 Metric:1 

我不知如何解决这个问题,谷歌没有太多的帮助。

听起来就像你使用DR(Driect Routing)模式,你需要处理ARP问题。 您的真实服务器不得向其他networking宣布拥有123.123.123.123 VIP地址。 不同版本的linux以不同的方式作出反应。 看看loadbalancer.org手册的第69页: http : //pdfs.loadbalancer.org/loadbalanceradministrationv7.pdf

所有接口都需要Arp控制,例如:net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.eth0.arp_ignore = 1 net.ipv4.conf.eth1.arp_ignore = 1 net.ipv4.conf.all。 arp_announce = 2 net.ipv4.conf.eth0.arp_announce = 2 net.ipv4.conf.eth1.arp_announce = 2

或者你可能更容易findiptables方法:iptables -t nat -A PREROUTING -p tcp -d 123.123.123.123 -j REDIRECT