Problema interno de intercambio de ruta BGP

8

Tengo BGP multihoming con dos enrutadores Cisco. Cada enrutador tiene su propio ISP y anuncia nuestro AS con nuestra red / 24 a Internet.

Mi problema es entre esos dos enrutadores:

Router A, la tabla de enrutamiento se ve así:

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, la tabla de enrutamiento se ve así:

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

Mi problema es que el Router B solo tiene un Next Hop para el 1.0.0.0/24 (este es un ejemplo). Espero que el enrutador B tenga otro salto siguiente al enrutador A.

El enrutador A muestra el siguiente salto como se esperaba.

Este problema tiene un grave impacto. Si perdemos el enrutador B como enrutador preferido, perdemos Internet, ya que no puede enrutar el tráfico a través del enrutador A.

Hugo
fuente
1
Por favor considere agregar más detalles . Las configuraciones de los enrutadores A y B, así como un diagrama que muestre las ubicaciones de los nexthops en relación con esos enrutadores ayudarían. Confío en que hayas configurado iBGP entre A y B, ¿no?
Mike Pennington
Ok, lo haré lo antes posible. Sí, hay una sesión de iBGP entre los enrutadores. Sin embargo, mirar entre dos enrutadores parece saludable.
Hugo
2
¿Podría también proporcionar una salida de sho ip bgp 1.0.0.0? Me pregunto si RouterA está viendo la ruta de RouterB mejor que su ruta externa (debido a la preferencia local) y no está anunciando su otra ruta conocida a RouterB. Si esto es correcto, el RouterA anunciará su ruta automáticamente si la ruta del RouterB desaparece.
cpt_fink
El enrutador B muestra la ruta aprendida eBGP. El enrutador A muestra las rutas aprendidas de iBGP. ¿Tiene el emparejamiento iBGP entre sus enrutadores eBGP?
Rais
1
2 días después, esta pregunta aún necesita las configuraciones y el diagrama. Nuestro objetivo es complacer, pero la especulación no es una competencia central aquí
Mike Pennington

Respuestas:

1

En su caso, B no debería tener una ruta desde A porque B está declarando su ruta aprendida como la mejor ruta y está diseminando esta información a través de iBGP.

El enrutador A no puede anunciar su eBGP aprendido 1.0.0.0/8 a B porque no es la mejor ruta. La mejor ruta para A es la que aprendió a través de iBGP de B y las rutas de iBGP no pueden volver a anunciarse.

Ambos enrutadores eBGP son redes de aprendizaje de ambos ISP. Cuando el ISP para B falla, las rutas A eBGP serán elegibles para enviarse a B.

HTH.

Rais
fuente
1
Su argumento no parece estar claramente respaldado por la documentación en la pregunta
Mike Pennington
1

Por defecto, cada enrutador BGP anuncia solo sus mejores rutas. Como A prefiere la ruta desde B sobre la ruta externa (debido a una mayor preferencia local), no anuncia la ruta externa a B.

La conmutación por error funcionará, pero puede llevar un tiempo porque: * B tiene que revocar sus rutas externas * A tiene que seleccionar nuevas mejores rutas * A tiene que anunciar nuevas mejores rutas a B * B tiene que seleccionar nuevas mejores rutas

Si desea una conmutación por error más rápida, use "BGP best-external" (o algo parecido): busque best-external en cisco.com) en A.

Iioshints
fuente
0

El enrutador A no anuncia esa ruta al enrutador B.

Multipath: eBGP
 Not advertised to any peer

El enrutador B está anunciando esa ruta al enrutador A.

 Multipath: eBGP
Advertised to update-groups:
 15

Configure A para anunciar 1.0.0.0 a B a través de ibgp.

usuario22609
fuente
-3

Este es un comportamiento normal de BGP de 'ocultación de ruta', una de las características heredadas para solucionar el problema de escalado. La conmutación por error debería funcionar según lo previsto. Si necesita que el enrutadorA La ruta aprendida eBGP siga apareciendo en B, utilice el comando BGP 'best-external' en el enrutadorA (así como en B).

Won
fuente