这是我的情况:
- VPC-A 和 AWS-account-A 中的 RDS
- Server1 位于 VPC-B、AWS-account-B 中,并且仅为私有网络
- Server2 位于 VPC-B、AWS-account-B 中,位于公共网络 (eth0) 和私有网络 (eth1) 上
私网子网为 172.31.0.0/20
公网子网为 172.31.100.0/24
我已成功在 VPC-A 网络 (172.41.0.0/20) 和 VPC-B 的私有网络之间设置对等连接。我检查了一下,可以成功从 Server1 连接到 RDS。
Server1 和 Server2 之间有网络连接。基本上 Server2 有两个网络接口,eth1 在私有网络上。
我的问题是我无法让它从 Server2 工作,因为某种原因存在网络问题。
从 Server2 (我为 RDS 网络添加了路由:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.31.32.1 0.0.0.0 UG 0 0 0 eth0
172.31.32.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
172.31.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
172.41.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
但 traceroute 显示无法访问:
$ traceroute 172.41.32.14
traceroute to 172.41.32.14 (172.41.32.14), 30 hops max, 60 byte packets
1 ip-172-31-100-102.us-west-2.compute.internal (172.31.100.87) 2998.396 ms !H 2998.376 ms !H 2998.372 ms !H
但:
$ ping 172.31.100.87
PING 172.31.100.87 (172.31.100.87) 56(84) bytes of data.
64 bytes from 172.31.100.87: icmp_seq=1 ttl=64 time=0.351 ms
64 bytes from 172.31.100.87: icmp_seq=2 ttl=64 time=0.365 ms
我错过了什么?
答案1
好的,我找到了
在 AWS 控制台、VPC->子网中,我找到了公共网络的子网,然后在下面的“路由表”中添加了:
172.41.0.0/16 => peer connection
完成此操作并删除我在 Server2 中创建的路由后,它开始工作。