无法使用公共IP ping AWS EC2实例

时间:2020-03-29 03:33:50

标签: amazon-web-services amazon-ec2 ping

我无法ping与其关联了公共IP的EC2实例。在此处发布之前,我读过Cannot ping AWS EC2 instance。它没有帮助:

这是我设置的方式:

我使用所有默认值创建了一个新的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

仍然无法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

仍然无法ping通。

还能ping哪些东西?是的,我可以对网络上的其他主机执行ping操作……只是不能访问AWS和为该EC2实例列出的公共IP地址。

1 个答案:

答案 0 :(得分:4)

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

我还应该提到,通常不值得使用PING,因为它可能被许多网络配置阻止。与其尝试让Ping正常工作,不如尝试实际上想要工作的一切。例如,如果您希望通过SSH进入实例或将其用作Web服务器,请尝试使其正常运行而不是Ping。

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

  • EC2实例在公共子网中启动。定义为:
    • 具有路由表条目的子网,该条目将0.0.0.0/0引向 Internet网关(您在问题中没有提到路由表。)< / li>
  • 与实例相关联的公共IP地址(在启动时或通过像随后一样添加弹性IP地址
  • 一个安全组,该安全组允许来自您的地址(或更广泛的地址,例如0.0.0.0/0)的入站ICMP流量
  • 实例上的
  • 配置为响应PING的操作系统(默认情况下,该操作系统通常处于启用状态,但是响应请求的是操作系统)
  • 您从中请求Ping的网络,该网络也允许此类流量流向。 (某些公司网络会阻止此类流量,因此您可以从其他网络(例如家庭,公司或通过网络电话进行尝试)。

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