【问题标题】:Cannot ping AWS EC2 instance with public IP无法使用公共 IP ping AWS EC2 实例
【发布时间】:2020-07-09 14:25:30
【问题描述】:

我无法 ping 我的 EC2 实例,该实例具有与之关联的公共 IP。在这里发帖之前,我阅读了Cannot ping AWS EC2 instance。它没有帮助:

我是这样设置的:

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

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

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

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

仍然无法ping通。

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

All traffic          All        All       0.0.0.0/0 
All ICMP - IPv4      ICMP       All       0.0.0.0/0

仍然无法ping通。

所以我去了 VPC |互联网网关,点击创建互联网网关按钮,选择默认值,然后将互联网网关附加到与实例关联的 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 地址。

【问题讨论】:

  • 您的权限是被拒绝还是只是超时?

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


【解决方案1】:

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

我还应该提到,使用PING 通常是不值得的,因为它可能会被许多网络配置阻止。与其试图让 Ping 工作,不如尝试让你实际上想要工作的任何东西工作。例如,如果您希望通过 SSH 连接到实例或将其用作 Web 服务器,请尝试让它们工作而不是 Ping。

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

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

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

【讨论】:

  • 就是这样...谢谢!!!子网确实有一个路由表,其中确实有一个互联网网关......但是,当我单击编辑路由以查看其中的内容时,路由表中只有本地流量(10.10.0.0/24)。我必须添加一条公共路线。
猜你喜欢
  • 1970-01-01
  • 2020-08-19
  • 1970-01-01
  • 1970-01-01
  • 2016-12-02
  • 2020-11-03
  • 1970-01-01
  • 2021-12-22
  • 2017-06-23
相关资源
最近更新 更多