使用Libreswan在AWS上的多个VPN IPSec隧道之间配置路由

时间:2018-08-07 14:02:51

标签: linux amazon-web-services vpn ipsec

我已经在AWS上部署了运行Libreswan 3.23-5的RHEL 7.5 VM。我已经成功建立了从我的VM到其他6个组织的多个IPSec隧道。我们希望实现的是集线器辐射设置,其中每个组织仅需要一个到AWS的VPN隧道(我的VPN VM),并且应该能够通过集线器的IPSec隧道与其他6个组织进行通信(AMQP)。我已经成功让他们ping我的子网,但是我希望他们能够ping其他组织的子网。这是我在conf文件中为每个连接设置的还是通过路由表设置的?当前,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个组织通过一个隧道进行连接?非常感谢您的帮助,因为这是我第一次涉足网络。

1 个答案:

答案 0 :(得分:0)

通过将辐条的专用子网添加到集线器的左子网中,我能够成功地连接伙伴,并且每个伙伴都应将彼此的专用伙伴子网作为右子网。您还必须将合作伙伴的子网添加到AWS控制台中的路由表。这是集线器的示例配置文件:

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

您将必须确保没有私有子网重叠。

相关问题