LVS的DR模式中Real Server接受到的包的IP地址是VS的,是怎么实现防止Real Server丢弃该包的?

DR 模式通过修改数据包的 MAC 头发送给后端服务器,但是如果后端服务器收到包但是发现接受 IP 地址不是自己,不是应该丢弃包吗? 通过什么手段让后端服务器接受并处理该包?

阅读 2.2k
2 个回答

DR模式下RS也是需要绑定vip的,一般绑定在localhost上,同时需要设置arptables相关内容,不响应vip的arp请求。
这样RS上收到vip的请求,也是不会丢弃的

RS绑定vip设置:

ifconfig lo:0 172.16.206.110 netmask 255.255.255.255 broadcast 172.16.206.110

抑制ARP配置如下:

# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore   
# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce 
# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore       
# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

参考链接

rs上也需要配置vip,一般都是配置在lo上,然后设置禁止arp响应,这样请求过来的时候rs会发现本机上有这个地址

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题