![使用一个物理路由器与 AWS 建立冗余 VPN 连接](https://linux22.com/image/1587964/%E4%BD%BF%E7%94%A8%E4%B8%80%E4%B8%AA%E7%89%A9%E7%90%86%E8%B7%AF%E7%94%B1%E5%99%A8%E4%B8%8E%20AWS%20%E5%BB%BA%E7%AB%8B%E5%86%97%E4%BD%99%20VPN%20%E8%BF%9E%E6%8E%A5.png)
我正在尝试按照本文所述使 VPN 连接变得冗余。 https://docs.aws.amazon.com/vpn/latest/s2svpn/VPNConnections.html
我想要实现的是,为每个互联网连接设置两个客户网关(CGW),如果一个连接中断,我希望路由器自动故障转移到另一个连接,以便我们可以保持 VPN 连接。
简而言之:我可以使用多出口鉴别器(MED)来优先处理从使用两个 CGW 到一个 VGW 的同一物理路由器的路由吗?
长版本:我有两个不同的互联网连接,它们连接到一台 YAMAHA RTX1210。图表上的客户网络只有一个网络地址,即 192.168.1.0/24。
我相信使用静态路由即使连接中断也会保留来自主 CGW 的路由。因此,我使用动态路由 BGP(我不是路由专家)。Yamaha RTX 手册指出,一台物理 RTX(当前为 65000)上只能配置一个 AS 编号。而且我只连接到一个连接到一个虚拟专用网关 (VGW) 的 VPC,并且 VGW 的 ASN 当前配置为 64512。
如果我只能使用一个路由器(BGP ASN 65000)通过两个不同的客户网关连接到一个 VGW,则 VGW 的 ASN 对于所有 BGP 邻居都是相同的(ASN 64512),因此我认为无法使用 AS PATH 来对路由进行优先级排序。在这种情况下,我是否可以使用 MED 来设置路由优先级?
Jyothsna@AWS 提到了有关此论坛中可用的 MED。 https://forums.aws.amazon.com/thread.jspa?threadID=120388
但在这张幻灯片(日语)中,提到 MED 尚未正式推出。 https://www.slideshare.net/qt_takada/awsvpn
有人能告诉我如何实现冗余设置吗?我认为可以通过添加以下配置来实现,但我不确定 AWS 是否接受它。
# BGP neighbor for connection A
# by adding metric=, lower metric Neighbor would have higher priority?(will not use MED on bgp import filter)
bgp neighbor 1 64512 xxx.xxx.xxx.x1 hold-time=30 local-address=xxx.xxx.xxx.x1 metric=1
bgp neighbor 2 64512 xxx.xxx.xxx.x2 hold-time=30 local-address=xxx.xxx.xxx.x2 metric=2
# BGP neighbor for connection B
bgp neighbor 3 64512 xxx.xxx.xxx.x3 hold-time=30 local-address=xxx.xxx.xxx.x3 metric=3
bgp neighbor 4 64512 xxx.xxx.xxx。x4 hold-time=30 local-address=xxx.xxx.xxx.x4 metric=4
我知道我应该寻求技术支持,但我只得到基本支持。提前谢谢您
答案1
对于任何感兴趣的人,我可以通过向默认网关添加隐藏、权重 0 来实现设置。
# bgp neighbors as above
ip route default gateway pp 1 hide gateway pp 2 weight 0
ip route xx.xx.xx.xx/xx gateway tunnel 1 hide gateway tunnel 2 hide ...
当主互联网连接处于活动状态时,它将使用前两个 bgp 邻居和隧道。第三和第四个 bgp 邻居将处于空闲状态,隧道未连接。当主连接断开且辅助连接变为活动状态时,第三和第四个 bgp 邻居和隧道将可用。由于 bgp 邻居和隧道在断开主连接后变为空闲状态,因此甚至不需要向 bgp 邻居添加 metric=。
切换连接并激活具有辅助连接的VPN大约需要30秒。