Table des matières

Introduction

Conditions préalables

Exigences

Composants utilisés

Conventions

Informations générales

Routes annoncées avec une instruction réseau de base

Suivez ces étapes pour résoudre le problème

Routes annoncées avec l'instruction réseau avec un masque

Suivez ces étapes pour résoudre le problème

Routes annoncées avec la commande aggregate-address

Suivez ces étapes pour résoudre ce problème

Impossible d'annoncer les routes apprises par iBGP

Suivez ces étapes pour résoudre le problème

Routes annoncées avec redistribution statique

Informations connexes

Introduction

Ce document décrit comment effectuer le dépannage lorsqu’un routeur utilisant le protocole de passerelle frontière (BGP) n’annonce pas les routes BGP aux homologues.

Conditions préalables

Exigences

Aucune exigence spécifique n'est associée à ce document.

Composants utilisés

Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques. Cependant, les résultats présentés dans le document sont basés sur les routeurs de la gamme Cisco 2500 qui exécutent la version 12.2(24)a du logiciel Cisco IOS®.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

Conventions

Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous aux Conventions relatives aux conseils techniques Cisco.

Informations générales

Ce document fournit une approche systématique pour aider à dépanner les situations où un routeur Border Gateway Protocol (BGP) n'annonce pas les routes BGP aux homologues.

Il existe plusieurs façons d'ajouter un préfixe à une table BGP et de l'annoncer aux homologues :

- Émettez la commande basicnetworksous le routeur BGP. Cette méthode est utilisée pour créer des routes BGP à partir du système autonome (AS). Pour plus d'informations, référez-vous à la section commande network de l'étude de cas BGP 1.

- Redistribuer une configuration Interior Gateway Protocol (IGP) ou une configuration statique.

- Propager des routes BGP apprises à partir d'autres homologues BGP internes (iBGP) ou BGP externes (eBGP).

Remarque : seuls les meilleurs chemins reçus des homologues BGP sont propagés. Reportez-vous à l'Algorithme de sélection du meilleur chemin BGP pour plus d'informations sur la sélection du chemin le plus approprié.

- Exécutez la commande aggregate-address. Référez-vous àComprendre l'agrégation de route dans BGPpour plus d'informations.

Routes annoncées avec une instruction réseau de base

Lorsque des routes sont annoncées avec une instruction network de base, le comportement de la commande network varie selon que auto-summary est activé ou désactivé. Lorsque le résumé automatique est activé, il résume les réseaux BGP créés localement (networkx.x.x.x) à leurs limites par classe (le résumé automatique est activé par défaut dans BGP). Quand un sous-réseau existe dans la table de routage et que ces trois conditions sont remplies, n'importe quel sous-réseau (route de composant) de ce réseau classful dans la table de routage locale invite le BGP à installer le réseau classful dans la table BGP :

- Résumé automatique activé

- Instruction réseau classful pour un réseau dans la table de routage

- Masque classful sur cette instruction réseau

Si le résumé automatique est désactivé, les routes introduites localement dans la table BGP ne sont pas résumées à leurs limites classful.

Par exemple, BGP introduit le réseau classful 10.0.0.0 de masque 255.0.0.0 dans la table BGP si les conditions suivantes sont remplies :

- Le sous-réseau dans la table de routage est 10.75.75.0 de masque 255.255.255.0.

- Vous configurez le réseau 10.0.0.0 sous la commande router bgp.

- Le résumé automatique est activé.

Si ces conditions ne sont pas toutes réunies, le BGP n'installe pas d'entrée dans la table BGP à moins d'une correspondance exacte dans la table de routage IP.

Suivez ces étapes pour résoudre le problème

Le résumé automatique étant activé sur R101, le routeur ne peut pas annoncer le réseau classful 172.16.0.0/16 à R102.

Le routeur ne peut pas annoncer

1. Vérifiez si R101 annonce 172.16.0.0/16 à R102. La sortie affichée confirme que R101 n'annonce pas 172.16.0.0/16 à R102.

R101#show ip bgp neighbors 10.10.10.2 advertised-routes

Total number of prefixes 0

R101#

2. Vérifiez si la configuration s'exécute. L'exemple présenté montre que R101 est configuré avec l'instruction de réseau classful. Le résumé automatique est activé par défaut dans la version de logiciel Cisco IOS utilisée pour ce scénario.

R101#

show running-config | begin bgp

router bgp 1

network 172.16.0.0

neighbor 10.10.10.2 remote-as 2

[...]

3. Vérifiez si la table de routage contient une route de composant (route par classe ou route de sous-réseau) de network172.16.0.0/16.

R101#show ip route 172.16.0.0 255.255.0.0 longer-prefixes

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

R101#sh ip route 172.16.0.0 255.255.0.0 longer-prefixes

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

R101#

4. Puisqu'il n'y a aucune route de composant (aucune route classful ou route de sous-réseau) dans la table de routage IP R101, le réseau 172.16.0.0 n'est pas installé dans la table BGP. La condition minimale pour qu'un préfixe configuré sous la commande network soit installé dans une table BGP est d'avoir une route de composant dans la table de routage IP. Assurez-vous donc que R101 dispose d'une route de composant pour le réseau 172.16.0.0/16. Ceci est fait si la route l'apprend via IGP ou via une configuration statique. Dans l'exemple présenté, la route statique est configurée sur Null 0.

R101(config)#ip route 172.16.10.0 255.255.255.0 null0 200

5. Dès que la table de routage IP aura une route de composant pour 172.16.0.0/16, BGP installera un réseau classful dans la table BGP.

R101#show ip route 172.16.0.0 255.255.0.0 longer-prefixes

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

172.16.0.0/24 is subnetted, 1 subnets

S     172.16.10.0 is directly connected, Null0

Pour prendre la modification en compte dans BGP et commencer à annoncer le réseau 172.16.0.0/16 à R102, vous devez effacer le voisin BGP ou procéder à une réinitialisation logicielle de l'homologue. Cet exemple montre une sortie de réinitialisation logicielle qui s'associe à 10.10.10.2 pour que les modifications soient prises en compte.

R101#clear ip bgp 10.10.10.2 soft out

R101#

6. La commande show ip bgp vérifie que le réseau classful 172.16.0.0/16 est introduit dans BGP.

R101#show ip bgp | include 172.16.0.0

*> 172.16.0.0                0.0.0.0            0         32768 i

R101#

7. Vérifiez que R101 annonce les routes à R102.

R101#show ip bgp neighbors 10.10.10.2 advertised-routes | include 172.16.0.0

*> 172.16.0.0          0.0.0.0                  0         32768 i

Remarque : lorsque le résumé automatique est désactivé, le protocole BGP installe le réseau 172.16.0.0/16 lorsqu'il existe une correspondance exacte avec la route dans la table de routage. S'il existe des routes de sous-réseau, mais qu'elles ne correspondent pas exactement à la route (172.16.0.0/16) dans la table de routage, le protocole BGP n'installe pas le réseau 172.16.0.0/16 dans la table BGP.

Routes annoncées avec l'instruction réseau avec un masque

Les réseaux qui tombent sur une limite du réseau principal (255.0.0.0, 255.255.0.0 ou 255.255.255.0) n'ont pas besoin de masque. Par exemple, la commande network 172.16.0.0est suffisante pour envoyer le préfixe 172.16.0.0/16 dans la table BGP. Toutefois, les réseaux qui ne se trouvent pas sur les limites des réseaux principaux doivent avoir une instruction network avec un masque, comme network 172.16.10.0 mask 255.255.255.0.

Pour qu'une instruction réseau avec un masque puisse être installée dans une table BGP, il est nécessaire que la table de routage comporte une route exacte.

Suivez ces étapes pour résoudre le problème

R101 ne parvient pas à annoncer le réseau 172.16.10.0/24 à R102.

Impossible d'annoncer le réseau 172.16.10.0/24 à R102

1. Vérifiez si R101 annonce le préfixe 172.16.10.0/24 à R102.

R101#show ip bgp neighbors 10.10.10.2 advertised-routes

R101#

OU

Cette commande peut être utilisée pour vérifier si les routes sont annoncées :

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

Ce résultat confirme que R101 n'annonce pas 192.168.32.0/22 à R102.

2. Vérifiez si la configuration s'exécute.

R101#show run | begin bgp

router bgp 1

network 172.16.10.0

Remarque : vous devez créer le réseau 172.16.10.0/24. Ce réseau ne tombe pas sur la limite d'un réseau de classe B (255.255.0.0). Une instruction réseau de masque 255.255.255.0 doit être configurée pour le faire fonctionner.

3. Une fois qu'une instruction réseau avec masque est configurée, la commande show run affiche un résultat similaire à celui-ci :

R101#show run | begin bgp

router bgp 1

network 172.16.10.0 mask 255.255.255.0

1. Vérifiez si la route se trouve 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 BGP.

2. Vérifiez s'il existe une route exacte dans la table de routage IP. Le sortie illustrée confirme qu'il n'y a pas de route exacte dans la table de routage.

R101#show ip route 172.16.10.0 255.255.255.0

% Network not in table

R101#

3. Choisissez les routes que vous voulez créer. Ensuite, corrigez le protocole IGP ou configurez des routes statiques.

R101(config)#ip route 172.16.10.0 255.255.255.0 null0 200

4. Vérifiez la table de routage 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

5. Vérifiez que les routes sont dans la table BGP.

R101#show ip bgp | include 172.16.10.0

*> 172.16.10.0/24   0.0.0.0                  0         32768 i

6. Pour appliquer la modification dans BGP et commencer à annoncer le réseau 172.16.10.0/24 à R102, vous devez soit effacer le voisin BGP, soit effectuer une réinitialisation logicielle à l'homologue. Cet exemple utilise une sortie de réinitialisation logicielle de l'homologue 10.10.10.2.

R101#clear ip bgp 10.10.10.2 soft out

7. Vérifiez que les routes sont annoncées à 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

Routes annoncées avec la commande aggregate-address

Le protocole BGP permet l'agrégation de routes spécifiques en une seule route avec la commande aggregate-address address mask. L'agrégation est applicable aux routes qui existent dans la table de routage BGP Cette commande est différente de la commande networkqui s’applique aux routes qui existent dans la table de routage IP. L'agrégation peut être effectuée si au moins une des routes spécifiques de l'adresse agrégée existe dans la table de routage BGP. Référez-vous àPrésentation de l'agrégation de route dans BGPpour plus d'informations sur l'agrégation BGP et les attributs associés.

Suivez ces étapes pour résoudre ce problème

Routes annoncées avec la commande aggregate-address

Dans ce diagramme de réseau, R101 ne parvient pas à annoncer l'adresse agrégée 192.168.32.0/22 à R102. Le réseau 192.168.32.0/22 regroupe les trois espaces d'adressage de classe C suivants :

- 192.168.33.0/24

- 192.168.35.0/24

- 192.168.35.0/24

1. Vérifiez que R101 n'annonce pas 192.168.32.0/22 à R102.

R101#show ip bgp neighbors 10.10.10.2 advertised-routes | include 192.168.32.0

R101#

2. Vérifiez si la configuration s'exécute.

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 l'adresse agrégée à R102 avec l'attribut summary-only.

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 de composant de l'agrégation 192.168.32.0/22 ; cependant, pour qu'une adresse agrégée soit annoncée à un homologue, une route de composant doit exister dans la table de routage BGP plutôt que dans la table de routage IP. La table de routage IP a la route de composant de l'agrégation 192.168.32.0/22 ; cependant, pour qu'une adresse agrégée soit annoncée à un homologue, une route de composant doit exister dans la table de routage BGP plutôt que dans la table de routage IP.

4. Vérifiez si une route de composant existe dans la table de routage BGP.

R101#show ip bgp 192.168.32.0 255.255.252.0 longer

R101#

La sortie confirme que la table BGP ne contient pas de route de composant ; la prochaine étape logique est donc de faire en sorte que la table BGP contienne une route de composant.

1. Dans cet exemple, une route de composant 192.168.33.0 est installée dans la table BGP à l'aide de la commande network.

R101(config)#router bgp 1

R101(config-router)# network 192.168.33.0

2. Vérifiez si la route de composant existe dans la table 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#

Le s signifie que la route du composant est supprimée en raison de l'argument summary-only.

3. Confirmez que l'agrégat est annoncé à 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

Impossible d'annoncer les routes apprises par iBGP

Un routeur BGP avec la synchronisation activée n'annonce pas les routes apprises par iBGP à d'autres homologues eBGP s'il n'est pas en mesure de valider ces routes dans son IGP. Le protocole IGP a une route vers les routes apprises par iBGP, le routeur annonce les routes iBGP aux homologues eBGP. Sinon, le routeur traite la route comme non synchronisée avec IGP et ne l'annonce pas. Pour empêcher le BGP de valider les routes iBGP dans IGP, désactivez la synchronisation avec la commande no synchronization sous le routeur BGP. Consultez la section Synchronisation dans Études de cas BGP pour plus d'informations.

Suivez ces étapes pour résoudre le problème

