为了允许俄勒冈州 (us-west-2) 的 VPC 中的实例与爱尔兰 (eu-west-1) 的另一个 VPC 上的实例联系,我在两个区域都安装了 OpenSwan 网关机器,并在两个区域之间建立了 IPSEC 隧道两个运行正常的区域。
Details:
Oregon VPC CIDR: 172.31.0.0/16
Ireland VPC CIDR: 172.91.0.0/16
在爱尔兰,我使用了我编写的 CloudFormation 模板来创建一个新堆栈,其中包括创建一个新的隔离 VPC,CloudFormation 正在运行的任务之一是在默认爱尔兰 VPC 和新创建的(隔离) VPC。
The new isolated VPC CIDR: 172.52.0.0/16.
目前,如果我从位于俄勒冈州 (172.31.xx) 的默认 VPC 中的实例向位于爱尔兰默认 VPC (172.91.xx) 中的实例运行 ping 命令,它就像一个魅力。
接下来,我希望新隔离 VPC (172.52.xx) 中的机器能够访问俄勒冈州 (172.31.xx) 的默认 VPC 中的实例。
与俄勒冈州默认 VPC 关联的路由表配置为路由流量:
to: 172.52.0.0/16 GW: Interface of the OpenSwan server in Oregon.
to: 172.91.0.0/16 GW: Interface of the OpenSwan server in Oregon.
与爱尔兰的默认 VPC 关联的路由表配置为路由流量:
to: 172.31.0.0/16 GW: Interface of the OpenSwan server in Ireland.
to: 172.52.0.0/16 GW: The peering connection ID (between 172.52.x.x and 172.91.x.x)
附加到 OpenSwan 实例 @ Oregon 的安全组:
Allows all traffic to 172.52.x.x/16, 172.91.x.x/16, 172.31.x.x/16.
Allows UDP 500 and 4500 to the EIP of the OpenSwan instance in Ireland.
附加到 OpenSwan 实例 @ Ireland 的安全组:
Allows all traffic to 172.52.x.x/16, 172.91.x.x/16, 172.31.x.x/16.
Allows UDP 500 and 4500 to the EIP of the OpenSwan instance in Oregon.
ipsec.conf:
version 2.0 # conforms to second version of ipsec.conf specification
# basic configuration
config setup
protostack=netkey
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:172.91.0.0/16,%v4:172.52.0.0/16,%v4:25.0.0.0/8,%v4:172.31.0.0/16,%v4:172.59.0.0/20,%v6:fd00::/8,%v6:fe80::/10
oe=off
include /etc/ipsec.d/*.conf
我能够从每台 OpenSwan 机器(俄勒冈/爱尔兰)ping 驻留在俄勒冈州默认 VPC 中的实例,反之亦然,但我无法从驻留在 172.52.xx/16 子网中的实例 ping 该实例.
你认为我错过了哪条路线?我需要允许爱尔兰的隔离 VPC 中的实例访问俄勒冈州的默认 VPC。
您的配置将不起作用,因为 VPC 对等互连不具有传递性,请参阅:http : //docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html#transitive-peering 上的官方文档它。这对您的设置意味着只有爱尔兰默认 VPC 和爱尔兰独立 VPC 之间的流量才会流动 (172.91.0.0/16 <-> 172.91.0.0/16)
来自俄勒冈州的发往隔离 VPC (172.31.0.0/16 <-> 172.52.0.0/16) 的数据包将被对等链路丢弃,即使您将路由放在隔离和默认 VPC 路由表中,我认为你不见了。
如果您只需要一个方向的连接(即俄勒冈州隔离 VPN 客户端中的服务器。您可以让 openVPN 实例爱尔兰 NAT 流量从俄勒冈州流向隔离 VPC。这将使跨对等链路的流量来自 172.91.0.0 /16 这是允许的。
如果 NAT 不起作用,您需要在隔离的 VPC 和 Oregon VPC 之间设置直接连接,或者使用更多 VPN 隧道或新的跨区域对等互连https://aws.amazon.com/about-aws /whats-new/2017/11/announcing-support-for-inter-region-vpc-peering/ (注意我还没有使用它,所以我不知道它可能有什么额外的限制)
好的,所以亚马逊似乎在几天前听到了我的电话并扩展了他们当前的“create-vpc-peering”命令,现在它允许跨不同区域对等 VPC。
目前它似乎还不受 AWS Cloud Formation 的支持,但可以通过 UI 和 Cli 完成。
如果你查看亚马逊的官方文档——create-vpc-peering,你会看到一个新的开关:
因此,不再需要区域之间的 VPN,因为我可以使用此跨区域对等互连功能来实现我在爱尔兰的隔离 VPC 和俄勒冈州的管理 VPC 之间建立网络的目标。