使用 Libreswan 在 AWS 上配置多个 VPN IPSec 隧道之间的路由
Configuring routing between muliple VPN IPSec tunnels on AWS using Libreswan
我已经在 AWS 上部署了 RHEL 7.5 VM 运行 Libreswan 3.23-5。我已经成功地设置了几个从我的 VM 到其他 6 个组织的 IPSec 隧道。我们希望实现的是一种中心辐射型设置,其中每个组织只需要一个到 AWS(我的 VPN VM)的 VPN 隧道,并且应该能够通过 Hub 的 IPSec 隧道与其他 6 个组织通信(AMQP)。我已经成功地让他们 ping 我的子网,但我希望他们能够 ping 其他组织的子网。这是我在 conf 文件中为每个连接或通过路由 table 设置的东西吗?目前,ipsec.d 目录下的配置文件只包含我在 leftsunets 行中的子网,而不包含其他组织。
conn hub-to-spoke1
type=tunnel
authby=secret
left=%defaultroute
leftid=hub.public.ip.address
leftnexthop=%defaultroute
leftsubnets=hub.subnets.cidr.blocks
right=spoke1.public.ip.address
rightsubnet=spoke1.subnet.cidr.block
pfs=yes
auto=add
ikelifetime=24h
keylife=8h
ike=aes256-sha1;modp1536
phase2=esp
phase2alg=aes256-sha1;modp1024
我们正在使用预共享密钥。我必须在我这边做哪些配置才能将连接转发给其他组织?每个组织必须做什么才能允许来自其他 6 个组织的连接通过一个隧道?我非常感谢任何帮助,因为这是我第一次涉足网络。
通过将分支的私有子网添加到集线器的左侧子网,我能够成功连接合作伙伴,并且每个合作伙伴都应该将其他私有合作伙伴子网作为右侧子网。您还必须将合作伙伴的子网添加到 AWS 控制台中的路由 table。这是集线器的示例配置文件:
conn hub-to-spoke
type=tunnel
authby=secret
left=%defaultroute
leftid=hub.public.ip.address
leftnexthop=%defaultroute
leftsubnets="all hub subnets and all other spokes subnets"
right=spoke.public.ip.address
rightsubnets="all spoke subnets"
pfs=yes
auto=add
ikelifetime=24h
keylife=8h
ike=aes256-sha1;modp1536
phase2=esp
phase2alg=aes256-sha1;modp1024
这里的辐条是一个示例配置
conn spoke-to-hub
type=tunnel
authby=secret
left=%defaultroute
leftid=spoke.public.ip.address
leftnexthop=%defaultroute
leftsubnets="spoke's subnets"
right=hub.public.ip.address
rightsubnet="list of hub's subnets and other spokes subnets"
pfs=yes
auto=add
ikelifetime=24h
keylife=8h
ike=aes256-sha1;modp1536
phase2=esp
phase2alg=aes256-sha1;modp1024
您必须确保没有私有子网重叠。
我已经在 AWS 上部署了 RHEL 7.5 VM 运行 Libreswan 3.23-5。我已经成功地设置了几个从我的 VM 到其他 6 个组织的 IPSec 隧道。我们希望实现的是一种中心辐射型设置,其中每个组织只需要一个到 AWS(我的 VPN VM)的 VPN 隧道,并且应该能够通过 Hub 的 IPSec 隧道与其他 6 个组织通信(AMQP)。我已经成功地让他们 ping 我的子网,但我希望他们能够 ping 其他组织的子网。这是我在 conf 文件中为每个连接或通过路由 table 设置的东西吗?目前,ipsec.d 目录下的配置文件只包含我在 leftsunets 行中的子网,而不包含其他组织。
conn hub-to-spoke1
type=tunnel
authby=secret
left=%defaultroute
leftid=hub.public.ip.address
leftnexthop=%defaultroute
leftsubnets=hub.subnets.cidr.blocks
right=spoke1.public.ip.address
rightsubnet=spoke1.subnet.cidr.block
pfs=yes
auto=add
ikelifetime=24h
keylife=8h
ike=aes256-sha1;modp1536
phase2=esp
phase2alg=aes256-sha1;modp1024
我们正在使用预共享密钥。我必须在我这边做哪些配置才能将连接转发给其他组织?每个组织必须做什么才能允许来自其他 6 个组织的连接通过一个隧道?我非常感谢任何帮助,因为这是我第一次涉足网络。
通过将分支的私有子网添加到集线器的左侧子网,我能够成功连接合作伙伴,并且每个合作伙伴都应该将其他私有合作伙伴子网作为右侧子网。您还必须将合作伙伴的子网添加到 AWS 控制台中的路由 table。这是集线器的示例配置文件:
conn hub-to-spoke
type=tunnel
authby=secret
left=%defaultroute
leftid=hub.public.ip.address
leftnexthop=%defaultroute
leftsubnets="all hub subnets and all other spokes subnets"
right=spoke.public.ip.address
rightsubnets="all spoke subnets"
pfs=yes
auto=add
ikelifetime=24h
keylife=8h
ike=aes256-sha1;modp1536
phase2=esp
phase2alg=aes256-sha1;modp1024
这里的辐条是一个示例配置
conn spoke-to-hub
type=tunnel
authby=secret
left=%defaultroute
leftid=spoke.public.ip.address
leftnexthop=%defaultroute
leftsubnets="spoke's subnets"
right=hub.public.ip.address
rightsubnet="list of hub's subnets and other spokes subnets"
pfs=yes
auto=add
ikelifetime=24h
keylife=8h
ike=aes256-sha1;modp1536
phase2=esp
phase2alg=aes256-sha1;modp1024
您必须确保没有私有子网重叠。