Internes Problem mit dem Austausch von BGP-Routen

8

Ich habe BGP Multihoming mit zwei Cisco Routern. Jeder Router hat seinen eigenen ISP und meldet unseren AS mit unserem / 24-Netzwerk im Internet an.

Mein Problem liegt zwischen diesen beiden Routern:

Router A, Routing-Tabelle sieht aus wie:

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

Router B, Routing-Tabelle sieht aus wie:

Router # 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

Router 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

Router 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

Mein Problem ist, dass Router B nur einen Next Hop für 1.0.0.0/24 hat (dies ist ein Beispiel). Ich erwarte, dass Router B einen weiteren Next Hop zu Router A hat.

Router A zeigt erwartungsgemäß beide Next Hop an.

Dieses Problem hat schwerwiegende Auswirkungen. Wenn wir Router B als bevorzugten Router verlieren, verlieren wir das Internet, da er den Datenverkehr nicht über Router A weiterleiten kann.

Hugo
quelle
1
Bitte erwägen Sie, weitere Details hinzuzufügen . Die Konfigurationen von Router A und B sowie ein Diagramm, das die Positionen der Nexthops relativ zu diesen Routern zeigt, würden helfen. Ich vertraue darauf, dass Sie iBGP zwischen A und B eingerichtet haben, nein?
Mike Pennington
Ok, ich mache das so schnell wie möglich. Ja, es gibt eine iBGP-Sitzung zwischen den Routern. Das Peering zwischen zwei Routern scheint jedoch gesund zu sein.
Hugo
2
Könnten Sie auch eine Ausgabe von bereitstellen sho ip bgp 1.0.0.0? Ich frage mich, ob RouterA den Pfad von RouterB als besser als den externen Pfad ansieht (aufgrund lokaler Präferenzen) und seinen anderen bekannten Pfad nicht an RouterB weiterleitet. Wenn dies korrekt ist, gibt RouterA seinen Pfad automatisch bekannt, wenn der RouterB-Pfad nicht mehr angezeigt wird.
cpt_fink
Router B zeigt die eBGP-Lernroute. Router A zeigt iBGP-Lernrouten. Haben Sie iBGP-Peering zwischen Ihren eBGP-Routern?
Rais
1
2 Tage später benötigt diese Frage noch die Konfigurationen und das Diagramm. Wir wollen bitte, aber Spekulation ist hier keine Kernkompetenz
Mike Pennington

Antworten:

1

In Ihrem Fall sollte B keine Route von A haben, da B selbst seine gelernte Route als beste Route deklariert und diese Informationen über iBGP verbreitet.

Router A kann sein eBGP 1.0.0.0/8 nicht an B weitergeben, da dies nicht die beste Route ist. Die beste Route für A ist die, die über iBGP von B gelernt wurde, und iBGP-Routen können nicht erneut angekündigt werden.

Beide eBGP-Router lernen Netzwerke von beiden ISPs. Wenn ISP for B fehlschlägt, können A eBGP-Routen an B gesendet werden.

HTH.

Rais
quelle
1
Ihre Argumentation scheint durch die Dokumentation in der Frage nicht eindeutig gestützt zu werden
Mike Pennington
1

Standardmäßig kündigt jeder BGP-Router nur seine besten Routen an. Da A die Route von B gegenüber der externen Route bevorzugt (aufgrund höherer lokaler Präferenzen), wird die externe Route nach B nicht angekündigt.

Das Failover funktioniert, kann jedoch eine Weile dauern, weil: * B seine externen Routen widerrufen muss * A neue beste Routen auswählen muss * A neue beste Routen ankündigen muss * B neue neue beste Routen auswählen muss

Wenn Sie ein schnelleres Failover wünschen, verwenden Sie "BGP best-external" (oder etwas in dieser Richtung - suchen Sie auf cisco.com nach best-external) auf A.

ioshints
quelle
0

Router A wirbt nicht für diese Route zu Router B.

Multipath: eBGP
 Not advertised to any peer

Router B wirbt für diese Route zu Router A.

 Multipath: eBGP
Advertised to update-groups:
 15

Konfigurieren Sie A, um 1.0.0.0 über ibgp für B zu werben.

user22609
quelle
-3

Dies ist ein normales BGP-Verhalten beim "Ausblenden von Pfaden", einer der älteren Funktionen, um das Skalierungsproblem zu lösen. Das Failover sollte wie vorgesehen funktionieren. Wenn der Router A eBGP llearned Route weiterhin auf B angezeigt werden soll, verwenden Sie den Befehl 'best-external' BGP auf rourterA (sowie in B).

Gewonnen
quelle