无法通过 AWS IPSec VPN 执行 ping 或跟踪路由

无法通过 AWS IPSec VPN 执行 ping 或跟踪路由

我的 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 输出接口,但我一路上都得到了星号。

相关内容