我目前正在尝试创建一个包含 N 个服务器的设置,其中 1 个服务器是虚拟 IP 的主服务器,而 (N-1) 个服务器充当备份服务器,大概由 控制keepalived
。但是,我发现的一个问题keepalived
是,它的意图是将虚拟 IP 地址 ( 1.2.3.4
) 绑定到我指定的任何接口(我们称之为eth0
)。
我打算做的是,为 创建一个 Proxy-ARP 条目eth0
。1.2.3.4
这样,前往 的流量1.2.3.4
就会到达eth0
,并且由于ip_forwarding
我的主机允许,因此主机上的路由表条目会将它们转发到虚拟接口进行进一步处理。
在 中是否支持此用例keepalived
?我确实使用 使此设置正常工作ucarp
,但这主要是因为具有和脚本ucarp
的概念,我可以在 其中插入自定义命令来创建 Proxy-ARP 条目并发送 GARP。vip-up
vip-down
答案1
你为什么要这样做?据我所知,它不受支持,因为 VRRP 是一种需要能够在同一子网上所有参与主机之间进行通信的协议。
如果您想在多台服务器之间共享虚拟 IP 地址,并且希望将其连接到环回接口,则应考虑任播路由。在您的服务器和路由器上运行路由协议(例如 OSPF 或 BGP),让每台服务器通告相同的 IP 地址,并根据您想要的任何情况(例如服务停止(例如 Apache 崩溃)或服务器失去/获得与后端数据库的连接等)制作停止/开始通告共享虚拟 IP 地址的脚本。