Ping在具有公共IP地址的Azure VM上运行良好。 (ping 8.8.8.8
在这种情况下可以正常工作)
但是我无法在只有私有IP地址的Azure VM上执行ping操作。 (在这种情况下,ping 8.8.8.8
没有通过)
这是Azure方面的限制吗?如果是的话,有什么办法可以克服吗?
答案 0 :(得分:0)
这是一个ICMP流量restriction,您可以在VNet内执行ping操作,但是如果您拥有没有公共IP地址的Azure VM,则无法在Azure之外执行ping操作。要测试连接性,建议您执行端口ping操作。当Ping.exe使用ICMP时,其他工具(例如PsPing,Nmap或Telnet)允许您测试到特定TCP端口的连接。阅读更多详细信息here。
即使删除有关此Azure VM的Windows防火墙或NSG,我也进行测试。
尽管您无法ping通,但仍可以像www.google.com
一样在线搜索。实际上,通过此FAQ,VNet中部署的所有服务都可以向外连接到Internet。要了解有关Azure中出站Internet连接的更多信息,请参见Outbound connections。
答案 1 :(得分:0)
ICMP在第3层上工作。当您不将公共IP地址关联到VM时,当它启动到Internet的出站连接时,它将使用伪随机VIP进行SNAT。由于ICMP没有端口,因此平台会丢弃它。
希望这会有所帮助!