如何在 Azure Linux VM、Centos 6.6 上启用 Ping - 我知道我们可以在 Windows VM 上启用此功能,但如何对 Linux VM 执行此操作?
谢谢。
答案1
从 Azure VM Ping 外部地址 - 不起作用,因为 Azure 不允许出站 ICMP
从外部地址 Ping Azure VM - 不起作用,因为 Azure 不允许入站 ICMP
使用内部 IP(DIP)在 Azure VM 之间进行 Ping - 可以工作,但必须配置来宾操作系统防火墙以允许它,因为默认情况下 ICMP 被来宾阻止。
通过 Azure Connect(点对点 IPSec VPN 隧道)或虚拟网络网关(站点到站点 IPSec VPN 隧道)在 Azure VM 和本地之间进行 ping 操作 - 可以工作,但必须配置来宾操作系统防火墙以允许它,因为默认情况下 ICMP 被来宾阻止。
作为使用 ICMP 执行 ping 的替代方法,您可以尝试使用 TCPing、PortQuery 或 NMap 等工具访问特定 TCP 端口来验证连接性。只要您为尝试访问的端口打开了终结点,并且来宾防火墙允许它并且有东西正在侦听该端口,这些工具就会在 Azure VM 的入站中工作。对于 Azure Connect 和虚拟网络网关,您不需要终结点,因为您正在通过 VPN 隧道进行通信,但来宾防火墙仍需要允许您测试的端口,并且需要有东西正在侦听该端口。
- 归功于克雷格·兰迪斯回答
答案2
Azure 默认使用网络安全组阻止 ICMP 流量。要启用此功能,您需要创建一条特殊规则。出于安全原因,Azure 不允许来自互联网的 ICMP
以下是一些如何操作的示例:
http://setspn.blogspot.com.es/2015/08/azure-quick-tip-block-or-allow-icmp.html
答案3
无需执行任何操作即可启用默认情况下发生的 ping 回复。
如果目标主机没有收到 ICMP(ping)回复,这实际上意味着它们在途中某处被阻止了。这种情况可能发生在任一方向的任何时候,但最常发生在虚拟机的防火墙上。
因此,您应该通过禁用防火墙来确认虚拟机的防火墙是否阻止了 ping。如果可行,您只需重新激活它并添加一条规则以允许它。
如果禁用虚拟机的防火墙后仍无法响应 ICMP 请求,则应使用traceroute
(或tracert
在 Windows 上)查看收到回复的时间点,并调查虚拟机 IP 之前的两个跳数。此时,它可能会被虚拟机的主机防火墙阻止。
答案4
我能够从运行 Ubuntu 18 LTS 的 Azure VM 进行开箱即 ping 操作,但无法从外部位置 ping 到 VM。
我查看了一下,发现 Azure 禁用了入站 ICMP ping 请求。他们正在考虑启用它——或者至少允许从其门户的“网络”下启用它