内部 BGP 路由交换问题

网络工程 思科 路由 bgp 故障排除 互联网
2021-07-10 23:31:35

我有两个 cisco 路由器的 BGP 多宿主。每个路由器都有自己的 ISP,并通过我们的 /24 网络向互联网宣布我们的 AS。

我的问题是在这两个路由器之间:

路由器 A,路由表如下所示:

BGP table version is 9622808, local router ID is 10.100.100.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>i 1.0.0.0/24       10.100.100.3         10041    150      0 175 15169 i
 *                    192.168.200.1              0             0 800 15169 i

路由器 B,路由表如下:

路由器#sh ip bgp

BGP table version is 10261936, local router ID is 192.168.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  1.0.0.0/24       192.168.1.1        10041    150      0 175 15169 i

路由器A

 
    #sh ip bgp 1.0.0.0
    BGP routing table entry for 1.0.0.0/24, version 9124223
    Paths: (2 available, best #1, table default)
    Multipath: eBGP
     Not advertised to any peer
    Refresh Epoch 1
    175 15169
    10.100.100.3 from 10.100.100.3 (192.168.1.1 )
      Origin IGP, metric 10041, localpref 150, valid, internal, best
      rx pathid: 0, tx pathid: 0x0
    Refresh Epoch 1
    8220 15169
    192.168.200.1 from 192.168.200.1 (212.74.90.252)
      Origin IGP, metric 0, localpref 100, valid, external
      Community: 538770940 538771322
      rx pathid: 0, tx pathid: 0

路由器B


    #sh ip bgp 1.0.0.0
    BGP routing table entry for 1.0.0.0/24, version 9772009
    Paths: (1 available, best #1, table default)
    Multipath: eBGP
    Advertised to update-groups:
     15
    Refresh Epoch 1
    175 15169
    192.168.1.1 from 192.168.1.1 (38.28.4.10)
      Origin IGP, metric 10041, localpref 150, valid, external, best
      Community: 11424364 11425276
      rx pathid: 0, tx pathid: 0x0


Router B
    #sh ip bgp summary
   Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
   10.100.100.2    4        48020  748914 2167278 10705132    0    0 2w4d         3350
   192.168.1.1   4          175 2591251   29738 10705000    0    0 2w4d       509418

我的问题是路由器 B 只有一个 1.0.0.0/24 的下一跳(这是一个例子)。我期待路由器 B 有另一个到路由器 A 的下一跳。

路由器 A 按预期显示两个下一跳。

这个问题有严重的影响,如果我们失去路由器 B 作为首选路由器,我们就会失去互联网,因为它无法通过路由器 A 路由流量。

4个回答

在您的情况下,B 不应该有来自 A 的路由,因为 B 本身将其学习到的路由声明为最佳路由,并通过 iBGP 传播此信息。

路由器 A 无法将其学习到的 eBGP 1.0.0.0/8 通告给 B,因为它不是最佳路由。A 的最佳路由是它通过 iBGP 从 B 学到的路由,并且 iBGP 路由不能重新通告。

两个 eBGP 路由器都从两个 ISP 学习网络。当 B 的 ISP 出现故障时,A eBGP 路由将有资格发送到 B。

哈。

默认情况下,每个 BGP 路由器仅通告其最佳路由。由于 A 更喜欢来自 B 的路由而不是外部路由(由于更高的本地优先级),它不会将外部路由通告给 B。

故障转移会起作用,但可能需要一段时间,因为: * B 必须撤销其外部路由 * A 必须选择新的最佳路由 * A 必须向 B 通告新的最佳路由 * B 必须选择新的最佳路由

如果您想要更快的故障转移,请在 A 上使用“BGP best-external”(或类似的东西 - 在 cisco.com 上搜索 best-external)。

路由器 A 没有将该路由通告给路由器 B。

Multipath: eBGP
 Not advertised to any peer

路由器 B 正在将该路由通告给路由器 A。

 Multipath: eBGP
Advertised to update-groups:
 15

配置 A 通过 ibgp 向 B 通告 1.0.0.0。

这是“路径隐藏”的正常 BGP 行为,是缓解扩展问题的传统功能之一。故障转移应该按预期工作。如果您需要在 B 上仍然显示 routerA eBGP llearned 路由,请在 rourterA(以及 B)上使用“best-external”BGP 命令。