EC2 实例之间的路由不通

EC2 实例之间的路由不通

我想从默认 VPC 中的一个 EC2 实例设置 VPN,同一 VPC 中的其他实例可以使用,因此我正在做一些初步测试。我有 2 个测试实例正在运行,它们可以互相 ping 通。当我将测试公共 IP 从一个路由到另一个时,数据包确实从发送方实例的 eth0 发出(如tcpdump预期的目标 MAC 地址所示(所以我猜我的主机路由设置正确),但永远不会到达在目标实例上。我已测试了这两种方法,一种是通过 172.31.0.1 ,另一种是直接使用另一个实例的 IP 作为网关。 iptables在两个主机上(Ubuntu亚马逊 Linux测试(均已测试)为空。测试公网 IP 已作为路由添加到 VPC 主路由表,使用测试接收实例作为网关。

我的目标是,我在该 VPC 中启动的实例,发送到任何非 VPC IP 的实例最终都会转到我运行 VPN 的实例(在 IPsec 或 OpenVPN 之间仍未确定)。 如何让数据包通过默认 VPC 在 EC2 上传输? 我怀疑这里面还有更多我在 AWS 文档或通过 Google 找到的内容(也许是其他 EC2 对象...我是否理解所有概念正确?)。

答案1

将流量路由到 VPN 集中器的方式与路由到 NAT 实例的方式相同。

  • 禁用 IP 源/目标检查在目标实例上允许流量通过,然后

  • 使用 VPC 路由表(而不是单个实例中的静态路由)通过其实例 ID/弹性网络接口 ID 将流量转发到 VPN 集中器。

使用此类路由作为默认路由的实例必然只分配私有 IP 地址。

相关内容