Quand les routes BGP ne sont pas annoncées ccnp_cch
Sommaire • Introduction • Routes annoncées utilisant la commande network - Etapes de résolution de problèmes • Routes annoncées utilisant la commande network avec un masque - Etapes de résolution de problèmes • Routes annoncées utilisant la commande aggregate-address - Etapes de résolution de problèmes • Impossible d'annoncer les routes apprises par iBGP - Etapes de résolution de problèmes ccnp_cch
Introduction Le but de ce document est de fournir une approche systématique pour aider à résoudre les problèmes quand BGP (Border Gateway Protocol) n'annonce pas les routes BGP aux voisins. Il y a plusieurs moyens pour ajouter un préfixe dans une table BGP et de l'annoncer à ses voisins: • Utilisez la commande de base network sous le niveau commande router bgp. Cette méthode est utilisée pour générer des routes BGP à partir du système autonome. (AS). • Redistribuez le protocole IGP ou les routes statiques. • Propagez les routes BGP apprises d'autres voisins iBGP ou eBGP. Note: Seuls les meilleurs chemins reçus des voisins BGP sont propagés. • Utilisez la commande aggregate-address. Routes annoncées en utilisant la commande network Quand l'annonce des routes est faite en utilisant la commande network, le comporte- ment de cette commande est différent selon que l'auto-agrégation est validée ou non. Quand l'auto-agrégation est validée, les routes des réseaux BGP générées localement sont agrégées à la limite pleine classe (l'auto-agrégation est validée par défaut dans BGP). Quand un sous-réseau existe dans la table de routage et que les trois conditions suivantes sont satisfaites alors tout sous-réseau (composant de la route) du réseau pleine classe dans la table de routage déclenchera l'installation du réseau pleine classe dans la table BGP: • Auto-agrégation validée • Commande network pleine classe pour un réseau dans la table de routage • Masque pleine classe avec la commande network Quand l'auto-agrégation est dévalidée, les routes introduites localement dans la table BGP ne sont pas agrégées à la limite pleine classe. Par exemple si le sous-réseau dans la table de routage est 75.75.75.0 que le masque est 255.255.255.0 et que vous configurez le réseau 75.0.0.0 sous la commande router bgp avec l'auto-agrégation validé, BGP introduira le réseau pleine classe 75.0.0. 0 avec le masque 255.0.0.0 dans la table BGP. Si les trois conditions précédentes ne sont pas toutes respectées alors BGP n'installera pas d'entrée dans la table de routage sauf s'il y a une correspondance exacte avec la table de routage IP. ccnp_cch
Etapes de résolution de problèmes Le routeur R101 n'est pas capable d'annoncer le réseau pleine classe 6.0.0.0/8 vers R102. R101 AS 1 6.0.0.0/8 AS 2 R102 .1 .2 10.10.10.0/24 1. Vérifiez si R101 annonce le réseau 6.0.0.0/8 vers R102. La sortie ci-dessous confir- me que R101 n'annonce pas le réseau 6.0.0.0/8 vers R102. R101# show ip bgp neighbors 10.10.10.2 advertised-routes R101# 2. Vérifiez la configuration. L'exemple ci-dessous montre que R101 est configuré avec la commande network pleine classe. R101# show run | begin bgp router bgp 1 network 6.0.0.0 neighbor 10.10.10.2 remote-as 2 ..... 3. Vérifiez s'il y a une route (une route pleine classe ou une route sous-réseau) pour le réseau 6.0.0.0/8 dans la table de routage. R101# show ip route 6.0.0.0 255.0.0.0 longer-prefixes R101# 4. Comme il n'y a pas de route (ni pleine classe ni sous-réseau) dans la table de rou- tage IP de R101, le réseau 6.0.0.0 n'est pas installé dans la table BGP. La condition minimale pour qu'un préfixe configuré avec la commande network soit installé dans la table de routage BGP est d'avoir une route dans la table de routage IP. Pour cela assurez-vous que R101 a une route pour le réseau 6.0.0.0/8 soit en ap- prenant la route par un IGP ou par une configuration statique. Dans l'exemple ci-dessous, la route statique est configurée sur null0. R101(config)# ip route 6.6.10.0 255.255.255.0 null0 200 ccnp_cch
5. Dès que la table de routage IP a une route pour le réseau 6 5. Dès que la table de routage IP a une route pour le réseau 6.0.0.0/8, BGP installe un réseau pleine classe dans la table BGP. R101# show ip route 6.0.0.0 255.0.0.0 longer-prefixes ........ 6.0.0.0/24 is subnetted, 1 ssubnets S 6.6.10.0 is directly connected, Null0 6. Pour cette route statique nouvellement créee soit prise en compte dans BGP et que celui- annonce le réseau 6.0.0.0/8 vers R102, vous devez soit réinitialiser le voisin BGP ou exécuter une réinitialisation logicielle du voisin. L'exemple suivant montre une réinitialisation logicielle du voisin 10.10.10.2 pour prendre en compte les changements. Pour plus de détails sur la réinitialsation logicielle voir la section "Managing Policy Changes" dans le document "Configuring BGP". R101# clear ip bgp 10.10.10.2 [soft] out R101# 7. La commande show ip bgp confirme que le réseau pleine classe 6.0.0.0/8 est dans la table BGP. R101# show ip bgp | include 6.0.0.0 *> 6.0.0.0 0.0.0.0 0 32768 i R101# 8. Vérifiez que R101 annonce bien les routes vers R102. R101# show ip bgp neghbors 10.10.10.2 advertised-routes | include 6.0.0.0 *> 6.0.0.0 0.0.0.0 0 32768 i Note: Avec l'auto-agrégation dévalidée, BGP installera le réseau 6.0.0.0/8 dans la table de routage BGP uniquement lorsqu'une correspondance exacte sera trouvée dans la table de routage IP. S'il y a des routes de sous-réseaux mais pas de corres- pondance exacte de route (6.0.0.0/8) dans la table de routage IP, BGP n'installera pas le réseau 6.0.0.0/8 dans la table BGP. ccnp_cch
Routes annoncées en utilisant la commande network avec un masque de sous-réseau Les adresses de réseaux qui ont des préfixes standards pleine classe (255.0.0.0, 255. 255.0.0, 255.255.255.0) n'ont pas besoin d'avoir un masque pour la commande net- work. Par exemple la commande network 172.16.0.0 est suffisante pour que le préfixe 172.16.0.0/16 soit introduit dans la table BGP. Cependant les réseaux dont le préfixe de réseau n'est pas un préfixe pleine classe standard doivent avoir la commande net- work avec un masque tel que network 172.16.16.0 mask 255.255.255.0. Une route avec une correspondance exacte dans la table de routage IP est obligatoire pour que cette route soit installée dans la table BGP. Etapes de résolution de problèmes Le routeur R101 n'est pas capable d'annoncer le réseau pleine classe 172.16.10.0/24 vers R102. R101 AS 1 172.16.10.0/24 AS 2 R102 .1 .2 10.10.10.0/24 1. Vérifiez si R101 annonce le préfixe 172.16.10.0/24 vers R102. R101# show ip bgp neighbors 10.10.10.2 advertised-routes R101# La sortie ci-dessus-confirme que R101 n'annonce pas Le préfixe 172.16.10.0/24 vers 102. 2. Vérifiez la configuration. R101# show run | begin bgp router bgp 1 network 172.16.10.0 ..... Note: Vous voulez que R101 soit à l'origine du réseau 172.16.10.0/24. Ce réseau n'a pas un préfixe de classe B (255.255.0.0). La commande network doit être uti- lisée avec le masque 255.255.255.0 pour que cele fonctionne correctement. 3. Après avoir configuré le routeur avec la commande network et le masque, la sortie de la commande show run ressemble à ceci: R101# show run | begin bgp router bgp 1 network 172.16.10.0 mask 255.255.255.0 ccnp_cch
4. Vérifiez si la route est dans la table de routage BGP 4. Vérifiez si la route est dans la table de routage BGP. R101# show ip bgp | include 172.16.10.0 R101# Le réseau 172.16.10.0/24 n'existe pas dans la table de routage BGP. 5. Vérifiez s'il y a une correspondance exacte avec la table de routage IP. La sortie ci-dessous confuirme qu'il n'y a pas de route exacte dans la table de routage IP. R101# show ip route 172.16.10.0 255.255.255.0 % Network not in table R101# 6. Décidez quelles routes vous voulez générer. Ensuite configurer un IGP ou confi- gurez des routes statiques. R101(config)# ip route 172.16.10.0 255.255.255.0 null0 200 7. Vérifiez la table de routage IP. R101# show ip route 172.16.10.0 255.255.255.0 longer-prefixes ..... 172.16.10.0/24 is subnetted, 1 subnets S 172.16.10.0 is directly connected, Null0 R101# 8. Vérifiez si la route est dans la tablede routage BGP. R101# show ip bgp | include 172.16.10.0 *> 172.16.10.0/24 0.0.0.0 0 32768 i R101# 9.Pour cette route statique nouvellement créeee soit prise en compte dans BGP et que celui- annonce le réseau 172.16.10.0/24 vers R102, vous devez soit réinitia- liser le voisin BGP ou exécuter une réinitialisation logicielle du voisin. L'exemple suivant montre une réinitialisation logicielle du voisin 10.10.10.2 pour prendre en compte les changements. Pour plus de détails sur la réinitialsation logicielle voir la section "Managing Policy Changes" dans le document "Configuring BGP". R101# clear ip bgp 10.10.10.2 [soft] out R101# 10. Confirmez que les routes sont bien annoncées vers R102. R101# show ip bgp neghbors 10.10.10.2 advertised-routes | include 172.16.10.0 *> 172.16.10.0/14 0.0.0.0 0 32768 i ccnp_cch
Routes annoncées avec la commande aggregate-address BGP autorise l'agrégation de routes spécifiques en une route en utilisant la commande aggregate-address address mask. L'agrégation s'applique aux routes qui existent dans la table de routage BGP. Ceci est en opposition avec la commande network qui s'appli- que aux routes qui existent dans la table de routage IP. L'agrégation peut se faire si au moins une route de l'adresse à agréger existe dans la table de routager BGP. Pour plus de détails sur l'agrégation BGP et ses attributs voir le document "Comprendre l'agréga- tion de routes dans BGP". Etapes de résolution de problèmes R101 AS 1 192.168.32.0/22 AS 2 R102 .1 .2 10.10.10.0/24 Dans le schéma ci-dessus, R101 n'est pas capable d'annoncer l'adresse agrégée 192.168.32.0/22 vers R102. Le réseau 192.168.32.0/22 agrège trois adresses de classe C suivantes: • 192.168.33.0/24 • 192.168.34.0/24 • 192.168.35.0/24 1. Confirmez que R101 n'annonce pas le préfixe 192.168.32.0/22 vers R102. R101# show ip bgp neighbors 10.10.10.2 advertised-routes | include 192.168.32.0 R101# 2. Vérifiez la configuration. R101# show run | begin bgp 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 configuré pour annoncer uniquement la route agrégée vers R102 en utilisant l'attribut "summary-only" ccnp_cch
3. Vérifiez la table de routage IP. R101# show ip route 192. 168. 32 3. Vérifiez la table de routage 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 table de routage IP a la route faisant partie de la route agrégée 192.168.32.0; Cependant pour qu'une adresse agrégée soit annoncée à un voisin, une route doit exister dans la table de routage BGP au lieu de la table de routage IP. 4. Vérifiez si une route faisant partie de la route agrégée est dans la table de rou- tage BGP. R101# show ip bgp 192.168.32.0 255.255.252.0 longer-prefixes R101# La sortie ci-dessus confirme que la table de routage BGP n'a pas de route alors l'étape logique suivante est de faire en sorte qu'une route existe dans la table de routage BGP. 5. Dans cet exemple, une route 192.168.33.0 est installée dans la table de routage BGP en utilisant la commande network. R101(config)# router bgp 1 R101(config-router)# network 192.168.33.0 6. Vérifiez si la route existe dans la table de routage 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.0.0.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/24 0.0.0.0 32768 i s> 192.168.33.0 0.0.0.0 0 32768 i R101# La lettre "s" signifie que la route a été supprimée à cause de l'argument "summary -only". 7. Vérifiez que la route agrégée est bien annoncée vers R102.. R101# show ip bgp neighbor advertised-route | include 192.168.32.0/22 *> 192.168.32.0/22 0.0.0.0 R101# ccnp_cch
Impossibilité d'annoncer les routes apprises par iBGP Un routeur BGP avec la synchronisation validée n'annoncera pas les routes apprises aux autres voisins eBGP s'il n'est pas capable de valider ces routes dans son IGP. Supposons que l'IGP a une route vers les routes apprises par iBGP, le routeur annon- cera les routes iBGP aux voisins eBGP autrement le routeur traite cette route comme non-synchronisée avec l'IGP et ne l'annonce pas. Dévalider la synchronisation en utili- sant la commande no synchronisation en mode de configuration router empêche BGP de valider les routes iBGP dans IGP. Etapes de résolution de problèmes Dans le schéma ci-dessous, R101 apprend le préfixe 130.130.130./24 de R103 via iBGP et n'est pas capable d'annoncer ce préfixe vers le voisin eBGP R102. 130.130.130.0/24 AS 2 130.130.130.0/24 R101 .1 .2 R102 .1 10.10.10.0/24 iBGP 10.10.20.0/24 .3 R103 AS 1 1. Vérifiez R101. R101# show ip bgp neighbors 10.10.20.3 advertised-routes | include 130.130.130.0 R101# La sortie ci-dessus confirme que R101 n'annonce pas le préfixe 130.130.130.0/24 vers R102. Vérifions la table de routage BGP de R101. R101# show ip bgp 130.130.130.0 255.255.255.0 longer-prefixes 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 *i 130.130.130.0/24 10.10.20.3 0 100 0 i R101# Le réseau 130.130.130.0/24 existe dans la table de routage BGP; Cependant le ré- seau 130.130.130.0/24 n'a pas l'état meilleure route (>). Ceci signifie que la sélection de chemin BGP n'a pas choisi ce préfixe comme meilleur chemin. Comme seuls les meilleurs chemins sont annoncés vers les voisins BGP, le réseau 130.130.130.0/24 n'est pas annoncé vers R102. Maintenant vous devez trouver pourquoi la sélection de chemin BGP n'a pas trouvé ce chemin comme étant le meilleur. ccnp_cch
2. L'étude de la sortie show ip bgp prefix donne plus de détails sur la raison pour laquelle ce préfixe n'a pas été choisi comme la meilleure route et n'a pas été ins- tallée dans la table de routage 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 advertise 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 La sortie ci-dessus montre que la synchronisation BGP n'est pas validée par dé- faut dans l'IOS Cisco. 3. Vérifiez la configuration BGP. 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 La sortie ci-dessus montre que la synchronisation BGP est validée par défaut dans L'IOS Cisco. 4. Configurez BGP pour dévalider la synchronisation en utilisant la commande no synchronization. R101(config)# router bgp 1 R101(config-router)# no synchronisation ccnp_cch
Vérification de BGP. 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 Au prochain cycle de l'explorateur BGP qui explore la table BGP toutes les 60 secondes et prend sa décision sur la base des critères de sélection BGP, le réseau 130.130.130.0 sera installé. Cela signifie que le temps maximum pour qu'une route soit installée est 60 secondes mais cela peut être moins selon le moment où la commande no synchronization est entrée dans le cycle de l'explorateur BGP. Aussi il est préférable d'attendre une minute pour effectuer la vérification. 5. Vérification de l'installation de la route. La sortie ci-dessous confirme que le préfixe 130.130.130.0/24 est la meilleure route; Par conséquent elle est installée dans la table de routage IP et propagée vers le voisin 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) Advertise 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 *>i 130.130.130.0/24 10.10.20.3 0 100 0 i ccnp_cch