![IP 别名在 Azure Linux 虚拟机中不起作用](https://linux22.com/image/1508035/IP%20%E5%88%AB%E5%90%8D%E5%9C%A8%20Azure%20Linux%20%E8%99%9A%E6%8B%9F%E6%9C%BA%E4%B8%AD%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
在 Microsoft Azure 环境中运行的 Ubuntu 16.04 VM 上已设置 IP 别名。eth0分配的接口为 192.168.0.6。IP 已分配给虚拟接口eth0:0是 192.168.0.7。但是虚拟接口 eth0:0(192.168.0.7) 的 IP 地址无法从同一子网中的其他 VM ping 通或访问。虚拟机是经典 VMS。
请让我知道我该如何使其正常工作,或者这是 Azure 的限制。
答案1
抱歉回复晚了。我一直在实验室里测试这个。
简单来说,IP 别名可能无法在 Azure 上运行。最类似的解决方法是部署具有两个 NIC 的 VM。
实际上,如果您尝试在虚拟机上执行网络捕获,您会发现具有辅助 IP 地址的虚拟机能够发送数据包。但没有入站流量,因为 Azure 不知道辅助地址。
此屏幕截图是在同一子网中启用了 IP 别名的机器的虚拟机上捕获的。10.0.15.10 是主地址,10.0.15.101 是辅助地址。
根据上面的截图,网关处理所有网络流量(包括同一子网内的通信)。这就是辅助 IP 地址不起作用的根本原因。网关会回答任何 ARP 请求。但网关不知道辅助 IP,因此无法回复辅助 IP 地址的 ARP 请求。
因此我尝试将辅助 IP 配置添加到 NIC,但默认情况下不支持。
根据错误信息,我们需要注册一个名为“AllowMultipleIpConfigurationsPerNic”的新功能。
当我运行命令来注册此功能时,它停留在 Pending 状态。两天后,它仍然处于 Pending 状态。
因此,总而言之,您可能需要部署具有两个 NIC 的 VM 作为解决方法。
希望这些信息有帮助。