我的 VPC 通过 IPSec VPN 连接到我的场所,隧道在 AWS 控制台上显示为 UP。
有用的方法:
我可以在 VPC 流日志上看到从我的场所(子网 192.168.0.0/16)到 AWS VPC(10.0.0.0/16)的流量,标记为已接受。
当我使用在终端上对 ICMP 流量进行 tcp 转储时
sudo tcpdump -i eth0 icmp and icmp[icmptype]=icmp-echo
,我确实看到了 ping:
06:32:13.446579 IP ip-192-168-234-254.ap-southeast-1.compute.internal > graylog: ICMP echo request, id 17473, seq 18722, length 44
。
- 当我使用其公共 IP 从任何地方 ping AWS 实例时,我都可以得到 ping 回复。
- 当我从同一 VPC 中的另一个 AWS 实例使用其私有 IP ping 该 AWS 实例时,我可以得到 ping 回复。
不起作用的事情:
- 当我从我的场所 ping 任何 AWS 实例(包括接收我的 icmp ping 的实例)时,我无法收到 ping 回复。
- 当我从我的 AWS 实例 ping 到我的本地时,我无法收到 ping 回复。
- 我无法从我的 AWS 实例
192.168.234.254
或我所在场所的任何其他私有 IP 进行跟踪路由。这些跟踪路由最终都超时了,一路都是星号。 - 我无法从我的场所到任何 AWS 实例进行跟踪路由。这些跟踪路由最终都超时了,一路都是星号。
配置:
子网的路由表:
Destination target status propagated
10.0.0.0/16 local Active No
0.0.0.0/16 igw-f06e2d95 Active No
192.168.0.0/16 vgw-d1084e83 Active No
AWS 实例的安全组:入站:
Type Protocol Port Range Source
All ICMP All N/A 0.0.0.0/0
出站:
Type Protocol Port Range Source
All Traffic All N/A 0.0.0.0/0
All Traffic All N/A 192.168.0.0/16
网络 ACL 入站:
Rule# Type Protocol Port Range Source Allow/Deny
100 All Traffic ALL ALL 0.0.0.0/0 ALLOW
200 All Traffic ALL ALL 192.168.0.0/16 ALLOW
* All Traffic ALL ALL 0.0.0.0/0 DENY
网络 ACL 出站
Rule# Type Protocol Port Range Source Allow/Deny
100 All Traffic ALL ALL 0.0.0.0/0 ALLOW
200 All Traffic ALL ALL 192.168.0.0/16 ALLOW
\* All Traffic ALL ALL 0.0.0.0/0 DENY
从我的 AWS 实例到我所在地的 IP 的跟踪路径显示:
tracepath ip-192-168-234-254.ap-southeast-1.compute.internal
1?: \[LOCALHOST\] pmtu 9001
1: ip-10-0-2-1.ap-southeast-1.compute.internal 0.082ms pmtu 1500
1: no reply
2: no reply
3: no reply
4: no reply
5: no reply
6: no reply
其他信息:我的 AWS 实例正在运行 Ubuntu 14.04
简而言之:来自我所在地的流量确实到达了我的 VPC 实例,但我无法在两个方向获得 ping 回复或跟踪路由,即使安全组和网络 ACL 设置正确,即使我可以从我的 VPC 内部获得 ping 回复。
答案1
它实际上是 VPN 连接页面上的静态路由 - 我错过了添加静态路由以通过 VPN 路由某些 IP 的流量的步骤。
例如,如果您所在地的子网使用 IP 173.112.0.0/16:
在‘IP 前缀’下添加 173.112.0.0/16。
请注意,IP 前缀列仅接受 CIDR 块。如果您希望更加严格,可以使用 /32 CIDR 块添加单个 IP。
答案2
添加静态路由后,您能进行路由跟踪吗?我已配置好一切,但仍然无法完成路由跟踪。我可以看到流量离开 VPN 接口,但没有返回(双向 ping),所以我想是本地端有东西阻止了它。我想知道您是否至少能够完成前几跳的路由跟踪。尽管看起来数据包正在离开 VPN 输出接口,但我一路上都得到了星号。