使用浮动静态配置冗余

网络工程 思科 cisco 命令 冗余
2021-07-18 00:08:21

我想发布我的网络布局,但我没有所需的声誉。所以我做了一个网络图如下:

       ISP
       / \
      /   \
     /     \
    HQ------Branch
    |         |
  HQ-PC      B-PC

我想要做的是使用总部和分支机构之间的 WAN 链接作为备份链接,除非总部到 ISP 或分支机构到 ISP 之间的链接关闭,否则它不得携带任何数据。这意味着它必须严格仅用作备份链接。

我所做的是使用浮动静态来配置冗余。然而,它并没有像我预期的那样奏效。我所做的是:

1)总部和分支机构到ISP的默认路由(0.0.0.0 0.0.0.0 NEXT-HOP-IP)

2)ISP到总部和分支机构的静态路由(HQ/BRANCH-NETWORK-ADDRESS SUBNET-MASK NEXT-HOP-IP)

3)总部的静态(首选)路由(BRANCH-NETWORK-ADDRESS SUBNET-MASK NEXT-HOP-IP-TO-ISP)

4) 分支的静态(首选)路由(HQ-NETWORK-ADDRESS SUBNET-MASK NEXT-HOP-IP-TO-ISP)

5)总部的浮动静态(备份)路由(BRANCH-NETWORK-ADDRESS SUBNET-MASK NEXT-HOP-IP-TO-HQ-THROUGH-BACKUP-LINK)

6) 分支的浮动静态(备份)路由(HQ-NETWORK-ADDRESS SUBNET-MASK NEXT-HOP-IP-TO-BRANCH-THROUGH-BACKUP-LINK)

但是,有一个问题。例如,如果ISP和HQ之间的链路断开,当我想从HQ-PC ping到B-PC时,数据包将从HQ-PC成功发送到B-PC,但是从B-PC返回的数据包将被发送到 ISP 而不是通过备份链接。

很抱歉发表这么长的帖子,但有人可以帮助我吗?如果我的解释不清楚,请随时查询。提前致谢

编辑:抱歉造成混淆,ISP 不应该运行任何路由协议

2个回答

正如您所提到的,您的静态路由会中断,因为当一个站点失去到 Internet 的上行链路时,没有现有的方法可以强制故障转移到两个站点的 WAN 链接。

此问题的最佳解决方案是通过 Internet 设置某种形式的路由隧道(源自图中 R1 和 R2 上的 ISP 链接地址),通过您的隧道运行动态路由协议 (OSPF / EIGRP) 并进行备份WAN,并将 WAN 链接的路由指标设置得更高。

HQ-Backup隧道

由于您从两端的互联网链接获取隧道,如果任何一方失去互联网连接,隧道就会中断(并且 IGP 恢复到您的 WAN 链接)。如果这样做,请确保 PMTUD 通过隧道工作,以便计算隧道开销。这种跨局加密的VPN很常见,所以对于未来需要支持这种网络的任何人来说,它都是一个熟悉的拓扑。

您现有设计面临的问题是您所有的办公室间流量似乎都未加密(至少如果我从表面上阅读了您的问题)。如果您还没有这样做,我强烈建议您加密公司站点之间的所有流量,如果它是通过 Internet 传输的

(根据 OP 不向 ISP 提供动态路由的请求,原始全 BGP 答案已更改)

正如@Mike 所建议的那样,隧道+动态路由,尤其是在面向 INET 的情况下是可靠的解决方案。但是,如果由于某种原因您不想要隧道(没有硬件支持,不想丢失 MTU,即使在内部也不可接受动态路由),您的另一个选择是“IP SLA”跟踪路由。

我将解释它如何帮助解决您所描述的确切问题,其中分支继续将流量返回到 INET,而它应该使用直接链接。

在分支中,您将拥有:

ip route HQNet HQMask InetIF InetNH track 1 50
ip route HQNet HQMask DirectIF DirectNH 100
ip route HQStableTestIP 255.255.255.255 InetIF InetNH
!
track 1 ip sla 1
!
ip sla 1
 icmp-echo <HQStableTestIP> source-interface InetIF
ip sla schedule 1 start-time now

现在,如果 HQ 无法通过 INET 到达,跟踪应该会失败,并且 INET 更具体的路由应该无效,您应该回退到指向直接链接的下一个最佳路由。