不通过EC2实例之间的路由

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

我的目标是,我在发送到任何非VPC IP的VPC中启动的实例最终转到运行VPN的实例(仍然未定IPsec或OpenVPN之间)。 我如何通过默认的VPC获取数据包在EC2上 ? 我怀疑还有更多,比我在AWS文档或通过谷歌(也许一些其他的EC2对象…我有所有的概念吗?)find。

将stream量路由到VPN集中器的过程与路由到NAT实例的路由相同。

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

  • 使用VPC路由表(在个别情况下不是静态路由)通过其实例ID /弹性networking接口ID将stream量转发到VPN集中器。

使用这种路由作为其默认路由的实例必然只能分配私有IP地址。