如何在 Azure Linux VM 上启用 Ping

如何在 Azure Linux VM 上启用 Ping

如何在 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

http://www.theconsultit.com/blog/2016/11/10/how-to-configure-azure-network-security-group-nsg-rule-for-icmp-traffic/

答案3

无需执行任何操作即可启用默认情况下发生的 ping 回复。

如果目标主机没有收到 ICMP(ping)回复,这实际上意味着它们在途中某处被阻止了。这种情况可能发生在任一方向的任何时候,但最常发生在虚拟机的防火墙上。

因此,您应该通过禁用防火墙来确认虚拟机的防火墙是否阻止了 ping。如果可行,您只需重新激活它并添加一条规则以允许它。

如果禁用虚拟机的防火墙后仍无法响应 ICMP 请求,则应使用traceroute(或tracert在 Windows 上)查看收到回复的时间点,并调查虚拟机 IP 之前的两个跳数。此时,它可能会被虚拟机的主机防火墙阻止。

答案4

我能够从运行 Ubuntu 18 LTS 的 Azure VM 进行开箱即 ping 操作,但无法从外部位置 ping 到 VM。

我查看了一下,发现 Azure 禁用了入站 ICMP ping 请求。他们正在考虑启用它——或者至少允许从其门户的“网络”下启用它

相关内容