首页 > 解决方案 > AWS - Strongswan :: 如何让子网中的客户端进行通信?

问题描述

我已经通过 Strongswan 在来自 2 个不同区域的 2 个 VPC 之间成功设置了 IPsec VPN,并且 2 个网关能够连接。问题是 vpc/子网的其他实例无法 ping 其他 vpc/子网:VPC A/网关可以与 VPC B/网关对话... VPC A/实例可以与 VPC A/网关对话 同样适用对于 VPC B... 但是 VPC A / 实例不能与 VPC B/网关 B 或 VPC B/ 实例通信(同样适用于 VPC B 到 VPC A)。

我已经检查并尝试使用表 220 的路由以及 ICMP 重定向,没办法。

任何人都可以帮忙吗?

问候。

标签: amazon-web-servicesvpn

解决方案


信息太少,无法提供准确的答案;需要拓扑和寻址计划、相关的安全组和 EC2 配置、StrongSwan 和相关的 Linux 内核配置。

仍然请让我提供一些提示,以允许在通过 VPN 连接的子网之间进行路由:

  1. 假设 StrongSwan 在 Linux EC2 实例上运行,必须在 Linux 内核中启用 IP 转发。可以使用以下命令完成,以 root 身份运行:
    echo 1 > /proc/sys/net/ipv4/ip_forward
    请注意,该设置在重新启动期间不会保留。如何使设置持久化取决于 Linux 发行版。

  2. EC2 源/目标。必须禁用检查,请参见下面的屏幕截图。 EC2 源/目标。 查看

  3. VPC 路由表必须设置为通过 StrongSwan EC2 节点而不是通过默认网关将流量路由到另一个区域中的另一个子网。

  4. 必须相应地设置 交通选择器 (left_subnetright_subnet) 。ipsec.conf


推荐阅读