我有一个包含两个 EC2 实例的 VPC:
- API
- 私有 IP
10.0.103.200
(私有子网)
- 私有 IP
- VPN 路由器
- 私有 IP
10.0.103.100
(私有子网) - 私有 IP
10.0.4.100
(公共子网)和公共 IP - 内部设置 IP
10.69.69.1
- 私有 IP
VPN 的公共 IP 供外部设备使用 IPSEC/L2TP 进行连接。通过这种方式连接的客户端从10.69.69.0/24
空间获取地址,该空间仅在 VPN 计算机本身内进行管理。VPN 计算机具有地址10.69.69.1
当然,AWS 路由表不知道10.69.69.1
,但是,由于 API 可以看到并与 VPN 通信,我应该能够执行以下操作:
ip route add 10.69.69.0/24 via 10.0.103.100
不幸的是,这不起作用,并且10.69.69.1
仍然无法通过 API 访问。我已验证 VPN 在这种情况下根本没有任何流量。
AWS 是否正在做一些不允许我实现这一目标的事情?
最终目标是使整个过程10.69.69.0/24
可以通过 API 访问,但第一步是在该空间中访问 VPN 自己的地址。
我知道 AWS 也有自己的 VPN 服务,但这些服务对于我的用例来说太贵了。我需要连接一堆盒子(LTE 路由器、Raspbery Pi 和 IP 摄像头)。AWS IoT 看起来很酷,但不幸的是可能无法解决我的目标。此外,我想避免使用 IPSEC/L2TP 从 API 连接到 VPN,但目前这似乎是我所知道的唯一选择。
答案1
您很可能遇到了 EC2 实例默认执行的源/目标检查:它们会阻止任何不直接用于其接口的流量。这与创建 NAT 实例时遇到的问题相同。
可以停用此功能在控制台中在您的实例的网络设置中。