我有一个在 10.0.0.x 上运行的虚拟私有云。在这个网络中,两台机器共享一个虚拟 IP,以提供 HA 并通过 aaa.bbb.ccc.164 连接到互联网。配置如下:
代理1:
eth0:0 inet addr:aaa.bbb.ccc.164 Bcast:aaa.bbb.ccc.255 Mask:255.255.255.0
eth1 inet addr:10.0.0.10 Bcast:10.0.0.255 Mask:255.255.255.0
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 aaa.bbb.ccc.1 0.0.0.0 UG 100 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
aaa.bbb.ccc.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
代理2:
eth0 Link encap:Ethernet HWaddr da:00:07:b0:97:c7
inet addr:aaa.bbb.ccc.26 Bcast:aaa.bbb.ccc.255 Mask:255.255.255.0
eth1 Link encap:Ethernet HWaddr aa:01:41:b0:97:c7
inet addr:10.0.0.50 Bcast:10.0.0.255 Mask:255.255.255.0
在此示例中,Proxy1 拥有虚拟 IP。
因此,在这些代理背后,存在着几台服务器。此时默认网关静态配置为 Proxy2,但当其中一个不可用时,互联网就无法访问。
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.50 0.0.0.0 UG 100 0 0 eth1
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
因此,我希望它们通过虚拟 IP 地址路由到外部世界。实现此目的的最佳方法是什么?
答案1
您使用什么来管理另一侧的虚拟 IP(.164)?您不能在 10.XXX 侧使用相同的机制来为服务器创建虚拟默认网关吗?唯一稍微棘手的部分是确保在虚拟 IP 从一个代理切换到另一个代理(例如 NIC 上的网络故障)的情况下,另一个网络上的虚拟 IP 也会切换。– Jeremy Gibbons 1 月 31 日 10:25
这就是对我有用的窍门。