合并多个VPC的

我试图合并多个VPC与站点到站点的OpenVPN。 我认为这几乎是成功的,但是我面对一个奇怪的行为。

这里是设置:

  • VPC 1:10.20.0.0/16
    • WebServer1:10.20.49.147(在10.20.48.0/20子网内)
    • NATInstance1:10.20.29.239(在10.20.16.0/20子网内)
  • VPC 2:10.250.0.0/16
    • WebServer2:10.250.55.41(在10.250.48.0/20子网内)
    • NATInstance2:10.250.250.98(在10.250.224.0/20子网内)

VPC 1和VPC 2在不同的地区(事实上,我试图在每个不同的地区连接4个VPC)

我将NATInstance2设置为OpenVPN服务器,将NATInstance1设置为OpenVPN客户端(通过192.168.xx虚拟IP),并且运行良好。 但是,我也想使这个环境好像整个10.0.0.0/8networking一样工作,所以WebServer1必须能够连接到WebServer2,反之亦然。

奇怪的是,NATInstance1可以通过SSH连接到WebServer2,但反过来不是。 NATInstance2也可以通过SSH连接到WebServer1,但反过来不是。 当然,WebServer1和WebServer2之间的连接也是不可能的。

既然我想把所有的连接都联系起来,那我应该怎样改变呢?


仅供参考,NATIstances的路由表设置为:

NATInstance1: root@openvpn ~# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.20.16.1 0.0.0.0 UG 0 0 0 eth0 10.20.16.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0 10.250.0.0 192.168.0.13 255.255.0.0 UG 0 0 0 tun0 192.168.0.1 192.168.0.13 255.255.255.255 UGH 0 0 0 tun0 192.168.0.13 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 openvpn〜 root@openvpn ~# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.20.16.1 0.0.0.0 UG 0 0 0 eth0 10.20.16.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0 10.250.0.0 192.168.0.13 255.255.0.0 UG 0 0 0 tun0 192.168.0.1 192.168.0.13 255.255.255.255 UGH 0 0 0 tun0 192.168.0.13 0.0.0.0 255.255.255.255 UH 0 0 0 tun0

NATInstance2: root@openvpn ~# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.250.240.1 0.0.0.0 UG 0 0 0 eth0 10.20.0.0 192.168.0.2 255.255.0.0 UG 0 0 0 tun0 10.250.240.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0 192.168.0.0 192.168.0.2 255.255.0.0 UG 0 0 0 tun0 192.168.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 openvpn〜 root@openvpn ~# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.250.240.1 0.0.0.0 UG 0 0 0 eth0 10.20.0.0 192.168.0.2 255.255.0.0 UG 0 0 0 tun0 10.250.240.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0 192.168.0.0 192.168.0.2 255.255.0.0 UG 0 0 0 tun0 192.168.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0

AWS VPC设置中的路由表是:

  • WebServer1的子网(10.20.48.0/20)
    • 10.20.0.0/16:本地
    • 0.0.0.0/0:NATInstance1
  • NATInstance1的子网(10.20.16.0/20)
    • 10.20.0.0/16:本地
    • 0.0.0.0/0:IGW
    • 10.0.0.0/8:NATInstance1

和VPC 2子网类似地设置。

OpenVPN的使用是对您的环境的要求? 如果没有,你可以尝试VPC对等 。

VPC对等连接是两个VPC之间的networking连接,使您可以使用专用IP地址在它们之间路由stream量。 VPC中的实例可以相互通信,就好像它们在同一个networking中一样。 您可以在您自己的VPC之间创buildVPC对等连接,也可以在单个区域内的另一个AWS账户中使用VPC创buildVPC对等连接。

AWS使用VPC的现有基础结构来创buildVPC对等连接; 它既不是网关,也不是VPN连接,不依赖于单独的物理硬件。 通信或带宽瓶颈没有单点故障。

我通过在EC2 OpenVPN实例中禁用IP检查来解决这个问题。