我的 VPC 上有两个子网,每个子网位于不同的可用区。子网 S1 是公有子网,子网 S2 是私有子网。我实现了两个 EC2 实例,每个实例位于自己的子网中。
/ AZ1 ====> S1 (10.0.1.x) =====> EC1 (10.0.1.1)
VPC |
\ AZ2 ====> S2 (10.0.2.x) =====> EC2 (10.0.2.2)
好吧,我使用 SSH 创建了与 EC1 的连接,一切正常,但是如果我尝试从 EC1 (10.0.1.1) ping 到 EC2 (10.0.2.2),我会得到以下信息:
ec2-user@ec1 ~# ping 10.0.2.2
PING 10.0.2.2 (10.0.2.2) 56(84) bytes of data.
From 10.0.1.1 icmp_seq=1 Destination Host Unreachable
From 10.0.1.1 icmp_seq=2 Destination Host Unreachable
From 10.0.1.1 icmp_seq=3 Destination Host Unreachable
这会是什么问题呢?
这些是配置:
EC1 计算机的路由表如下:
ec2-user@ec1 ~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default ip-10-0-1-1.ec2 0.0.0.0 UG 0 0 0 eth0
10.0.1.0 * 255.255.255.0 U 0 0 0 eth0
10.0.2.0 * 255.255.255.0 U 0 0 0 eth0
公共子网 S1 的路由表为:
Destination Target Status Propagated
10.0.0.0/16 local Active No
0.0.0.0/0 igw-xxxxxx Active No
私有子网 S2 的路由表为:
Destination Target Status Propagated
10.0.0.0/16 local Active No
网络 ACL 已打开ALL Traffic
编辑:应用于计算机“EC2”的安全组
Inbound
Type Protocol Port Range Source
All traffic All All 10.0.0.0/16
答案1
我找到了问题。10.0.2.x 的网关错误。我修复了它,它就可以正常工作了。
ec2-user@ec1 ~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default ip-10-0-1-1.ec2 0.0.0.0 UG 0 0 0 eth0
10.0.1.0 * 255.255.255.0 U 0 0 0 eth0
10.0.2.0 ip-10-0-1-1.ec2 255.255.255.0 U 0 0 0 eth0