我目前正在尝试用N个服务器创建一个安装程序,其中一个服务器是虚拟IP的主服务器,(N-1)服务器充当备份,大概是由keepalived控制的。但是,我在keepalived中看到的一个问题是,它的目的是将虚拟IP地址(1.2.3.4)绑定到我指定的任何接口(让我们称之为eth0)。
相反,我打算做的是在eth0上为1.2.3.4创建一个代理-ARP条目。这样,流向1.2.3.4的流量到达eth0,并且由于主机上允许ip_forwarding,主机上的路由表条目将转发到虚拟接口进行进一步处理。
这个用例在keepalived中支持吗?我确实让这个设置在ucarp中正常工作,但这主要是因为ucarp有vip-up和vip-down脚本的概念,在这里我可以插入自定义命令来创建代理ARP条目并发送GARP。
发布于 2020-12-03 14:52:35
你为什么想要这个?据我所知,它不受支持,因为VRRP协议需要能够在同一子网上的所有参与主机之间进行对话。
如果您想要在多个服务器之间共享虚拟IP地址,并且希望将其附加到回送接口,则应该查看anycast路由。在您的服务器和路由器(例如OSPF或BGP)上运行路由协议,让每个服务器广告相同的IP地址,并根据您想要的任何内容制作停止/开始发布共享虚拟IP地址广告的脚本,例如服务停止(例如Apache崩溃)或服务器丢失/获取与后端数据库的连接等。
https://serverfault.com/questions/1017361
复制相似问题