samedi 30 mai 2015

IPv6-iBGP



Objective: Créer une interconnexion de laboratoire physique utilisant IPv6 avec l’IGP choisit et un numéro d’AS BGP au dessus d’une infrastructure IPv4 existante.



Ci-dessous, la topologie utilisée pour cet atelier.


Figure 1 –Configuration de base

Remarques


Ce module est destiné à la configuration iBGP pour IPv6 de cette séries d’ateliers. Ce module est à compléter après la configuration de l’IGP pour IPv6.

Les routeurs utilises pour cette partie du cours doivent supporter IPv6. N’importe quelle image IP Plus à partir de la version 12.2T inclue devrait convenir (IP Plus a été renommé Advanced IP Services pour la majorité des plateformes à partir de la version 12.3 de la branche principale). Comme toujours, il est recommandé de vérifier sur le Cisco Feature Navigator www.cisco.com/go/fn le set d’images et de plateformes supportant IPv6. Malheureusement IPv6 ne fait pas partie des images basic IP only or Service Provider IOS utilisées par la plupart des ISPs.

Note: Nous supposons que les routeurs utilisent une version d’IOS supérieure ou égale a 12.4 de la branche principale. Nous discutons la syntaxe précédant IOS 12.4 tout au long de l’atelier, dans des sections optionnelles.


Configuration du Laboratoire


1.      Configuration des sessions iBGP (Partie 1). Les routeurs sont tous dans le même système autonome, AS10, pour cet exercice. L’extension BGP qui permet le support de plusieurs protocoles (IPv4, IPv6 ,…) est MP-BGP. Un type d’adresse est appelé une address family. IPv4 unicast est l’une des nombreuses familles d’adresses supportées – c’est la plus connue. IPv6 est une autre famille d’adresse supportée par multiprotocol BGP. Nous devons configurer les nouveaux peering IPv6 pour qu’ils appartiennent à la famille d’adresses IPv6. Avant de configurer chaque session iBGP IPv6, il nous faut désactiver l’hypothèse comme quoi les peers BGP sont des peers IPv4 unicast. Ceci ce fait à l’aide de la commande suivante :

Router4(config)#router bgp 10
Router4(config-router)#no bgp default ipv4-unicast

2.      Configuration des sessions iBGP (Partie 2). Avant de configurer iBGP avec les voisins dans notre AS, nous avons besoin de faire un peu de préparation de base sur le routeur. Les paramètres par défaut IOS ne sont pas optimisés pour les réseaux des fournisseurs de services, donc avant de lancer les sessions BGP, nous devons définir les paramètres par défaut dont nous avons besoin.

La distance par défaut pour eBGP est de 20, la distance par défaut pour iBGP est de 200, et la distance par défaut pour ISIS est de 115. Cela signifie qu'il y a un potentiel pour un préfixe appris par eBGP de remplacer le préfixe identique porté par ISIS. Rappelons de la présentation sur le routage qu'il y a une séparation nette entre BGP et les processus ISIS – les préfixes présents dans ISIS ne seront jamais trouvés dans BGP, et vice-versa. Pour se protéger contre les accidents1, la distance eBGP est fixée à 200 également. La commande pour ce faire est la sous-commande bgp distance, la syntaxe est la suivante:


distance bgp <external-routes> <internal-routes> <local-routes>

Remarque: Cela devrait être inclus dans toutes les configurations BGP futures dans cet atelier. Par exemple, pour Router4, la configuration peut être:


Router4(config)#router bgp 10
Router4(config-router)#address-family ipv6
Router4(config-router-af)#distance bgp 200 200 200

3.      Configuration des sessions iBGP (Partie 3). Nous pouvons maintenant configure les voisins iBGP IPv6. Voici par exemple la configuration pour Router 4. Les sessions iBGP sont établies en utilisant les adresses loopback des routeurs.

