Table des matières

Introduction

Conditions préalables

Exigences

Composants utilisés

Informations générales

Directives et restrictions

BGP et utilisation de la mémoire

BGP et basculement

Résolution de route récursive

Fonctionnement de la machine à état fini BGP

Configurer

Configuration eBGP

Diagramme du réseau

Configuration ASA-1

Configuration ASA-2

Configuration iBGP

Diagramme du réseau

Configuration ASA-1

Configuration ASA-2

Différences entre eBGP et iBGP

eBGP-Multihop

Configuration ASA-1

Configuration ASA-2

Filtrage de route BGP

Configuration BGP ASA dans le contexte multiple

Vérifier

Vérifier le voisinage eBGP

Routes BGP

Configuration ASA-1

Configuration ASA-2

Détail de route eBGP spécifique

Résumé BGP

Vérifier le voisinage iBGP

Détail de route iBGP spécifique

Valeur TTL pour les paquets BGP

Processus de résolution de route récursive

ASA BGP et fonctionnalité de redémarrage en douceur

Dépannage

Déboguer

Introduction

Ce document décrit les étapes requises pour activer le routage BGP (Border Gateway Protocol) (eBGP/iBGP) et d'autres problèmes.

Conditions préalables

Exigences

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Protocoles de routage dynamique

- Présentation de Cisco BGP

- Études de cas BGP

Composants utilisés

Ce document est basé sur le pare-feu Cisco Firepower 2100 qui exécute le logiciel Cisco ASA version 9.16

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.

Informations générales

Ce document aborde également la façon d'établir un processus de routage BGP, de configurer des paramètres BGP généraux, de filtrer les routes sur un dispositif de sécurité adaptatif (ASA) et de dépanner les problèmes de voisinage. Cette fonctionnalité a été introduite dans la version 9.2.1 du logiciel ASA.

Directives et restrictions

- Le protocole BGP est pris en charge en mode unique et en mode multiple avec les familles d'adresses IPv4 et IPv6.

- Le mode multiple est équivalent à la famille d'adresses Cisco IOS® BGP VPNv4 (VPN Routing and Forwarding (VRF)). Par routeur de contexte, le protocole BGP est similaire à la famille d'adresses IPv4 VRF de Cisco IOS.

- Un seul numéro de système autonome (AS) est pris en charge pour tous les contextes similaires à un AS global pour toutes les familles d’adresses dans Cisco IOS.

- Ne prend pas en charge le mode pare-feu transparent. BGP est pris en charge uniquement en mode routé.

- Le système n'ajoute pas d'entrées de route pour l'adresse IP reçue sur PPPoE dans la table de route CP. BGP recherche toujours dans la table de route TCP pour lancer la session TCP, par conséquent BGP ne forme pas de session TCP. Par conséquent, BGP sur PPPoE n'est pas pris en charge.

- Pour éviter les failles de contiguïté dues aux mises à jour de route abandonnées si la mise à jour de route est supérieure à la MTU minimale sur la liaison, assurez-vous de configurer la même MTU sur les interfaces des deux côtés de la liaison.

- La table BGP de l'unité membre n'est pas synchronisée avec la table de l'unité de contrôle. Seule sa table de routage est synchronisée avec la table de routage de l'unité de contrôle.

- Le numéro de système autonome peut être configuré à l'aide de la commande router bgp <as_num> qui peut être utilisée afin d'activer par famille d'adresses de contexte.

- Le protocole BGP a six processus qui prennent en charge tous les contextes, et les détails sont disponibles avec la commande show process. Ces processus sont la tâche BGP, le planificateur BGP, l'analyseur BGP, le routeur BGP, les E/S BGP et l'événement BGP.
ASA-1(config)# show proc | in BGP

Mwe 0x00000000010120d0 0x00007ffecc8ca5c8 0x0000000006136380

0  0x00007ffecc8c27c0 29432/32768  BGP Task

Mwe 0x0000000000fb3acd 0x00007ffecba47b48 0x0000000006136380

11 0x00007ffecba3fd00 31888/32768  BGP Scheduler

Lwe 0x0000000000fd3e40 0x00007ffecd3373e8 0x0000000006136380

26 0x00007ffecd32f5f0 30024/32768  BGP Scanner

Mwe 0x0000000000fd70b9 0x00007ffecd378cd8 0x0000000006136380

10 0x00007ffecd370eb0 28248/32768  BGP Router

Mwe 0x0000000000fc9f84 0x00007ffecd32f3e8 0x0000000006136380

2 0x00007ffecd3275a0 30328/32768  BGP I/O

Mwe 0x000000000100c125 0x00007ffecd33f458 0x0000000006136380

0 0x00007ffecd337640 32032/32768  BGP Event

- Le contexte système a des configurations globales communes à tous les contextes similaires à Cisco IOS qui a des configurations globales pour toutes les familles d'adresses.

- Les configurations qui contrôlent le calcul du meilleur chemin, la journalisation du voisin, la découverte de l'unité de transition maximale (MTU) du chemin TCP, les minuteurs globaux pour le keepalive, le temps d'attente, etc., sont disponibles dans le contexte système sous le mode de commande BGP du routeur.

- La prise en charge de la commande de stratégie BGP se trouve dans le contexte du mode de famille d'adresses par utilisateur.

- Toutes les communautés et tous les attributs de chemin standard sont pris en charge.

- Le trou noir déclenché à distance (RTBH) est pris en charge par la configuration de route statique null0.

- Les informations de tronçon suivant ont été ajoutées à la table de routage d'entrée elle-même dans le processeur réseau (NP). Auparavant, cette option était disponible uniquement dans la table de routage de sortie. Cette modification a été effectuée afin de prendre en charge l'ajout de routes BGP dans les tables de transfert NP (étant donné que les routes BGP n'ont pas d'interface de sortie identifiée dans le CP, il n'y a aucun moyen de déterminer avec quelle table de routage de sortie mettre à jour les informations de tronçon suivant).

- La recherche de route récursive est prise en charge.

- La redistribution avec d'autres protocoles tels que connected, static, Routing Information Protocol (RIP), Open Shortest Path First (OSPF) et Enhanced Interior Gateway Routing Protocol (EIGRP) est prise en charge.

- La commande no router bgp <as_no> [with confirmation prompt] supprime les configurations BGP dans tous les contextes.

- Les bases de données de contrôle de routage, telles que les cartes de routage, les listes d'accès, les listes de préfixes, les listes de communauté et les listes d'accès as-path, sont virtualisées et fournies par contexte.

- Une nouvelle commande, show asp table routing address <addr> resolved, est introduite afin d'afficher les routes BGP résolues de façon récursive dans la table de transfert NP.

- Une nouvelle commande, show bgp system-config, est introduite en mode multiple afin d'afficher les configurations BGP de contexte système.

- Prise en charge des interfaces de bouclage pour le trafic BGP

- Prise en charge BGP pour IPv6

- Prise en charge BGP pour les cartes annoncées

- Prise en charge BGP pour le clustering ASA

- Redémarrage progressif pris en charge pour IPv6

BGP et utilisation de la mémoire

La commande show route summary est utilisée afin d'obtenir l'utilisation de mémoire des protocoles de routage individuels.

BGP et basculement

- BGP est pris en charge dans les configurations de haute disponibilité active/veille et active/active.

- Seule l'unité active écoute sur le port TCP 179 les connexions BGP des homologues.

- L'unité en veille ne participe pas à l'appairage BGP et n'écoute donc pas le port TCP 179 et ne gère pas les tables BGP.

- Les ajouts et suppressions de routes BGP sont répliqués de l'unité active vers l'unité en veille.

- Lors du basculement, la nouvelle unité active écoute le port TCP 179 et initie l'établissement de la contiguïté BGP avec les homologues.

- Sans NSF (Nonstop Forwarding), l'établissement de la contiguïté prend du temps avec l'homologue à nouveau après le basculement, dans lequel les routes BGP ne sont pas apprises de l'homologue. Cela dépend du keepalive BGP suivant (60 secondes par défaut) de l'homologue pour lequel l'ASA répond avec la restauration (RST), ce qui conduit à une ancienne terminaison de connexion à l'homologue, et par la suite, une nouvelle connexion suivante est établie.

- Pendant la période de reconvergence BGP, la nouvelle unité active continue à transférer le trafic avec les routes précédemment répliquées.

- La période du minuteur de reconvergence BGP est actuellement définie sur 210 secondes (la commande show route failover affiche la valeur du minuteur) afin de donner suffisamment de temps pour que BGP établisse des contiguïtés et échange des routes avec ses homologues.

- Une fois que le minuteur de reconvergence BGP a expiré, toutes les routes BGP périmées sont purgées de la base d'informations de routage (RIB).

- L'ID de routeur BGP est synchronisé de l'unité active à l'unité en veille. Le calcul de l'ID de routeur BGP est désactivé sur l'unité en veille.

- La commande write standby est fortement déconseillée car la synchronisation en bloc ne se produit pas dans ce cas, ce qui entraîne la perte de routes dynamiques sur le standby.

Résolution de route récursive

- Les informations d'interface de sortie pour les routes BGP ne sont pas disponibles dans le protocole CP (une conséquence directe du fait que les voisins BGP peuvent être à plusieurs sauts contrairement à d'autres protocoles de routage).

- Les routes BGP avec les informations de tronçon suivant sont ajoutées à la table de routage d'entrée NP, mais elles ne sont pas encore résolues.

- Lorsque le premier paquet d'un flux qui correspond à un préfixe de route BGP entre dans l'ASA dans le chemin lent, la route est résolue et l'interface de sortie est déterminée par récursivement qui recherche la table de routage d'entrée NP.

- Chaque fois que la table de routage change (à partir du CP), un horodatage de table de routage spécifique au contexte est incrémenté.

- Lorsque le paquet suivant d'un flux qui correspond à une route BGP entre dans l'ASA sur le chemin rapide, l'ASA compare l'horodatage de l'entrée de route avec l'horodatage de la table de routage spécifique au contexte. Si les deux horodatages ne correspondent pas, le processus de résolution de route récursive est relancé et l’horodatage d’entrée de route est mis à jour pour être identique à l’horodatage de la table de routage. Vous pouvez vérifier les horodatages à l'aide de la commande show asp table routing. La commande show asp table routing address <route> affiche l’horodatage d’une entrée de route particulière et la commande show asp table routing affiche l’horodatage de la table de routage.

- Le processus de résolution de route récursive pour un préfixe de destination peut être forcé lorsque vous entrez la commande show asp table routing address <addr>resolved.

- La profondeur des recherches de route récursives est actuellement limitée à quatre. Les paquets qui nécessitent une recherche après quatre sont abandonnés avec la raison d'abandon « Aucune route vers l'hôte (aucune route) » et il n'y a aucune raison d'abandon spéciale pour l'échec de la recherche récursive.

- La résolution de route récursive est prise en charge uniquement pour les routes BGP (pas les routes statiques).

Fonctionnement de la machine à état fini BGP

Les homologues BGP passent par plusieurs états avant de devenir des voisins adjacents et d'échanger des informations de routage. Dans chacun des états, les homologues doivent envoyer et recevoir des messages, traiter des données de message et initialiser des ressources avant de passer à l'état suivant. Ce processus est connu sous le nom de Finite-State Machine (FSM) BGP. Si le processus échoue à un moment quelconque, la session est interrompue et les homologues repassent tous deux à l'état Inactif et recommencent le processus. Chaque fois qu'une session est interrompue, toutes les routes de l'homologue qui n'est pas actif sont supprimées des tables, ce qui entraîne des temps d'arrêt.

1. INACTIF : l'ASA recherche la table de routage afin de voir s'il existe une route pour atteindre le voisin.

2. CONNECT : l'ASA a trouvé une route vers le voisin et a terminé la connexion TCP en trois étapes.

3. ACTIF - l'ASA n'a pas reçu d'accord sur les paramètres de l'établissement.

4. OPEN SENT : le message Open est envoyé, avec les paramètres de la session BGP.

5. CONFIRMATION DE L'OUVERTURE - L'ASA a reçu un accord sur les paramètres pour établir une session.

6. ÉTABLI - l'appairage est établi et le routage commence.

Configurer

Configuration eBGP

Le protocole BGP s’exécute entre les routeurs de différents systèmes autonomes. Par défaut, dans eBGP (appairage dans deux systèmes autonomes (AS) différents), IP TTL est défini sur 1, ce qui signifie que les homologues sont supposés être directement connectés. Dans ce cas, lorsqu’un paquet traverse un routeur, la durée de vie devient 0, puis le paquet est abandonné au-delà. Dans les cas où les deux voisins ne sont pas directement connectés (par exemple, l’appairage avec des interfaces de bouclage ou l’appairage lorsque les périphériques sont à plusieurs sauts), vous devez ajouter la commande neighbor x.x.x ebgp-multihop <TTL>. Sinon, le voisinage BGP ne peut pas être établi. En outre, un homologue eBGP annonce toutes les meilleures routes qu'il connaît ou qu'il a apprises de ses homologues (qu'il s'agisse d'un homologue eBGP ou d'un homologue iBGP), ce qui n'est pas le cas d'iBGP.

Diagramme du réseau

Configuration ASA-1

router bgp 100

bgp log-neighbor-changes

bgp bestpath compare-routerid

address-family ipv4 unicast

neighbor 203.0.113.2 remote-as 200

neighbor 203.0.113.2 activate

network 192.168.10.0 mask 255.255.255.0

network 172.16.20.0 mask 255.255.255.0

network 10.106.44.0 mask 255.255.255.0

no auto-summary

no synchronization

exit-address-family

!

Configuration ASA-2

router bgp 200

bgp log-neighbor-changes

bgp bestpath compare-routerid

address-family ipv4 unicast

neighbor 203.0.113.1 remote-as 100

neighbor 203.0.113.1 activate

network 10.10.10.0 mask 255.255.255.0

network 10.180.10.0 mask 255.255.255.0

network 172.16.30.0 mask 255.255.255.0

no auto-summary

no synchronization

exit-address-family

!

Configuration iBGP

Dans iBGP, il n'y a aucune restriction que les voisins doivent être connectés directement. Cependant, un homologue iBGP ne peut pas annoncer le préfixe appris d'un homologue iBGP à un autre homologue iBGP. Cette restriction est là pour éviter les boucles dans le même AS. Afin de clarifier ceci, quand une route est passée à un homologue eBGP, le numéro de système autonome local est ajouté au préfixe dans l'as-path, donc si nous recevons le même paquet qui indique notre AS dans l'as-path, nous savons qu'il s'agit d'une boucle, et ce paquet est abandonné. Cependant, lorsqu'une route est annoncée à un homologue iBGP, le numéro de système autonome local n'est pas ajouté au chemin as-path, puisque les homologues sont dans le même système autonome.

Diagramme du réseau

Configuration ASA-1

router bgp 100

bgp log-neighbor-changes

bgp bestpath compare-routerid

address-family ipv4 unicast

neighbor 203.0.113.2 remote-as 100

neighbor 203.0.113.2 activate

network 192.168.10.0 mask 255.255.255.0

network 172.16.20.0 mask 255.255.255.0

network 10.106.44.0 mask 255.255.255.0

no auto-summary

no synchronization

exit-address-family

!

Configuration ASA-2

router bgp 100

bgp log-neighbor-changes

bgp bestpath compare-routerid

address-family ipv4 unicast

neighbor 203.0.113.1 remote-as 100

neighbor 203.0.113.1 activate

network 10.10.10.0 mask 255.255.255.0

network 10.180.10.0 mask 255.255.255.0

network 172.16.30.0 mask 255.255.255.0

no auto-summary

no synchronization

exit-address-family

!

Différences entre eBGP et iBGP

- eBGP est homologue entre deux AS différents, tandis que iBGP est homologue entre le même AS.

- Les routes apprises des homologues eBGP sont annoncées aux autres homologues (eBGP ou iBGP). Cependant, les routes apprises d'un homologue iBGP ne sont pas annoncées aux autres homologues iBGP.

- Par défaut, les homologues eBGP sont définis avec TTL = 1, ce qui signifie que les voisins sont supposés être connectés directement, ce qui n'est pas le cas de l'iBGP. Afin de modifier ce comportement pour eBGP, entrez la commande neighbor x.x.x ebgp-multihop <TTL>. Multihop est le terme utilisé dans eBGP uniquement.

- Les routes eBGP ont une distance administrative de 20, alors que iBGP est 200.

- Le saut suivant reste inchangé lorsque la route est annoncée à un homologue iBGP. Cependant, il est modifié lorsqu'il est annoncé à un homologue eBGP par défaut.

eBGP-Multihop

Un ASA avec le voisinage BGP avec un autre ASA qui se trouve à un saut. Pour le voisinage, vous devez vous assurer que vous avez une connectivité entre voisins. Envoyez une requête ping afin de confirmer la connectivité. Assurez-vous que le port TCP 179 est autorisé dans les deux directions sur les périphériques intermédiaires.

Configuration ASA-1

router bgp 100

bgp log-neighbor-changes

bgp bestpath compare-routerid

address-family ipv4 unicast

neighbor 198.51.100.1 remote-as 200

neighbor 198.51.100.1 ebgp-multihop 2

neighbor 198.51.100.1 activate

network 192.168.10.0 mask 255.255.255.0

network 10.106.44.0 mask 255.255.255.0

network 172.16.20.0 mask 255.255.255.0

no auto-summary

no synchronization

exit-address-family

!

Configuration ASA-2

router bgp 200

bgp log-neighbor-changes

bgp bestpath compare-routerid

address-family ipv4 unicast

neighbor 203.0.113.1 remote-as 100

neighbor 203.0.113.1 ebgp-multihop 2

neighbor 203.0.113.1 activate

network 10.10.10.0 mask 255.255.255.0

network 10.180.10.0 mask 255.255.255.0

network 172.16.30.0 mask 255.255.255.0

no auto-summary

no synchronization

exit-address-family

!

Filtrage de route BGP

Avec BGP, vous pouvez contrôler une mise à jour de routage qui est envoyée et reçue. Dans cet exemple, une mise à jour de routage est bloquée pour le préfixe réseau 172.16.30.0/24 qui se trouve derrière ASA-2. Pour le filtrage de route, vous pouvez uniquement utiliser la liste de contrôle d’accès STANDARD.

access-list bgp-in line 1 standard deny 172.16.30.0 255.255.255.0

access-list bgp-in line 2 standard permit any4

router bgp 100

bgp log-neighbor-changes

bgp bestpath compare-routerid

address-family ipv4 unicast

neighbor 203.0.113.2 remote-as 200

neighbor 203.0.113.2 activate

network 192.168.10.0 mask 255.255.255.0

network 172.16.20.0 mask 255.255.255.0

network 10.106.44.0 mask 255.255.255.0

distribute-list bgp-in in

no auto-summary

no synchronization

exit-address-family

!

Vérifiez la table de routage.

ASA-1(config)# show bgp cidr-only

BGP table version is 6, local router ID is 203.0.113.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale, m multipath

Origin codes: i - IGP, e - EGP, ? - incomplete

Network          Next Hop        Metric LocPrf Weight  Path

*> 10.10.10.0/24    203.0.113.2          0             0  200 i

*> 10.106.44.0/24   0.0.0.0              0         32768  i

*> 10.180.10.0/24   203.0.113.2          0             0  200 i

*> 172.16.20.0/24   0.0.0.0              0         32768  i

*> 192.168.10.0/16   0.0.0.0             0         32768  i

Vérifiez le nombre d'occurrences de la liste de contrôle d'accès.

ASA-1(config)# show access-list bgp-in

access-list bgp-in; 2 elements; name hash: 0x3f99de19

access-list bgp-in line 1 standard deny 172.16.30.0 255.255.255.0 (hitcnt=1) 0xb5abad25

access-list bgp-in line 2 standard permit any4 (hitcnt=4) 0x59d08160

De même, vous pouvez utiliser une ACL afin de filtrer ce qui est envoyé avec "out" dans la commande distribute-list.

Configuration BGP ASA dans le contexte multiple

Le protocole BGP est pris en charge dans plusieurs contextes. Dans le cas du multi-contexte, vous devez d'abord définir le processus du routeur BGP dans le contexte du système. Si vous essayez de créer un processus BGP sans le définir dans le contexte du système, vous obtenez cette erreur.

ASA-1/admin(config)# router bgp 100

%BGP process cannot be created in non-system context

ERROR: Unable to create router process

First we Need to define it in system context.

ASA-1/admin(config)#changeto context system

ASA-1(config)# router bgp 100

ASA-1(config-router)#exit

Now create bgp process in admin context.

ASA-1(config)#changeto context admin

ASA-1/admin(config)# router bgp 100

ASA-1/admin(config-router)#

Vérifier

Vérifier le voisinage eBGP

Vérifiez la connexion TCP sur le port 179.

ASA-1(config)# show asp table socket

Protocol  Socket    State      Local Address                    Foreign Address

SSL       00001478  LISTEN     172.16.20.1:443                  0.0.0.0:*

TCP       000035e8  LISTEN     203.0.113.1:179                  0.0.0.0:*

TCP       00005cd8  ESTAB      203.0.113.1:44368                203.0.113.2:179

SSL       00006658  LISTEN     10.106.44.221:443                0.0.0.0:*

Affichez les voisins BGP.

ASA-1(config)# show bgp neighbors

BGP neighbor is 203.0.113.2,  context single_vf,  remote AS 200, external link >> eBGP

BGP version 4, remote router ID 203.0.113.2

BGP state = Established, up for 00:04:42

Last read 00:00:13, last write 00:00:17, hold time is 180, keepalive interval is

60 seconds

Neighbor sessions:

1 active, is not multisession capable (disabled)

Neighbor capabilities:

Route refresh: advertised and received(new)

Four-octets ASN Capability: advertised and received

Address family IPv4 Unicast: advertised and received

Multisession Capability:

Message statistics:

InQ depth is 0

OutQ depth is 0

Sent       Rcvd

Opens:         1          1

Notifications: 0          0

Updates:       2          2

Keepalives:    5          5

Route Refresh: 0          0

Total:         8          8

Default minimum time between advertisement runs is 30 seconds

For address family: IPv4 Unicast

Session: 203.0.113.2

BGP table version 7, neighbor version 7/0

Output queue size : 0

Index 1

1 update-group member

Sent       Rcvd

Prefix activity:         ----       ----

Prefixes Current:      3          3          (Consumes 240 bytes)

Prefixes Total:        3          3

Implicit Withdraw:     0          0

Explicit Withdraw:     0          0

Used as bestpath:      n/a        3

Used as multipath:     n/a        0

Outbound    Inbound

Local Policy Denied Prefixes: --------    -------

Bestpath from this peer:     3          n/a

Total:                       3          0

Number of NLRIs in the update sent: max 3, min 0

Address tracking is enabled, the RIB does have a route to 203.0.113.2

Connections established 1; dropped 0

Last reset never

Transport(tcp) path-mtu-discovery is enabled

Graceful-Restart is disabled

Routes BGP

Configuration ASA-1

ASA-1(config)# show route bgp

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, + - replicated route

Gateway of last resort is 10.106.44.1 to network 0.0.0.0

B        10.10.10.0 255.255.255.0 [20/0] via 203.0.113.2, 00:05:48

B        10.180.10.0 255.255.255.0 [20/0] via 203.0.113.2, 00:05:48

B        172.16.30.0 255.255.255.0 [20/0] via 203.0.113.2, 00:05:48

Configuration ASA-2

ASA-2# show route bgp

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, + - replicated route

Gateway of last resort is not set

B        10.106.44.0 255.255.255.0 [20/0] via 203.0.113.1, 00:36:32

B        172.16.20.0 255.255.255.0 [20/0] via 203.0.113.1, 00:36:32

B     192.168.10.0 255.255.255.0 [20/0] via 203.0.113.1, 00:36:32

Afin de voir les routes pour un ASA spécifique, entrez la commande show route bgp <AS-No.>.

ASA-1(config)# show route bgp ?

exec mode commands/options:

100  Autonomous system number

|    Output modifiers

<cr>

Détail de route eBGP spécifique

ASA-1(config)# show route 172.16.30.0

Routing entry for 172.16.30.0 255.255.255.0

Known via "bgp 100", distance 20, metric 0

Tag 200, type external

Last update from 203.0.113.2 0:09:43 ago

Routing Descriptor Blocks:

* 203.0.113.2, from 203.0.113.2, 0:09:43 ago

Route metric is 0, traffic share count is 1

AS Hops 1-----------------------------------> ASA HOP is one

Route tag 200

MPLS label: no label string provided

ASA-1(config)# show bgp cidr-only

BGP table version is 7, local router ID is 203.0.113.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale, m multipath

Origin codes: i - IGP, e - EGP, ? - incomplete

Network          Next Hop        Metric LocPrf Weight  Path

*> 10.10.10.0/24    203.0.113.2          0             0  200 i

*> 10.106.44.0/24   0.0.0.0              0         32768  i

*> 10.180.10.0/24   203.0.113.2          0             0  200 i

*> 172.16.20.0/24   0.0.0.0              0         32768  i

*> 172.16.30.0/24   203.0.113.2          0             0  200 i

Résumé BGP

ASA-1(config)# show bgp summary

BGP router identifier 203.0.113.1, local AS number 100

BGP table version is 7, main routing table version 7

6 network entries using 1200 bytes of memory

6 path entries using 480 bytes of memory

2/2 BGP path/bestpath attribute entries using 416 bytes of memory

1 BGP AS-PATH entries using 24 bytes of memory

0 BGP route-map cache entries using 0 bytes of memory

0 BGP filter-list cache entries using 0 bytes of memory

BGP using 2120 total bytes of memory

BGP activity 6/0 prefixes, 6/0 paths, scan interval 60 secs

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

203.0.113.2     4          200 16      17             7    0    0 00:14:19  3

ASA-1(config)# show route summary

IP routing table maximum-paths is 3

Route Source    Networks    Subnets     Replicates  Overhead    Memory (bytes)

connected       0           8           0           704         2304

static          2           5           0           616         2016

ospf 1          0           0           0           0           0

Intra-area: 0 Inter-area: 0 External-1: 0 External-2: 0

NSSA External-1: 0 NSSA External-2: 0

bgp 100         0           3           0           264         864

External: 3 Internal: 0 Local: 0

internal        7                                               3176

Total           9           16          0           1584        8360

Vérifier le voisinage iBGP

ASA-1(config)# show bgp neighbors

BGP neighbor is 203.0.113.2,  context single_vf,  remote AS 100, internal link >> iBGP

BGP version 4, remote router ID 203.0.113.2

BGP state = Established, up for 00:02:19

Last read 00:00:13, last write 00:00:17, hold time is 180, keepalive interval is

60 seconds

Neighbor sessions:

1 active, is not multisession capable (disabled)

Neighbor capabilities:

Route refresh: advertised and received(new)

Four-octets ASN Capability: advertised and received

Address family IPv4 Unicast: advertised and received

Multisession Capability:

Message statistics:

InQ depth is 0

OutQ depth is 0

Sent       Rcvd

Opens:         1          1

Notifications: 0          0

Updates:       2          2

Keepalives:    5          5

Route Refresh: 0          0

Total:         8          8

Default minimum time between advertisement runs is 30 seconds

For address family: IPv4 Unicast

Session: 203.0.113.2

BGP table version 7, neighbor version 7/0

Output queue size : 0

Index 1

1 update-group member

Sent       Rcvd

Prefix activity:         ----       ----

Prefixes Current:      3          3          (Consumes 240 bytes)

Prefixes Total:        3          3

Implicit Withdraw:     0          0

Explicit Withdraw:     0          0

Used as bestpath:      n/a        3

Used as multipath:     n/a        0

Outbound    Inbound

Local Policy Denied Prefixes: --------    -------

Bestpath from this peer:     3          n/a

Total:                       3          0

Number of NLRIs in the update sent: max 3, min 0

Address tracking is enabled, the RIB does have a route to 203.0.113.2

Connections established 1; dropped 0

Last reset never

Transport(tcp) path-mtu-discovery is enabled

Graceful-Restart is disabled

Détail de route iBGP spécifique

ASA-1(config)# show route 172.16.30.0

Routing entry for 172.16.30.0 255.255.255.0

Known via "bgp 100", distance 20, metric 0, type internal

Last update from 203.0.113.2 0:07:05 ago

Routing Descriptor Blocks:

* 203.0.113.2, from 203.0.113.2, 0:07:05 ago

Route metric is 0, traffic share count is 1

AS Hops 0            -------------------->> ASA HOP is 0 as it's internal route

MPLS label: no label string provided

Valeur TTL pour les paquets BGP

Par défaut, les voisins BGP doivent être connectés directement. En effet, la valeur TTL pour les paquets BGP est toujours 1 (valeur par défaut). Ainsi, dans le cas où un voisin BGP n'est pas directement connecté, vous devez définir une valeur BGP à sauts multiples qui dépend du nombre de sauts dans tout le chemin.

Voici un exemple de cas de valeur TTL de connexion directe :

ASA-1(config)#show cap bgp detail

5: 06:30:19.789769 6c41.6a1f.25e3 a0cf.5b5c.5060 0x0800 Length: 70

203.0.113.1.44368 > 203.0.113.2.179: S [tcp sum ok] 3733850223:3733850223(0)

win 32768 <mss 1460,nop,nop,timestamp 15488246 0> (DF) [tos 0xc0]  [ttl 1] (id 62822)

6: 06:30:19.792286 a0cf.5b5c.5060 6c41.6a1f.25e3 0x0800 Length: 58

203.0.113.22.179 > 203.0.113.1.44368: S [tcp sum ok] 1053711883:1053711883(0)

ack 3733850224 win 16384 <mss 1360> [tos 0xc0]  [ttl 1] (id 44962)

7: 06:30:19.792302 6c41.6a1f.25e3 a0cf.5b5c.5060 0x0800 Length: 54

203.0.113.1.44368 > 203.0.113.22.179: . [tcp sum ok] 3733850224:3733850224(0)

ack 1053711884 win 32768 (DF) [tos 0xc0]  [ttl 1] (id 52918)

Si les voisins ne sont pas directement connectés, alors vous devez entrer la commande bgp multihop afin de définir combien de SAUTS un voisin doit augmenter la valeur TTL dans l'en-tête IP.

Voici un exemple de valeur de durée de vie dans le cas de sauts multiples (dans ce cas, le voisin BGP est à 1 SAUT) :

ASA-1(config)#show cap bgp detail

5: 13:10:04.059963 6c41.6a1f.25e3 a0cf.5b5c.5060 0x0800 Length: 70

203.0.113.1.63136 > 198.51.100.1.179: S [tcp sum ok] 979449598:979449598(0)

win 32768 <mss 1460,nop,nop,timestamp 8799571 0> (DF) [tos 0xc0]  (ttl 2, id 62012)

6: 13:10:04.060681 a0cf.5b5c.5060 6c41.6a1f.25e3 0x0800 Length: 70 198.51.100.1.179 >

203.0.113.1.63136: S [tcp sum ok] 0:0(0) ack 979449599 win 32768 <mss 1460,nop,nop,

timestamp 6839704 8799571> (DF) [tos 0xac]  [ttl 1] (id 60372)

7: 13:10:04.060696 6c41.6a1f.25e3 a0cf.5b5c.5060 0x0800 Length: 66

203.0.113.1.63136 >198.51.100.1.179: . [tcp sum ok] 979449599:979449599(0) ack 1

win 32768 <nop,nop,timestamp 8799571 6839704> (DF) [tos 0xc0]  (ttl 2, id 53699)

Processus de résolution de route récursive

ASA-1(config)# show asp table routing

route table timestamp: 66

in   255.255.255.255 255.255.255.255 identity

in   203.0.113.1     255.255.255.255 identity

in   203.0.113.254  255.255.255.255 via 10.13.14.4, outside

in   192.0.2.78   255.255.255.255 via 10.16.17.4, DMZ

in   192.168.0.1     255.255.255.255 identity

in   172.16.20.1     255.255.255.255 identity

in   10.106.44.190   255.255.255.255 identity

in   10.10.10.0      255.255.255.0 via 203.0.113.2, outside (resolved, timestamp: 66)

in   172.16.30.0     255.255.255.0 via 203.0.113.2, outside (resolved, timestamp: 64)

in   10.180.10.0     255.255.255.0 via 203.0.113.2, outside (resolved, timestamp: 65)

in   203.0.113.0     255.255.255.0   outside

in   172.16.10.0     255.255.255.0   via 10.13.14.4, outside

in   192.168.10.0    255.255.255.0   via 10.13.14.20, outside

in   192.168.20.0    255.255.255.0   via 10.16.17.4, DMZ

in   172.16.20.0     255.255.255.0   inside

in   10.106.44.0     255.255.255.0   management

in   192.168.0.0     255.255.0.0     DMZ

ASA BGP et fonctionnalité de redémarrage en douceur

BGP support for nonstop forwarding

We added support for BGP Nonstop Forwarding.

We introduced the following new commands: bgp graceful-restart, neighbor ha-mode graceful-restart

Dépannage

- Après la configuration, vous devez vous assurer que les deux périphériques sont connectés. Vérifiez la connectivité des ports ICMP et TCP 179.

- Si les homologues BGP ne sont pas directement connectés, assurez-vous que le multisaut eBGP est configuré.

- Si la connectivité est correcte, le socket TCP peut être à l'état ESTAB dans le résultat de la commande show asp table socket.
ASA-1(config)# show asp table socket

Protocol  Socket    State      Local Address                    Foreign Address

SSL       00001478  LISTEN     172.16.20.1:443                  0.0.0.0:*

TCP       000035e8  LISTEN     203.0.113.1:179                  0.0.0.0:*

TCP       00005cd8  ESTAB      203.0.113.1:44368                203.0.113.2:179

SSL       00006658  LISTEN     10.106.44.221:443                0.0.0.0:*

- Après une connexion en trois étapes, les deux homologues échangent des messages BGP OPEN et négocient des paramètres.

- Après l'échange de paramètres, les deux homologues échangent des informations de routage avec un message BGP UPDATE.

%ASA-7-609001: Built local-host identity:203.0.113.1

%ASA-7-609001: Built local-host outside:203.0.113.2

%ASA-6-302013: Built outbound TCP connection 14 for outside:203.0.113.2/179

(203.0.113.2/179) to identity:203.0.113.1/43790 (203.0.113.1/43790)

%ASA-3-418018: neighbor 203.0.113.2 Up

Si le voisinage n'est pas formé même après une connexion TCP en trois étapes réussie, alors le problème est avec BGP FSM. Collectez une capture de paquets et des syslogs à partir de l'ASA et vérifiez l'état avec lequel vous rencontrez des problèmes.

Déboguer

Remarque : Consulter les renseignements importants sur les commandes de débogage avant d’utiliser les commandes de débogage.

Entrez la commande debug ip bgp afin de dépanner les problèmes de voisinage et de mise à jour de routage.

ASA-1(config)# debug ip bgp ?

exec mode commands/options:

A.B.C.D     BGP neighbor address

events      BGP events

in          BGP Inbound information

ipv4        Address family

keepalives  BGP keepalives

out         BGP Outbound information

range       BGP dynamic range

rib-filter  Next hop route watch filter events

updates     BGP updates

<cr>

Entrez la commande debug ip bgp events afin de dépanner les problèmes liés au voisinage.

BGP: 203.0.113.2 active went from Idle to Active

BGP: 203.0.113.2 open active, local address 203.0.113.1

BGP: ses global 203.0.113.2 (0x00007ffec085c590:0) act Adding topology IPv4 Unicast:base

BGP: ses global 203.0.113.2 (0x00007ffec085c590:0) act Send OPEN

BGP: 203.0.113.2 active went from Active to OpenSent

BGP: 203.0.113.2 active sending OPEN, version 4, my as: 100, holdtime 180 seconds,

ID cb007101

BGP: 203.0.113.2 active rcv message type 1, length (excl. header) 34

BGP: ses global 203.0.113.2 (0x00007ffec085c590:0) act Receive OPEN

BGP: 203.0.113.2 active rcv OPEN, version 4, holdtime 180 seconds

BGP: 203.0.113.2 active rcv OPEN w/ OPTION parameter len: 24

BGP: 203.0.113.2 active rcvd OPEN w/ optional parameter type 2 (Capability) len 6

BGP: 203.0.113.2 active OPEN has CAPABILITY code: 1, length 4

BGP: 203.0.113.2 active OPEN has MP_EXT CAP for afi/safi: 1/1

BGP: 203.0.113.2 active rcvd OPEN w/ optional parameter type 2 (Capability) len 2

BGP: 203.0.113.2 active OPEN has CAPABILITY code: 128, length 0

BGP: 203.0.113.2 active OPEN has ROUTE-REFRESH capability(old) for all address-families

BGP: 203.0.113.2 active rcvd OPEN w/ optional parameter type 2 (Capability) len 2

BGP: 203.0.113.2 active OPEN has CAPABILITY code: 2, length 0

BGP: 203.0.113.2 active OPEN has ROUTE-REFRESH capability(new) for all address-families

BGP: 203.0.113.2 active rcvd OPEN w/ optional parameter type 2 (Capability) len 6

BGP: 203.0.113.2 active OPEN has CAPABILITY code: 65, length 4

BGP: 203.0.113.2 active OPEN has 4-byte ASN CAP for: 200

BGP: 203.0.113.2 active rcvd OPEN w/ remote AS 200, 4-byte remote AS 200

BGP: 203.0.113.2 active went from OpenSent to OpenConfirm

BGP: 203.0.113.2 active went from OpenConfirm to Established

Entrez la commande debug ip bgp updates afin de dépanner les problèmes liés aux mises à jour de routage.

BGP: TX IPv4 Unicast Mem global 203.0.113.2 Changing state from DOWN to WAIT

(pending advertised bit allocation).

BGP: TX IPv4 Unicast Grp global 4 Created.

BGP: TX IPv4 Unicast Wkr global 4 Cur Blocked (not in list).

BGP: TX IPv4 Unicast Wkr global 4 Ref Blocked (not in list).

BGP: TX IPv4 Unicast Rpl global 4 1 Created.

BGP: TX IPv4 Unicast Rpl global 4 1 Net bitfield index 0 allocated.

BGP: TX IPv4 Unicast Mem global 4 1 203.0.113.2 Added to group (now has 1 members).

BGP: TX IPv4 Unicast Mem global 4 1 203.0.113.2 Staying in WAIT state

(current walker waiting for net prepend).

BGP: TX IPv4 Unicast Top global Start net prepend.

BGP: TX IPv4 Unicast Top global Inserting initial marker.

BGP: TX IPv4 Unicast Top global Done net prepend (0 attrs).

BGP: TX IPv4 Unicast Grp global 4 Starting refresh after prepend completion.

BGP: TX IPv4 Unicast Wkr global 4 Cur Start at marker 1.

BGP: TX IPv4 Unicast Grp global 4 Message limit changed from 100 to 1000 (used 0 + 0).

BGP: TX IPv4 Unicast Wkr global 4 Cur Unblocked

BGP: TX IPv4 Unicast Mem global 4 1 203.0.113.2 Changing state from WAIT to ACTIVE

(ready).

BGP: TX IPv4 Unicast Mem global 4 1 203.0.113.2 No refresh required.

BGP: TX IPv4 Unicast Top global Collection done on marker 1 after 0 net(s).

BGP(0): 203.0.113.2 rcvd UPDATE w/ attr: nexthop 203.0.113.2, origin i, metric 0,

merged path 200, AS_PATH

BGP(0): 203.0.113.2 rcvd 10.10.10.0/24

BGP(0): 203.0.113.2 rcvd 172.16.30.0/24

BGP(0): 203.0.113.2 rcvd 10.180.10.0/24-----------------> Routes rcvd from peer

BGP: TX IPv4 Unicast Net global 10.10.10.1/32 Changed.

BGP: TX IPv4 Unicast Net global 172.16.30.0/24 Changed.

BGP: TX IPv4 Unicast Net global 10.180.10.0/24 Changed.

BGP(0): Revise route installing 1 of 1 routes for 10.10.10.0 255.255.255.0 ->

203.0.113.2(global) to main IP table

BGP: TX IPv4 Unicast Net global 10.10.10.0/24 RIB done.

BGP(0): Revise route installing 1 of 1 routes for 172.16.30.0 255.255.255.0 ->

203.0.113.2(global) to main IP table

BGP: TX IPv4 Unicast Net global 172.16.30.0/24 RIB done.

BGP(0): Revise route installing 1 of 1 routes for 10.180.10.0 255.255.255.0 ->

203.0.113.2(global) to main IP table

BGP: TX IPv4 Unicast Net global 10.180.10.0/24 RIB done.

BGP: TX IPv4 Unicast Tab RIB walk done version 4, added 1 topologies.

BGP: TX IPv4 Unicast Tab Ready in READ-WRITE.

BGP: TX IPv4 Unicast Tab RIB walk done version 4, added 1 topologies.

BGP: TX IPv4 Unicast Tab All topologies are EOR ready.

BGP: TX IPv4 Unicast Tab RIB walk done version 4, added 1 topologies.

BGP: TX IPv4 Unicast Tab Executing.

BGP: TX IPv4 Unicast Wkr global 4 Cur Processing.

BGP: TX IPv4 Unicast Wkr global 4 Cur Reached marker with version 1.

BGP: TX IPv4 Unicast Top global Appending nets from attr 0x00007ffecc9b7b88.

BGP: TX IPv4 Unicast Wkr global 4 Cur Attr change from 0x0000000000000000 to

0x00007ffecc9b7b88.

BGP: TX IPv4 Unicast Wkr global 4 Cur Net 10.10.10.0/24 Skipped.

BGP: TX IPv4 Unicast Wkr global 4 Cur Net 172.16.30.0/24 Skipped.

BGP: TX IPv4 Unicast Wkr global 4 Cur Net 10.180.10.0/24 Skipped.

BGP: TX IPv4 Unicast Top global No attributes with modified nets.

BGP: TX IPv4 Unicast Top global Added tail marker with version 4.

BGP: TX IPv4 Unicast Wkr global 4 Cur Reached marker with version 4.

BGP: TX IPv4 Unicast Top global No attributes with modified nets.

BGP: TX IPv4 Unicast Wkr global 4 Cur Done (end of list), processed 1 attr(s),

0/3 net(s), 0 pos.

BGP: TX IPv4 Unicast Grp global 4 Checking EORs (0/1).

BGP: TX IPv4 Unicast Mem global 4 1 203.0.113.2 Send EOR.

BGP: TX IPv4 Unicast Grp global 4 Converged.

BGP: TX IPv4 Unicast Tab Processed 1 walker(s).

BGP: TX IPv4 Unicast Tab Generation completed.

BGP: TX IPv4 Unicast Top global Deleting first marker with version 1.

BGP: TX IPv4 Unicast Top global Collection reached marker 1 after 0 net(s).

BGP: TX IPv4 Unicast Top global First convergence done.

BGP: TX IPv4 Unicast Top global Deleting first marker with version 1.

BGP: TX IPv4 Unicast Top global Collection reached marker 1 after 0 net(s).

BGP: TX IPv4 Unicast Top global Collection done on marker 4 after 3 net(s).

BGP: TX IPv4 Unicast Top global Collection done on marker 4 after 0 net(s).

BGP: TX IPv4 Unicast Net global 192.168.10.0/24 Changed.

BGP: TX IPv4 Unicast Net global 172.16.20.0/24 Changed.

BGP: TX IPv4 Unicast Net global 10.106.44.0/24 Changed.

BGP(0): nettable_walker 10.106.44.0/24 route sourced locally

BGP: topo global:IPv4 Unicast:base Remove_fwdroute for 10.106.44.0/24

BGP: TX IPv4 Unicast Net global 10.106.44.0/24 RIB done.

BGP(0): nettable_walker 172.16.20.0/24 route sourced locally

BGP: topo global:IPv4 Unicast:base Remove_fwdroute for 172.16.20.0/24

BGP: TX IPv4 Unicast Net global 172.16.20.0/24 RIB done.

BGP(0): nettable_walker 192.168.10.0/24 route sourced locally---------> Routes

advertised

BGP: topo global:IPv4 Unicast:base Remove_fwdroute for 192.168.10.0/24

BGP: TX IPv4 Unicast Net global 192.168.10.0/24 RIB done.

BGP: TX IPv4 Unicast Tab RIB walk done version 8, added 1 topologies.

BGP: TX IPv4 Unicast Tab Executing.

BGP: TX IPv4 Unicast Wkr global 4 Cur Processing.

BGP: TX IPv4 Unicast Top global Appending nets from attr 0x00007ffecc9b7c70.

BGP: TX IPv4 Unicast Wkr global 4 Cur Attr change from 0x0000000000000000 to

0x00007ffecc9b7c70.

BGP: TX IPv4 Unicast Rpl global 4 1 Net 10.106.44.0/24 Set advertised bit (total 1).

BGP: TX IPv4 Unicast Wkr global 4 Cur Net 10.106.44.0/24 Formatted.

BGP: TX IPv4 Unicast Rpl global 4 1 Net 172.16.20.0/24 Set advertised bit (total 2).

BGP: TX IPv4 Unicast Wkr global 4 Cur Net 172.16.20.0/24 Formatted.

BGP: TX IPv4 Unicast Rpl global 4 1 Net 192.168.10.0/24 Set advertised bit (total 4).

BGP: TX IPv4 Unicast Wkr global 4 Cur Net 192.168.10.0/24 Formatted.

BGP: TX IPv4 Unicast Top global No attributes with modified nets.

BGP: TX IPv4 Unicast Top global Added tail marker with version 8.

BGP: TX IPv4 Unicast Wkr global 4 Cur Reached marker with version 8.

BGP: TX IPv4 Unicast Top global No attributes with modified nets.

BGP: TX IPv4 Unicast Wkr global 4 Cur Replicating.

BGP: TX IPv4 Unicast Wkr global 4 Cur Done (end of list), processed 1 attr(s),

4/4 net(s), 0 pos.

BGP: TX IPv4 Unicast Grp global 4 Start minimum advertisement timer (30 secs).

BGP: TX IPv4 Unicast Wkr global 4 Cur Blocked (minimum advertisement interval).

BGP: TX IPv4 Unicast Grp global 4 Converged.

BGP: TX IPv4 Unicast Tab Processed 1 walker(s).

BGP: TX IPv4 Unicast Tab Generation completed.

BGP: TX IPv4 Unicast Top global Deleting first marker with version 4.

BGP: TX IPv4 Unicast Top global Collection reached marker 4 after 0 net(s).

BGP: TX IPv4 Unicast Top global Collection done on marker 8 after 4 net(s).

BGP: TX IPv4 Unicast Top global Collection done on marker 8 after 0 net(s).

BGP: TX Member message pool under period (60 < 600).

BGP: TX IPv4 Unicast Tab RIB walk done version 8, added 1 topologies.

Entrez ces commandes afin de dépanner cette fonctionnalité :

- show asp table socket

- show bgp neighbor

- show bgp Summary

- show route bgp

- show bgp cidr-only

- show route summary