答案1
我在 AWS Support 上开了一个工单,他们确认一切正常:流量只能单向运行。这是因为客户端的 IP 是 NAT 的。以下是 AWS Support 对我的工单的回复:
我了解您已设置客户端 VPN(CVPN),并且能够成功连接(启动 TCP 连接)到 EC2 实例,但 EC2 实例无法连接到分配给客户端的客户端 IP。
请注意,CVPN 将使用源 NAT (SNAT) 连接到关联 VPC 中的资源。
因此,从客户端 IP 发起的任何流量都将被 NAT(客户端的源 IP 将被更改)到 CVPN 端点的 IP 地址。因此,EC2 实例将看到流量来自 CVPN 端点 IP,而不是来自客户端 IP。此外,VPC 路由表将没有到客户端 IP 子网的路由(请参阅 VPC 路由表 rtb-0ef010cd7b387b8ff)。因此,连接只能从客户端发起到 EC2 实例,对于从另一个方向发起的连接不起作用。
答案2
检查安全组;一旦将第一个子网与端点关联,AWS 就会自动添加一个默认安全组,该组可能不允许来自运行 EC2 的子网的传入 ICMP 流量。