多个 IP 对应单个接口

多个 IP 对应单个接口

我正在使用 openstack,但我认为这是一个更普遍的问题。实际上我有一个带有 1 个 IP 地址的专用 IP 地址,我又买了一个,并使用 openstack 的 nova-manage cli 添加。

所以现在这就是我得到的

$ ip addr
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:30:48:fc:4c:92 brd ff:ff:ff:ff:ff:ff
    inet 188.165.x.x/24 brd 188.165.225.255 scope global eth0
    inet 94.23.x.x/32 scope global eth0
    inet6 fe80::230:48ff:fefc:4c92/64 scope link
    valid_lft forever preferred_lft forever

因此看起来两个 IP 都绑定到了 eth0,问题是我没有收到目标设置为 94.23.xx 的数据包,当我运行 tcpdump -i eth0 时,我看见发往两个 IP 的数据包,当我运行 tcpdump -p -i eth0 时,所以不是在混杂模式下,我只看见发往第一个 IP 的数据包,所以 dnat 和我需要的将不起作用。

如果我尝试 ping 主机上的 94.23.xx,则工作正常,但从外部 ping 则会超时。

任何想法?

此致

编辑:

$ ip route
default via 188.165.x.254 dev eth0  metric 100 
188.165.x.0/24 dev eth0  proto kernel  scope link  src 188.165.x.x 
192.168.3.0/24 dev br100  proto kernel  scope link  src 192.168.3.1 
192.168.4.32/27 dev br100  proto kernel  scope link  src 192.168.4.33 
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1

答案1

您能否检查一下在混杂模式下 tcpdump 中接收的数据包的目标 MAC 地址是什么?

如果其目标 MAC 不正确:00:30:48:fc:4c:92 - 您存在 IP 冲突,应联系您的提供商。

如果正确,则说明您这边存在问题,例如错误的 NIC、IP、内核设置,也许是错误的网络掩码或路由问题。

答案2

您的第二个 IP 设置了 /32 网络掩码。这几乎会阻止它执行任何操作,除非您尝试将其作为环回托管(并且您的上游正在将其路由给您)。

您的提供商应该已经为您提供了您购买的第二个地址的子网掩码。设置完成后,您的系统应该能够 ping 通该 94.23.xx 子网中的其他主机。

相关内容