虚拟机实例无法通过浮动 IP 访问

虚拟机实例无法通过浮动 IP 访问

我有一个开放堆栈 VM 实例,其中有两个 NIC 从同一子网添加。两个 NIC 都配置为 DHCP。当我启动 VM 实例时,它会在每个接口上获取一个 DHCP IP。我可以从同一网络上的其他 VM 实例 ping 此 VM 实例,也可以从此 VM 实例内部 ping 其他 VM。当我将浮动 IP 分配给其中一个接口时,就会出现问题。如果将浮动 IP 分配给具有默认网关的接口,我就可以从浮动 IP 访问 VM。

我有两个接口 eth0 和 eth1,并且分配了私有 DHCP IP

[#] ifconfig|egrep "Link encap|inet addr"
eth0      Link encap:Ethernet  HWaddr FA:16:3E:44:CA:E5
          inet addr:10.0.0.13  Bcast:10.0.0.255  Mask:255.255.255.0

eth1      Link encap:Ethernet  HWaddr FA:16:3E:DA:95:C5
          inet addr:10.0.0.155  Bcast:10.0.0.255  Mask:255.255.255.0

以下是路由表:

[#] netstat -ar
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.0.0.0        *               255.255.255.0   U         0 0          0 eth0
10.0.0.0        *               255.255.255.0   U         0 0          0 eth1
link-local      *               255.255.0.0     U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth1
default         host-10-0-0-1.s 0.0.0.0         UG        0 0          0 eth1

如果我将某个浮动 IP 与私有 IP“10.0.0.155”(分配给 eth1)关联,并且默认网关也配置为 eth1 之外,如上面的路由表所示,那么我就可以通过浮动 IP 访问 VM。但是,如果我将浮动 IP 与私有 IP“10.0.0.13”(分配给 eth0)关联,那么我就无法通过浮动 IP 访问 VM。现在,如果我删除此默认路由并添加具有相同网关的新路由,但这次使用接口 eth0。然后,在将浮动 IP 与 IP“10.0.0.13”(分配给 eth0)连接时,我可以访问 VM,但如果我将浮动 IP 分配给私有 IP“10.0.0.1155”(分配给 eth1),则现在无法访问 VM。

相关内容