¿Tiene una cuenta?
El objetivo de este documento es brindar un enfoque sistemático para ayudar a resolver situaciones de problemas cuando un router de un Protocolo de pasarela de frontera (BGP) no anuncia las rutas BGP a los pares.
Hay muchas maneras en las que se agrega un prefijo a una tabla de protocolo BGP y se lo anuncia a los pares:
Emita el comando network básico debajo de router BGP. Este método se emplea para originar rutas BGP desde el sistema autónomo (AS, autonomous system). Para obtener más información, consulte la sección de comandos de red de Estudios de casos BGP 1.
Redistribuya el protocolo de gateway interior (IGP, Interior Gateway Protocol) o una configuración estática.
Propague las rutas BGP conocidas desde otros pares BGP internos (iBGP) o externos (eBGP).
Nota: Sólo se propagan las mejores trayectorias recibidas de los peers BGP. Consulte Algoritmo de selección de la mejor ruta BGP para ver más información sobre el tema.
Emita el comando aggregate-address. Consulte Explicación de la agregación de rutas en BGPpara ver más información.
No hay requisitos específicos para este documento.
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware. No obstante, los resultados presentados en el documento se basan en routers de la serie Cisco 2500 con el software Cisco IOS® 12.2(24)a.
La información que se presenta en este documento se originó a partir de dispositivos dentro de un ambiente de laboratorio específico. All of the devices used in this document started with a cleared (default) configuration. Si la red está funcionando, asegúrese de haber comprendido el impacto que puede tener un comando antes de ejecutarlo.
Para obtener más información sobre las convenciones del documento, consulte Convenciones de Consejos Técnicos de Cisco.
Al anunciar rutas mediante una instrucción de red básica, el comportamiento del comando network varía en función de si está habilitado o no el resumen automático. Cuando autoresumen está habilitado, resume las redes BGP originadas de manera local (red x.x.x.x) a sus límites con clase (autoresumen está habilitado como valor predeterminado en BGP). Si existe una subred en la tabla de routing y se cumplen estas tres condiciones, cualquier subred (ruta de componente) de esa red con clase de la tabla de routing local impulsa a BGP a instalar la red con clase en la tabla de BGP:
Auto-summary habilitado
Instrucción de red con clase para una red en la tabla de routing
Máscara con clase en dicha instrucción de red
Cuando auto-summary (autoresumen) está deshabilitado, las rutas que se introducen localmente en la tabla de BGP no se resumen en función de sus límites con clase.
Por ejemplo, BGP introduce la red con clase 75.0.0.0 máscara 255.0.0.0 en la tabla de BGP si se cumplen estas condiciones:
La subred en la tabla de ruteo es 75.75.75.0 máscara 255.255.255.0.
Se configura la red 75.0.0.0 con el comando router bgp.
Está habilitado el resumen automático.
Si no se cumplen todas estas condiciones, BGP no instala una entrada en la tabla de BGP, a menos que haya una coincidencia exacta en la tabla de routing IP.
Con auto-summary habilitado en R101, el router no puede anunciar la red Classful 6.0.0.0/8 a R102.
Verifique si R101 anuncia 6.0.0.0/8 a R102. Los resultados presentados confirman que R101 no anuncia 6.0.0.0/8 a R102.
R101# show ip bgp neighbors 10.10.10.2 advertised-routes R101#
Consulte la configuración en ejecución. El ejemplo presentado refleja que R101 está configurado con una instrucción de red con clase. El resumen automático está habilitado de forma predeterminada en la versión del software Cisco IOS empleada para este escenario.
R101# show running-config | begin bgp router bgp 1 network 6.0.0.0 neighbor 10.10.10.2 remote-as 2 [...]
Verifique si tiene una ruta de componente (una ruta con clase o una ruta de subred) de la red 6.0.0.0/8 en la tabla de routing.
R101# show ip route 6.0.0.0 255.0.0.0 longer-prefixes R101#
Como no hay ruta de componente (no hay ruta con clase ni ruta de subred) en la tabla de routing IP de R101, la red 6.0.0.0 no se instala en la tabla de BGP. El requisito mínimo para instalar un prefijo configurado bajo el comando network en una tabla BGP, es tener una ruta componente en la tabla de IP Routing. Así que asegúrese de que R101 tenga una ruta de componente para la red 6.0.0.0/8 ya sea obteniéndola mediante iGP o mediante una configuración estática. En el ejemplo presentado, la ruta estática está configurada como null 0.
R101(config)# ip route 6.6.10.0 255.255.255.0 null 0 200
Apenas la tabla de routing IP tiene una ruta de componente para 6.0.0.0/8, BGP instala una red con clase en la tabla de BGP.
R101# show ip route 6.0.0.0 255.0.0.0 longer-prefixes [..] 6.0.0.0/24 is subnetted, 1 subnets S 6.6.10.0 is directly connected, Null0
Para que el cambio surja efecto en BGP y comience a anunciar la red 6.0.0.0/8 a R102, debe limpiar el vecino BGP o hacer una restauración de software de par. En este ejemplo, se presenta un restablecimiento de software saliente hacia el par 10.10.10.2 para aplicar los cambios. Para ver más detalles sobre el restablecimiento de software, consulte la sección Administración de cambios en la política de routing, en Configuración de BGP.
R101# clear ip bgp 10.10.10.2 [soft] out R101#
Para que el cambio surja efecto en BGP y comience a anunciar la red 6.0.0.0/8 a R102, debe limpiar el vecino BGP o hacer una restauración de software de par. En este ejemplo, se presenta un restablecimiento de software saliente hacia el par 10.10.10.2 para aplicar los cambios. Para más información sobre el reinicio por software, consulte la sección de Administración de cambios en la política del ruteo en Configuración de BGP.
R101# show ip bgp | include 6.0.0.0 *> 6.0.0.0 0.0.0.0 0 32768 i
El comando show ip bgp confirma que la red classful 6.0.0.0/8 se introduce en BGP.
R101# show ip bgp | include 6.0.0.0 *> 6.0.0.0 0.0.0.0 0 32768 i
Confirme que R101 anuncie las rutas a R102.
R101# show ip bgp neighbors 10.10.10.2 advertised-routes | include 6.0.0.0 *> 6.0.0.0 0.0.0.0 0 32768 i
Nota: Con auto-summary inhabilitado, BGP instala la red 6.0.0.0/8 solamente cuando hay una ruta coincidente exacta en la tabla de ruteo. Si hay rutas de subred pero ninguna ruta exactamente igual (6.0.0.0/8) en la tabla de routing, BGP no instala la red 6.0.0.0/8 en la tabla de BGP.
Las redes que caen en una frontera de red importante (255.0.0.0, 255.255.0.0 o 255.255.255.0) no necesitan incluir una máscara. Por ejemplo, el comando network 172.16.0.0 es suficiente para enviar el prefijo 172.16.0.0/16 a la tabla de BGP. Sin embargo, las redes que no caen en fronteras de red importantes necesitan una instrucción de red con una máscara, como network 172.16.10.0 mask 255.255.255.0.
Se necesita una ruta exacta en la tabla de routing para una instrucción de red con una máscara a fin de que se instale en una tabla de BGP.
R101 no puede anunciar la red 172.16.10.0/24 a R102.
Verifique si R101 anuncia el prefijo 172.16.10.0/24 a R102.
R101# show ip bgp neighbors 10.10.10.2 advertised-routes R101#
O
Este comando se puede utilizar para verificar si las rutas se están publicitando:
R101#show ip bgp 172.16.10.0/24 R101# BGP routing table entry for 172.16.10.0/24, version 24480684 Bestpath Modifiers: deterministic-med Paths: (4 available, best #3) Not advertised to any peer <---- not advertised to any peers
El resultado anterior confirma que R101 no está promocionando 192.168.32.0/22 al R102.
Consulte la configuración en ejecución.
R101# show run | begin bgp router bgp 1 network 172.16.10.0
Nota: Desea crear la red 172.10.10.0/24. Esta red no cae en la frontera de una red de clase B (255.255.0.0). Para que funcione, debe configurarse una instrucción de red con la máscara 255.255.255.0.
Tras la configuración de una instrucción de red con máscara, el comando show run presenta resultados similares a estos:
R101# show run | begin bgp router bgp 1 network 172.16.10.0 mask 255.255.255.0
Verifique si la ruta está en la tabla de routing BGP.
R101# show ip bgp | include 172.16.10.0 R101#
La red 172.16.10.0/24 no existe en la tabla de BGP.
Verifique si hay una ruta exactamente igual en la tabla de routing IP. Los resultados presentados confirman que no hay una ruta exactamente igual en la tabla de routing.
R101# show ip route 172.16.10.0 255.255.255.0 % Network not in table R101#
Decida qué rutas desea originar. Luego corrija el protocolo IGP o configure rutas estáticas.
R101(config)# ip route 172.16.10.0 255.255.255.0 null 0 200
Consulte la tabla de routing IP.
R101# show ip route 172.16.10.0 255.255.255.0 longer-prefixes [..] 172.16.0.0/24 is subnetted, 1 subnets S 172.16.10.0 is directly connected, Null0
Verifique que las rutas estén en la tabla BGP
R101# show ip bgp | include 172.16.10.0 *> 172.16.10.0/24 0.0.0.0 0 32768 i
Para que el cambio se aplique en BGP y comience a anunciarle la red 6.0.0.0/8 al R102, debe borrar el vecino BGP o hacer un reinicio del par por software. En este ejemplo, se emplea un restablecimiento de software saliente hacia al par 10.10.10.2. Para ver más detalles sobre los restablecimientos de software, consulte la sección Administración de cambios en la política de routing, en Configuración de BGP.
R101# clear ip bgp 10.10.10.2 [soft] out
Confirme que las rutas se estén publicitando a R102.
R101# show ip bgp neighbors 10.10.10.2 advertised-routes | include 172.16.10.0 *> 172.16.10.0/24 0.0.0.0 0 32768 i
BGP permite la agregación de rutas específicas en una ruta mediante el comando de máscara de dirección aggregate-address. La agregación se aplica a las rutas que forman parte de la tabla de routing BGP. Esto es a diferencia del comando network, que se aplica a las rutas que existen en la tabla de IP Routing. La agregación se puede llevar a cabo si en la tabla de routing BGP hay al menos una ruta específica de la dirección combinada. Para obtener más información sobre el agregado de BGP y atributos relacionados, consulte Introducción al agregado de rutas en BGP.
En este diagrama de red, R101 no puede anunciar la dirección combinada 192.168.32.0/22 a R102. La red 192.168.32.0/22 combina estos tres espacios de dirección de clase C:
192.168.33.0/24
192.168.35.0/24
192.168.35.0/24
Confirme que R101 no esté anunciando 192.168.32.0/22 a R102.
R101# show ip bgp neighbors 10.10.10.2 advertised-routes | include 192.168.32.0 R101#
Consulte la configuración en ejecución.
router bgp 1 [..] aggregate-address 192.168.32.0 255.255.252.0 summary-only neighbor 10.10.10.2 remote-as 2
R101 está configurado para anunciar solo la dirección combinada a R102 mediante el atributo "summary-only".
Consulte la tabla de routing IP.
R101# show ip route 192.168.32.0 255.255.252.0 longer-prefixes [..] S 192.168.33.0/24 is directly connected, Null0
La tabla de routing IP tiene la ruta de componente de la agregación 192.168.32.0/22; no obstante, para que una dirección combinada se anuncie a un par, debe haber una ruta de componente en la tabla de routing BGP en lugar de la tabla de routing IP. La tabla de routing IP tiene la ruta de componente de la agregación 192.168.32.0/22; no obstante, para que una dirección combinada se anuncie a un par, debe haber una ruta de componente en la tabla de routing BGP en lugar de la tabla de routing IP.
Verifique si hay una ruta de componente en la tabla de routing BGP.
R101# show ip bgp 192.168.32.0 255.255.252.0 longer R101#
Los resultados confirman que la tabla de BGP no tiene una ruta de componente, por lo cual el siguiente paso lógico es asegurarse de que haya una ruta de componente en la tabla de BGP.
En este ejemplo, la ruta de componente 192.168.33.0 se instala en la tabla de BGP mediante el comando network.
R101(config)# router bgp 1 R101(config-router)# network 192.168.33.0
Verifique si la ruta de componente está en la tabla de BGP.
R101# show ip bgp 192.168.32.0 255.255.252.0 longer-prefixes BGP table version is 8, local router ID is 10.10.20.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 192.168.32.0/22 0.0.0.0 32768 i s> 192.168.33.0 0.0.0.0 0 32768 i R101#
La "s" significa que la ruta de componente se suprime debido al argumento "summary-only".
Confirme que la agregación se anuncie a R102.
R101# show ip bgp n 10.10.10.2 advertised-routes | include 192.168.32.0/22 *> 192.168.32.0/22 0.0.0.0
Un router BGP con sincronización habilitada no publicita rutas recibidas por iBGP a otros pares eBGP si no puede validarlas en su IGP. Suponiendo que IGP tiene una ruta a rutas obtenidas por iBGP, el router anunciará las rutas iBGP a los pares eBGP. De lo contrario, el router trata a la ruta como si no estuviera sincronizada con IGP y no la publicita. Al desactivar la sincronización mediante el comando no synchronization debajo de router BGP, BGP no puede validar las rutas iBGP en IGP. Para obtener más información, consulte la sección Sincronización de Estudios de casos BGP.
En el diagrama presentado, R101 obtiene el prefijo 130.130.130.0/24 de R103 mediante iBGP y no puede anunciarlo al par eBGP R102.
Primero consulte R101.
R101# show ip bgp neighbors 10.10.20.2 advertised-routes | include 130.130.130.0 R101#
La salida antes mencionada confirma que R101 no anuncia el prefijo 130.130.130.0/24 a R102. Mire la tabla de BGP en R101:
R101# show ip bgp 130.130.130 255.255.255.0 longer BGP table version is 4, local router ID is 10.10.20.1 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path * i130.130.130.0/24 10.10.20.3 0 100 0 i R101#
La red 130.130.130.0/24 figura en la tabla de BGP. No obstante, la red 130.130.130.0/24 no tiene el código de estado de mejor ruta (>). Esto significa que el algoritmo de selección del mejor trayecto BGP no eligió este prefijo como el mejor trayecto. Dado que sólo se anuncian los mejores trayectos a los pares BGP, la red 130.130.130.0/24 no se anuncia a R102. Luego, debe averiguar por qué los criterios de selección de rutas BGP no seleccionaron esta red como la mejor ruta.
Examine los resultados del comando show ip bgp prefix para ver más detalles sobre por qué el prefijo no se eligió como la mejor ruta ni se instaló en la tabla de routing IP.
R101# show ip bgp 130.130.130.0 BGP routing table entry for 130.130.130.0/24, version 4 Paths: (1 available, no best path) Not advertised to any peer Local 10.10.20.3 from 10.10.20.3 (130.130.130.3) Origin IGP, metric 0, localpref 100, valid, internal, not synchronized
El resultado muestra que el prefijo 130.130.130.0/24 no está sincronizado.
Nota: Antes de la identificación del error CSCdr90728 ("las trayectorias BGP no se marcan como no sincronizadas"), el comando show ip bgp prefix no mostraba las trayectorias marcadas como no sincronizadas. Este problema está corregido en las versiones 12.1(4) y posteriores del software del IOS de Cisco.
Consulte la configuración de BGP en ejecución.
R101# show ip protocols Routing Protocol is "bgp 1" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set IGP synchronization is enabled Automatic route summarization is disabled Neighbor(s): Address FiltIn FiltOut DistIn DistOut Weight RouteMap 10.10.10.2 10.10.20.3 Maximum path: 1 Routing for Networks: Routing Information Sources: Gateway Distance Last Update 10.10.20.3 200 01:48:24 Distance: external 20 internal 200 local 200
En los resultados anteriores se ve que la sincronización de BGP está habilitada. La sincronización de BGP viene habilitada de forma predeterminada en el software Cisco IOS.
Configure BGP para desactivar la sincronización. Emita el comando no synchronization debajo de router BGP.
R101(config)# router bgp 1 R101(config-router)# no synchronization R101# show ip protocols Routing Protocol is "bgp 1" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set IGP synchronization is disabled Automatic route summarization is disabled Neighbor(s): Address FiltIn FiltOut DistIn DistOut Weight RouteMap 10.10.10.2 10.10.20.3 Maximum path: 1 Routing for Networks: Routing Information Sources: Gateway Distance Last Update 10.10.20.3 200 01:49:24 Distance: external 20 internal 200 local 200
En la siguiente ejecución del escáner de BGP, que escanea la tabla de BGP cada 60 segundos y toma decisiones a partir de los criterios de selección de rutas BGP, se instalará la red 130.130.130.0 (porque está desactivada la sincronización). Esto significa que el tiempo máximo para instalar la ruta es de 60 segundos, pero puede ser menos, dependiendo de cuándo se haya configurado el comando no synchronization y de cuándo ocurra la próxima instancia del escáner BGP. Por eso es mejor esperar 60 segundos antes del siguiente paso de verificación.
Verifique que se haya instalado la ruta.
Los resultados presentados confirman que el prefijo 130.130.130.0/24 es la mejor ruta; por ende, se instala en la tabla de routing IP y se propaga al par 10.10.10.2.
R101# show ip bgp 130.130.130.0 BGP routing table entry for 130.130.130.0/24, version 5 Paths: (1 available, best #1, table Default-IP-Routing-Table) Advertised to non peer-group peers: 10.10.10.2 Local 10.10.20.3 from 10.10.20.3 (130.130.130.3) Origin IGP, metric 0, localpref 100, valid, internal, best R101# show ip bgp neighbors 10.10.10.2 advertised-routes | include 130.130.130.0/24 *>i130.130.130.0/24 10.10.20.3 0 100 0 i
Si los routers están conectados con dos enlaces, y las rutas se obtienen mediante rutas estáticas flotantes y BGP, las rutas estáticas flotantes se instalan en la tabla de routing. Esto sucede si las rutas estáticas se redistribuyen ante una falla de la ruta BGP. Si las rutas BGP recuperan la conexión, las rutas estáticas flotantes de la tabla de routing no se modifican para reflejar las rutas BGP.
Este problema puede resolverse si elimina el comando redistribute static debajo del proceso de BGP, para evitar que se prioricen las rutas estáticas flotantes por sobre las rutas BGP.
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
24-Jul-2006 |
Versión inicial |