我正在尝试将 VPN 客户端连接到不同于 VPN 服务器所属的 VPC。这就是我的设置:网络图
但是,我无法管理 VPN 客户端 10.8.0.6 以访问非 VPN VPC 10.24.0.249 中的实例。
我的图表说明:
有 2 个 VPC。VPN 服务器只是在其中一个 VPC 中。VPC 之间存在对等连接 (PXC)。VPC 路由表中添加了路由,因此他们知道应该通过 PXC 推送流量。在非 VPN VPC 上,实例使用安全组允许来自 VPN VPC 子网和 VPN Client 子网的传入流量。
OpenVPN 服务器将路由推送到客户端:
push "route 10.26.0.0 255.255.255.0"
push "route 10.24.0.0 255.255.255.0"
VPN Client 10.8.0.6 可以联系 VPN VPC 中的任何节点,包括 VPN 服务器 10.26.0.81。
VPN 服务器 10.26.0.81 可以联系非 VPN VPC 中的任何节点,例如 10.24.0.249。
当您单独查看它时,它可以工作,但是由于某种原因,VPN 客户端无法访问非 VPN VPC 中的远程实例。
任何想法我应该检查什么?
这是一个设计限制:
考虑以下问题:
在具有 VPN 连接的 VPC 中,哪个路由表负责对从对等连接接收的流量进行路由决策,以便来自对等 VPC 的流量可以通过 VPN 连接返回?
在具有 VPN 连接的 VPC 中,哪个路由表负责为通过 VPN 接收的流量做出路由决策,以便可以将来自 VPN 的流量发送到对等 VPC?
实际上,这些都是技巧问题。
没有路由表适用于从 VPN 连接接收或通过对等连接接收的流量。来自这些来源的流量只能到达您的 VPC 的超网 CIDR 块中的实例。入站流量的路由是隐式的,不可配置。VPC 中的路由表仅适用于由 VPC 中子网上的实例产生的流量。默认路由表只是适用于没有自己的路由表分配的任何子网的路由表——这是它是“默认”路由表的唯一意义。
只有在另一个 VPC 中具有弹性网络接口的东西(本质上是实例)才能通过对等连接进行访问。无法通过连接访问任何外部或面向外部的内容,包括 VPN、Direct Connect、NAT 网关、Internet 网关或 VPC 端点(在撰写本文时仅适用于 S3)。