我正用头撞墙,试图弄清楚我的 EC2 VPC 连接出了什么问题。我在同一个公有子网中有两个 EC2 实例和一个 Internet 网关。两个实例都有一个公共(弹性)IP 地址。实例 A 可以在其私有 IP 地址上 ping B,但无法 ping 其公共 IP 地址。
我可以从我家 ping B 很好。
子网路由表如下:
目的地 | 目标 |
---|---|
172.16.0.0/20 | 当地的 |
0.0.0.0/0 | igw-xxxxx |
实例 A 正在运行 Windows,它的路由表route print
看起来是正确的:
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 172.16.0.1 172.16.0.9 15
实例 B 正在运行 Linux,我已禁用它的防火墙。
B 安全组有一个入站规则,允许来自 A 安全组的所有流量。
如果我向 B 安全组添加一个入站规则,允许来自 ANYWHERE 的所有流量,那么它就可以工作。但我只想允许来自 A 安全组的流量。
您需要在 B 的安全组 (ICMP) 上允许 A 的弹性 IP 地址,因为当您使用 B 的公共 IP 地址 ping B 时,流量不会被视为来自私有 IP 地址,而是来自公共 IP 地址.
这是发生的事情:
ping B
公共 IP/EIP),0.0.0.0/0 (igw-xxxxx)
EIP
A,目的IP是EIP
B,请查看 AWS 文档: