IP : Protocole BGP (Border Gateway Protocol)

Dépannage des routes BGP non signalées

16 décembre 2015 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires


Contenu


Introduction

L'objectif de ce document est de fournir une approche systématique pour aider à dépanner les situations où un routeur Border Gateway Protocol (BGP) n'annonce pas de 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 de base network sous le routeur BGP. Cette méthode est utilisée pour créer des routes BGP à partir du système autonome (AS). Consultez la section commande network dans Étude de cas BGP 1 pour plus d'informations.

  • 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é.

  • Émettez la commande aggregate-address. Pour plus d'informations, référez-vous à la section Comprendre l'agrégation de routes dans BGP.

Conditions préalables

Conditions requises

Aucune spécification déterminée n'est requise pour ce document.

Composants utilisés

Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques. Cependant, les sorties affichées dans le document sont basées sur le Routeurs de la gamme Cisco 2500 exécutant la version de logiciel 12.2(24)a de Ý de Cisco IOS.

Les informations présentées dans ce document ont été créées à partir de périphériques dans un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si vous travaillez dans un réseau opérationnel, assurez-vous de bien comprendre l'impact potentiel de toute commande avant de l'utiliser.

Conventions

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

Routes annoncées à l'aide d'une instruction réseau de base

Lorsque des routes sont annoncées à l'aide d'une instruction réseau de base, le comportement de la commande network varie selon que la commande auto-summary est activée ou désactivée. Quand le résumé automatique (auto-summary) est activé, il résume les réseaux BGP créés localement (réseau x.x.x.x) à leurs limites classful (auto-summary 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 75.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 75.75.75.0 de masque 255.255.255.0.

  • Vous configurez le réseau 75.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.

Étapes de dépannage

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

bgp_noad_01.gif

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

    R101# 
    show ip bgp neighbors 10.10.10.2 advertised-routes
    
    R101#
  2. Vérifiez la configuration en cours. 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 6.0.0.0
     neighbor 10.10.10.2 remote-as 2
    [...]
  3. Vérifiez si vous disposez d'une route de composant (une route classful ou une route de sous-réseau) de 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. 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 6.0.0.0 n'est pas installé dans la table BGP. La condition minimale pour un préfixe configuré sous la commande network devant être installé dans une table BGP est d'avoir une route de composant dans la table de routage IP. Par conséquent, assurez-vous que R101 dispose d'une route de composant pour le réseau 6.0.0.0/8, soit en l'apprenant via l'IGP ou via une configuration statique. Dans l'exemple présenté, la route statique est configurée sur Null 0.

    R101(config)# ip route 6.6.10.0 255.255.255.0 null 0 200
    
  5. Dès que la table de routage IP aura une route de composant pour 6.0.0.0/8, BGP installera un réseau classful 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 subnets
    S       6.6.10.0 is directly connected, Null0
    
    
  6. Pour prendre la modification en compte dans BGP et commencer à annoncer le réseau 6.0.0.0/8 à 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. Pour plus de détails sur la réinitialisation logicielle, consultez la section Gestion des modifications de stratégie de routage dans Configuration de BGP.

    R101# clear ip bgp 10.10.10.2 [soft] out
    R101#
  7. Pour prendre la modification en compte dans BGP et commencer à annoncer le réseau 6.0.0.0/8 à 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. Consultez la section Gestion des modifications de stratégie de routage dans Configuration de BGP pour plus d'informations sur la réinitialisation logicielle.

    R101# show ip bgp | include 6.0.0.0 
    *> 6.0.0.0 0.0.0.0 0 32768 i
    
  8. La commande show ip bgp vérifie que le réseau classful 6.0.0.0/8 est introduit dans BGP.

    R101# show ip bgp | include 6.0.0.0 
    *> 6.0.0.0 0.0.0.0 0 32768 i
  9. Vérifiez que R101 annonce les routes à 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

    Remarque: Le résumé automatique étant désactivé, BGP installe le réseau 6.0.0.0/8 uniquement lorsqu'il y a une correspondance exacte de routes dans la table de routage. S'il y a des routes de sous-réseau mais pas de correspondance exacte de routes (6.0.0.0/8) dans la table de routage, alors BGP n'installe pas le réseau 6.0.0.0/8 dans la table BGP.

Routes annoncées à l'aide de 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.0 est suffisante pour envoyer le préfixe 172.16.0.0/16 dans la table BGP. Cependant, les réseaux qui ne tombent pas sur des limites du réseau principal doivent comporter une instruction réseau avec un masque, par exemple 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.

Étapes de dépannage

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

/image/gif/paws/19345/bgp_noad_02.gif

  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 artères 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   <---- not advertised to any peers

    La sortie ci-dessus confirme que R101 n'annonce pas 192.168.32.0/22 à R102.

  2. Vérifiez la configuration en cours.

    R101# show run | begin bgp
    router bgp 1
      network 172.16.10.0

    Remarque: Vous voulez créer le réseau 172.10.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. Lorsqu'une instruction réseau avec masque a été configurée, la commande show run produit un résultat semblable au suivant :

    R101# show run | begin bgp
    router bgp 1
      network 172.16.10.0 mask 255.255.255.0
  4. 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.

  5. 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#
  6. Choisissez les routes que vous voulez créer. Corrigez ensuite l'IGP ou configurez des routes statiques.

    R101(config)# ip route 172.16.10.0 255.255.255.0 null 0 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.0.0/24 is subnetted, 1 subnets
    S       172.16.10.0 is directly connected, Null0
  8. 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
  9. Pour prendre la modification en compte dans BGP et commencer à annoncer le réseau 6.0.0.0/8 à R102, vous devez effacer le voisin BGP ou procéder à une réinitialisation logicielle de l'homologue. Cet exemple utilise une sortie de réinitialisation logicielle de l'homologue 10.10.10.2. Pour plus de détails sur les réinitialisations logicielles, consultez la section Gestion des modifications de stratégie de routage dans Configuration de BGP.

    R101# clear ip bgp 10.10.10.2 [soft] out
    
  10. 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 à l'aide de la commande aggregate-address

BGP permet l'agrégation de routes spécifiques en une seule route à l'aide de la commande aggregate-address address mask. L'agrégation est applicable aux routes qui existent dans la table de routage BGP contrairement à la commande network, qui est applicable 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. Consultez Présentation de l'agrégation des routes dans BGP pour plus d'informations sur l'agrégation BGP et les attributs associés.

Étapes de dépannage

/image/gif/paws/19345/bgp_noad_03.gif

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 la configuration en cours.

    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 l'adresse agrégée à R102 uniquement à l'aide de 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 contient la route de composant de l'agrégat 192.168.32.0/22 ; toutefois 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 contient la route de composant de l'agrégat 192.168.32.0/22 ; toutefois 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 s'il existe une route de composant 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.

  5. 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
    
  6. 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 de composant a été supprimée en raison de l'utilisation de l'argument « summary-only ».

  7. 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'annoncera pas les routes apprises par iBGP à d'autres homologues eBGP s'il ne peut pas valider ces routes dans son IGP. En supposant qu'IGP dispose d'une route vers les routes apprises par iBGP, le routeur annoncera les routes iBGP aux homologues eBGP. Dans le cas contraire, le routeur traite la route comme n'étant pas synchronisée avec IGP et ne l'annonce pas. La désactivation de la synchronisation à l'aide de la commande no synchronization sous le routeur BGP empêche ce dernier de valider les routes iBGP dans IGP. Consultez la section Synchronisation dans Études de cas BGP pour plus d'informations.

Étapes de dépannage

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

/image/gif/paws/19345/bgp_noad_04.gif

  1. Vérifiez d'abord R101.

    R101# show ip bgp neighbors 10.10.20.2 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 à R102. Regardez la table BGP sur 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#

    Le réseau 130.130.130.0/24 existe dans la table BGP. Cependant, le réseau 130.130.130.0/24 n'a pas le code d'état de 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 130.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.

  2. 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 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

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

    Remarque: Avant l'identification du bogue CSCdr90728 (« GP paths are not marked as not synchronized »), la commande show ip bgp préfixe n'indiquait pas les chemins marqués comme étant non synchronisés. Ce problème a été corrigé dans le logiciel Cisco IOS Versions 12.1(4) et ultérieures.

  3. Vérifiez la configuration BGP en cours.

    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

    La sortie ci-dessus montre que la synchronisation BGP est activée. La synchronization BGP est activée par défaut dans le logiciel Cisco IOS.

  4. Configurez BGP de façon à désactiver la synchronisation. Émettez la commande no synchronization sous 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 l'exécution suivante du scanner BGP, lequel 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 130.130.130.0 sera installé (dans la mesure où la synchronisation est désactivée). Cela signifie que le temps maximal pour que la route soit installée est de 60 secondes, mais il peut être inférieur, selon le moment où la commande no synchronization est configurée et le moment où la prochaine instance du scanner BGP se produit. Il est donc préférable d'attendre 60 secondes avant l'étape suivante de la vérification.

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

    La sortie affichée vérifie que le préfixe 130.130.130.0/24 constitue la meilleure route ; il est donc installé dans la table de routage IP et propagé à l'homologue 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

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.

Conversations connexes de la communauté de soutien de Cisco

Le site Cisco Support Community est un forum où vous pouvez poser des questions, répondre à des questions, faire part de suggestions et collaborer avec vos pairs.


Informations connexes


Document ID: 19345