AWS站点到站点VPN高可用性

时间:2019-06-26 13:06:33

标签: amazon-web-services vpn freebsd vpc ipsec

我有两台FreeBSD服务器作为防火墙,配置了鲤鱼IP地址,它们可以在两台服务器之间浮动以实现高可用性。

现在,我已经使用racoonipsec-tools在AWS上设置了到我的VPC的ipsec隧道。 我必须在公用网络接口上配置两个169.254.x.x IP地址,以使隧道正常工作。

问题是如果我的防火墙故障转移,我将不得不在另一个防火墙上添加两个169.254.x.x IP地址。

我尝试在回送接口上添加169.254.x.x IP地址,但是没有用。

我当前的解决方案是在第一台服务器上添加一个IP地址(169.254.33.120),在第二台服务器上添加另一个IP地址(169.254.35.140)。 但是使用这种解决方案,由于只有一个隧道建立,我失去了冗余。

有人能找到更好的解决方案吗?

1 个答案:

答案 0 :(得分:2)

您可以拥有自己的私有范围10.x.x.x/16,而不必使用Link-local范围169.254.0.0/16

对于设置VPN,AWS为每个VPN提供了两个端点,您必须配置这些端点并确保它们都可以正常工作,两个隧道都应在AWS GUI中显示UP(绿色),但是只有一个会主动路由流量https://docs.aws.amazon.com/vpc/latest/adminguide/Introduction.html

现在最棘手的部分(HA /故障转移IPSEC_NAT_T)是当隧道断开时如何在隧道之间路由流量。如果使用raccon,请从https://docs.netgate.com/pfsense/en/latest/solutions/aws-vpn-appliance/vpc-wizard-faq.html

  

Amazon提供了两个隧道端点,这些端点将允许在您的网络和您连接到的远程VPC之间发送流量。 pfSense中的racoon守护程序仅能够为单个隧道上的特定源/目标对建立活动的第2阶段关联。在pfSense GUI中为两个隧道配置了本地子网和远程VPC子网之间的阶段2关联,但是racoon实际上只会为第一个隧道建立关联。这意味着浣熊只会尝试通过第一个隧道发送发往远程VPC子网的流量。如果该隧道断开,则第二条隧道可能已启动,并且来自远程VPC的入站流量可能会自动通过该隧道发送到您的本地网络。但是,到远程VPC的出站流量不会自动故障转移到第二条隧道。为了使您可以通过第二条隧道发送出站流量,您需要禁用第一条隧道的阶段2关联并应用更改。

您将可以同时建立两个隧道,但需要找到一种使用方式(路由流量通过)

strongswan是另一种选择,我认为可以简化隧道断开时的处理。

仅作为参考并更好地理解这些概念,以下是使用paloalto设备完成该操作的方法:https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClFiCAK

几乎您将需要一个VR(虚拟路由器),升级您的路线等。如果可能,请回传您的解决方案。