Dans ce schéma, R101 apprend le préfixe 10.130.130.0/24 à partir de R103 via iBGP et ne parvient pas à l'annoncer à l'homologue R102 eBGP.

R101 ne peut pas annoncer à l'homologue eBGP R102.

1. Vérifiez d'abord R101.

R101#show ip bgp neighbors 10.10.20.2 advertised-routes | include 10.130.130.0

R101#

Ce résultat confirme que R101 n'annonce pas le préfixe 10.254.255.255/24 à R102.

Regardez la table BGP sur R101 :

R101#show ip bgp 10.130.130.0 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

* i10.130.130.0/24 10.10.20.3               0    100      0 i

R101#

Le réseau 10.130.130.0/24 existe dans la table BGP. Cependant, le réseau 10.130.130.0/24 n'a pas le code d'état de la meilleure route (>). Cela signifie que l'Algorithme de sélection du meilleur chemin BGP n'a pas choisi ce préfixe comme meilleur chemin. Étant donné que seuls les meilleurs chemins sont annoncés aux homologues BGP, le réseau 10.130.130.0/24 n'est pas annoncé à R102. Vous devez ensuite trouver la raison pour laquelle les critères de sélection de chemin BGP n'ont pas sélectionné ce réseau comme meilleure route.

1. Examinez la sortie de la commande show ip bgp préfixe pour fournir plus de détails sur la raison pour laquelle le préfixe n'a pas été choisi comme meilleure route, ni installé dans la table de routage IP.

R101#show ip bgp 10.130.130.0

BGP routing table entry for 10.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 (10.130.130.3)

Origin IGP, metric 0, localpref 100, valid, internal, not synchronized

La sortie montre que le préfixe 10.130.130.0/24 n'est pas synchronisé.

Remarque : avant l'identification de l'ID de bogue Cisco CSCdr90728 (les chemins BGP ne sont pas marqués comme non synchronisés), la commande show ip bgp prefix n'affichait pas les chemins marqués comme non synchronisés. Ce problème a été corrigé dans le logiciel Cisco IOS Versions 12.1(4) et ultérieures.

2. Vérifiez si la configuration BGP s’exécute.

Ce résultat montre que la synchronisation BGP est activée. La synchronization BGP est activée par défaut dans le logiciel Cisco IOS.

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

3. Configurez BGP pour désactiver la synchronisation. Émettez la commande no synchronizationsous le routeur 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

Lors de la prochaine exécution de l'analyseur BGP, qui analyse la table BGP toutes les 60 secondes et prend une décision en fonction des critères de sélection de chemin BGP, le réseau 10.130.130.0 est installé (puisque la synchronisation est désactivée). Cela signifie que le temps maximal pour la route à installer est de 60 secondes, mais il peut être inférieur, selon que la commande no synchronization est configurée, et quand l'instance suivante de l'analyseur BGP se produit. Il est donc préférable d'attendre 60 secondes avant la prochaine étape de vérification.

1. Vérifiez que la route a été installée.

Le résultat affiché confirme que le préfixe 10.130.130.0/24 est la meilleure route ; par conséquent, il est installé dans la table de routage IP et propagé vers l'homologue 10.10.10.2.

R101#show ip bgp 10.130.130.0

BGP routing table entry for 10.254.255.255/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 (10.130.130.3)

Origin IGP, metric 0, localpref 100, valid, internal, best

R101#show ip bgp neighbors 10.10.10.2 advertised-routes | include 10.130.130.0/24

*>i10.130.130.0/24          10.10.20.3             0    100      0 i

Routes annoncées avec redistribution statique

Si les routeurs sont connectés avec deux liaisons et les routes apprises via des routes statiques flottantes et BGP, les routes statiques flottantes sont installées dans la table de routage. Cela se produit si les routes statiques sont redistribuées en cas d'échec de route BGP. Si les routes BGP redeviennent actives, les routes statiques flottantes de la table de routage ne sont pas modifiées de façon à correspondre aux routes BGP.

Ce problème peut être résolu si vous supprimez la commande redistribute static sous le processus BGP pour éviter de rendre les routes statiques flottantes prioritaires par rapport aux routes BGP.

Informations connexes

- Pourquoi les voisins BGP basculent-ils entre les états Inactif, Connexion et Actif ?

- Que signifie le message d'erreur « #%BGP-3-INSUFCHUNKS : Pools de blocs insuffisants pour un chemin d'accès » ?

- BGP : Foire aux questions

- Dépannage de BGP

- Page Routing-BGP Support

- Assistance et téléchargements