无法使用公共 IP 对 AWS EC2 实例执行 ping 操作

MGo*_*e93 1 ping amazon-ec2 amazon-web-services

我无法 ping 通具有与其关联的公共 IP 的 EC2 实例。在此处发帖之前,我阅读了无法 ping AWS EC2 实例。这没有帮助:

我的设置方式如下:

我使用所有默认值创建了一个新的 Amazon Linux t2.micro 实例。

创建后,它在 EC2 中没有 IPv4 公共 IP | 实例 | 实例。

所以我去了EC2 | 网络与安全 | 弹性 IP,然后单击分配弹性 IP 地址按钮。公共 IPv4 地址列显示地址后,我单击操作 | 关联弹性IP地址。

我又回到了 EC2 | 实例 | 实例,IPv4 公共 IP 列显示我刚刚创建的地址。

还是无法 ping 通。

所以我去了EC2 | 网络与安全 | 安全组,单击与实例关联的安全组的链接,然后添加入站和出站规则,如下所示:

All traffic          All        All       0.0.0.0/0 
All ICMP - IPv4      ICMP       All       0.0.0.0/0
Run Code Online (Sandbox Code Playgroud)

还是无法 ping 通。

于是我就去了VPC | Internet 网关,单击创建 Internet 网关按钮,选择默认值,然后将 Internet 网关附加到与实例关联的 VPC。

还是无法 ping 通。

于是我就去了VPC | 安全| 网络 ACL、编辑入站和编辑出站规则。这就是我对两者的看法:

Rule #   Type              Protocol       Port Range      Source       Allow / Deny
100      ALL Traffic       ALL            ALL             0.0.0.0/0    ALLOW
101      All ICMP - IPv4   ICMP (1)       ALL             0.0.0.0/0    ALLOW
Run Code Online (Sandbox Code Playgroud)

还是无法 ping 通。

还缺少什么才能 ping 通?是的,我可以 ping 网络上的其他主机...只是不能 ping 通 AWS 和为该 EC2 实例列出的公共 IP 地址。

Joh*_*ein 6

首先,值得一提的是,通常不需要每次都修改网络 ACL。它们可用于特殊目的(例如创建网络 DMZ),但除此之外,只需将它们保留为默认值即可。

我还应该提到,PING一般来说使用是不值得的,因为它可能会被许多网络配置阻止。你不应该试图让 Ping 工作,而应该尝试让你真正想要工作的东西工作。例如,如果您希望通过 SSH 进入实例或将其用作 Web 服务器,请尝试让它们工作而不是 Ping。

以下是使 PING 正常工作所需的条件:

  • EC2 实例在公有子网中启动。这定义为:
    • 具有指向 Internet 网关的路由表条目的子网在问题中没有提及路由表。)0.0.0.0/0
  • 与实例关联的公共 IP 地址(在启动时或之后添加弹性 IP 地址,就像您所做的那样)
  • 允许来自您的地址(或更广泛的地址,例如)的入站 ICMP 流量的安全0.0.0.0/0
  • 实例上配置为响应 PING 的操作系统(默认情况下通常处于打开状态,但是响应请求的操作系统)
  • 您请求 Ping 的网络也允许此类流量流动。(某些公司网络会阻止此类流量,因此您可以从备用网络(例如家庭、工作或通过有线电话)尝试。)

因此,根据您提供的信息,您应该确认子网具有指向Internet 网关的路由表