我正在尝试将 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 客户端子网的传入流量。
OpenVPN服务器将路由推送给客户端:
push "route 10.26.0.0 255.255.255.0"
push "route 10.24.0.0 255.255.255.0"
VPN 客户端 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 中的远程实例。
有什么想法我应该检查什么吗?
答案1
这是一个设计的限制:
如果对等关系中的任一 VPC 具有以下连接之一,则您无法将对等关系扩展到该连接:
- 与公司网络的 VPN 连接或 AWS Direct Connect 连接
http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html
考虑一下这些问题:
在具有 VPN 连接的 VPC 中,哪个路由表负责从对等连接接收的流量的路由决策,以便来自对等 VPC 的流量可以通过 VPN 连接返回?
在具有 VPN 连接的 VPC 中,哪个路由表负责通过 VPN 接收的流量的路由决策,以便来自 VPN 的流量可以发送到对等的 VPC?
事实上,这些都是陷阱问题。
没有路由表适用于从 VPN 连接接收或通过对等连接接收的流量。来自这些来源的流量只能到达 VPC 超网 CIDR 块中的实例。入站流量的路由是隐式的,不可配置。VPC 中的路由表仅适用于由 VPC 中子网上的实例发起的流量。默认路由表仅仅是适用于任何没有自己的路由表分配的子网的路由表 - 这是它作为“默认”路由表的唯一意义。
只有其他 VPC 中具有弹性网络接口的东西(本质上是实例)才可通过对等连接进行访问。任何外部或面向外部的东西都无法通过连接进行访问,包括 VPN、Direct Connect、NAT 网关、Internet 网关或 VPC 端点(截至本文撰写时,仅适用于 S3)。