Router4(config)#router bgp 10
Router4(config-router)#address-family ipv6
Router4(config-router-af)#neighbor 2001:db8::1 remote-as 10
Router4(config-router-af)#neighbor 2001:db8::1 update-source loopback 0
Router4(config-router-af)#neighbor 2001:db8::1 description iBGP with Router1
Router4(config-router-af)#neighbor 2001:db8::1 activate
Router4(config-router-af)#
Router4(config-router-af)#neighbor 2001:db8::2 remote-as 10
Router4(config-router-af)#neighbor 2001:db8::2 update-source loopback 0
Router4(config-router-af)#neighbor 2001:db8::2 description iBGP with Router2
Router4(config-router-af)#neighbor 2001:db8::2 activate
Router4(config-router-af)#
Router4(config-router-af)#neighbor 2001:db8::3 remote-as 10
Router4(config-router-af)#neighbor 2001:db8::3 update-source loopback 0
Router4(config-router-af)#neighbor 2001:db8::3 description iBGP with Router3
Router4(config-router-af)#neighbor 2001:db8::3 activate
Router4(config-router-af)#
Router4(config-router-af)#neighbor 2001:db8::5 remote-as 10
Router4(config-router-af)#neighbor 2001:db8::5 update-source loopback 0
Router4(config-router-af)#neighbor 2001:db8::5 description iBGP with Router5
Router4(config-router-af)#neighbor 2001:db8::5 activate
Router4(config-router-af)#
Router4(config-router-af)#neighbor 2001:db8::6 remote-as 10
Router4(config-router-af)#neighbor 2001:db8::6 update-source loopback 0
Router4(config-router-af)#neighbor 2001:db8::6 description iBGP with Router6
Router4(config-router-af)#neighbor 2001:db8::6 activate
Router4(config-router-af)#
Router4(config-router-af)#neighbor 2001:db8::7 remote-as 10
Router4(config-router-af)#neighbor 2001:db8::7 update-source loopback 0
Router4(config-router-af)#neighbor 2001:db8::7 description iBGP with Router7
Router4(config-router-af)#neighbor 2001:db8::7 activate
Router4(config-router-af)#
Router4(config-router-af)#neighbor 2001:db8::8 remote-as 10
Router4(config-router-af)#neighbor 2001:db8::8 update-source loopback 0
Router4(config-router-af)#neighbor 2001:db8::8 description iBGP with Router8
Router4(config-router-af)#neighbor 2001:db8::8 activate
Router4(config-router-af)#
Router4(config-router-af)#neighbor 2001:db8::9 remote-as 10
Router4(config-router-af)#neighbor 2001:db8::9 update-source loopback 0
Router4(config-router-af)#neighbor 2001:db8::9 description iBGP with Router9
Router4(config-router-af)#neighbor 2001:db8::9 activate
Router4(config-router-af)#
Router4(config-router-af)#neighbor 2001:db8::a remote-as 10
Router4(config-router-af)#neighbor 2001:db8::a update-source loopback 0
Router4(config-router-af)#neighbor 2001:db8::a description iBGP with Router10
Router4(config-router-af)#neighbor 2001:db8::a activate
Router4(config-router-af)#
Router4(config-router-af)#neighbor 2001:db8::b remote-as 10
Router4(config-router-af)#neighbor 2001:db8::b update-source loopback 0
Router4(config-router-af)#neighbor 2001:db8::b description iBGP with Router11
Router4(config-router-af)#neighbor 2001:db8::b activate
Router4(config-router-af)#
Router4(config-router-af)#neighbor 2001:db8::c remote-as 10
Router4(config-router-af)#neighbor 2001:db8::c update-source loopback 0
Router4(config-router-af)#neighbor 2001:db8::c description iBGP with Router12
Router4(config-router-af)#neighbor 2001:db8::c activate
Router4(config-router-af)#
Router4(config-router-af)#neighbor 2001:db8::d remote-as 10
Router4(config-router-af)#neighbor 2001:db8::d update-source loopback 0
Router4(config-router-af)#neighbor 2001:db8::d description iBGP with Router13
Router4(config-router-af)#neighbor 2001:db8::d activate
Router4(config-router-af)#
Router4(config-router-af)#neighbor 2001:db8::e remote-as 10
Router4(config-router-af)#neighbor 2001:db8::e update-source loopback 0
Router4(config-router-af)#neighbor 2001:db8::e description iBGP with Router14
Router4(config-router-af)#neighbor 2001:db8::e activate

Q. Pourquoi update-source loopback 0 est-il nécessaire sur iBGP?


Utilisez show bgp ipv6 summary pour vérifier l'état des connexions voisines d’iBGP. Si la session iBGP n'est pas en place et / ou aucune mise à jour n’est envoyée, travaillez avec l'équipe du routeur de la connexion voisine pour résoudre le problème.

4.      Verification de la Configuration. Faites un show run | begin bgp afin de voir a quoi ressemble la configuration BGP. Remarquez comme la partie générique de la configuration BGP est séparée de la configuration spécifique à la famille d’adresses IPv6. Voici ci-dessous un exemple d’output de la commande (Nous ne montrons pas la configuration IPv4 spécifique au module IPv4):

Router4#sh run | b bgp
router bgp 10
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 2001:db8::1 remote-as 10
 neighbor 2001:db8::1 description iBGP with Router2
 neighbor 2001:db8::1 update-source Loopback0
 address-family ipv6
 neighbor 2001:db8::1 activate
 neighbor 2001:db8::2 activate
 neighbor 2001:db8::3 activate
 exit-address-family
!

5.      Vérification d'intégrité. N'oubliez pas d'utiliser les commandes suivantes pour vous assurer d'obtenir les informations que vous êtes supposés avoir:


show bgp ipv6 unicast summary   : voir la liste de pairs BGP IPv6 que le routeur voit
show bgp ipv6 unicast           : voir la liste de chemins BGP IPv6 que le routeur voit
show ipv6 route                 : voir toutes les routes IPv6 que le routeur a installé

Q. Y a t-il des routes vues à travers show bgp ipv6 unicast? Si non, pourquoi pas? Y a t-il des routes marquées «B» lorsque vous effectuez show ipv6 route?


6.      Ajouter des Réseaux via BGP. Chaque équipe utilise BGP pour annoncer le bloc d'adresse utilisé pour le module. Par exemple, l’équipe routeur 1 ajouterait:

Router1 (config)#router bgp 10
Router1 (config-router)#address-family ipv6
Router1 (config-router-af)#network 2001:db8::/32

Utilisez show bgp ipv6 unicast sur le routeur du voisin pour voir si vous annoncez votre réseau via BGP.

Q. Est-ce que le réseau se présente via BGP? Si non, pourquoi?

Entrez une route statique pour le bloc CIDR. Par exemple, le routeur 1 utiliserait:

Router1 (config)#ipv6 route 2001:db8::/32 Null0

Q. Est-ce que le réseau se présente via le BGP d’un voisin? Utilisez la commande show ip bgp neighbor <neighbour’s IP address> advertised-routes pour voir ce que vous exportez à l'autre routeur. Allez physiquement à l'un des routeurs de votre voisin et vérifiez leur table BGP. Expliquez ce que vous voyez.


Q. Est-ce que le réseau apparait dans la table de transfert du routeur? Utilisez la commande show ipv6 route pour vérifier la table de transfert locale. Si non, pourquoi pas?

7.      Ajoutez les commandes suivantes à BGP (IOS antérieur a 12.3):

Router1 (config)#router bgp 10
Router1 (config-router)# address-family ipv6
Router1 (config-router-af)# no synchronization

Q. Est-ce que le réseau apparait dans la table de transfert du routeur? Utilisez la commande show ipv6 route pour vérifier la table de transfert locale. Qu'est-ce que la commande no synchronisation fait dans BGP? Comment ça affecte la table de transfert du routeur?


Checkpoint #1: appelez l'instructeur pour vérifier la connectivité.

8.      Ajout d'une route "client" dans BGP (Contexte & exemple). Nous allons maintenant ajouter une route "client" dans BGP sur chaque routeur. Or, dans le laboratoire, nous n'avons pas de "clients" en tant que tels connectés à nos routeurs, donc nous allons simuler la connectivité en utilisant simplement une interface Null0. A titre d'exemple, en situation réelle, la configuration pour connecter un client ressemblerait à quelque chose comme ceci

ipv6 route 2001:db8:10::/48 Serial 0/5/2 permanent
!
router bgp 64509
 address-family ipv6
  network 2001:db8:10::/48
!

Ceci ajouterait une route statique pointant 2001:db8:10::/48 vers Serial 0/5/2 – cette interface serait un lien fixe se connectant au site du client. 2001:db8:10::/48 serait l'espace d'adressage que l'ISP a attribué au client. La déclaration de réseau BGP ajouterait alors le bloc adresse du client dans l’iBGP de l'ISP.

Note: Le mot-clé permanent fait en sorte que la route statique est toujours dans la table de routage, même si l'interface est physiquement en panne. Plusieurs ISP utilisent cela pour s'assurer qu'ils n'ont pas un large échange de messages iBGP, appelé churn en anglais, lorsque les liens de leurs clients tombent en panne.

9.      Ajout d'une route "client" dans BGP. L’espace d’adressage «client» que chaque routeur introduira dans iBGP figure ci-dessous – on utilisera chacun un / 48 comme espace minimum pour les end-sites.



R1   2001:db8:1::/48
R2   2001:db8:2::/48
R3   2001:db8:3::/48
R4   2001:db8:4::/48
R5   2001:db8:5::/48
R6   2001:db8:6::/48
R7   2001:db8:7::/48
R8   2001:db8:8::/48
R9   2001:db8:9::/48
R10  2001:db8:a::/48
R11  2001:db8:b::/48
R12  2001:db8:c::/48
R13  2001:db8:d::/48
R14  2001:db8:e::/48



Chaque équipe doit maintenant mettre en place une route statique pointant vers l'interface Null0 pour le / 48 dont elles sont à l'origine. Une fois que la route statique est mise en place, l'équipe doit ensuite ajouter une entrée dans la table BGP. Voici un exemple pour Router11:

Router11 (config)# ipv6 route 2001:db8:b::/48 Null0
Router11 (config)# router bgp 10
Router11 (config-router)# address-family ipv6
Router11 (config-router-af)# network 2001:db8:b::/48

10.  Vérifiez le table BGP. Y a t-il des routes vues par show bgp ipv6? Si non, pourquoi pas? Une fois que toutes les équipes de la classe ont terminé leur configuration, chaque équipe doit voir l'agrégat ainsi que les quatorze / 26s introduits à l'étape précédente. Si ce n'est pas le cas, travaillez avec vos voisins pour résoudre le problème.




Review Questions


1.      Quelle commande show d’IOS affiche la table de routage BGP IPv6 du routeur?


Aucun commentaire:

Enregistrer un commentaire