BGP - Redondance dans un réseau Multihomed avec HSRP ccnp_cch
Sommaire • Introduction • Prérequis • Rappels de théorie • Configuration - Schéma du réseau - Configurations ● Vérification - Paquets allant du réseau local vers la destination - Paquets de la destination vers le réseau local ccnp_cch
Introduction Ce document décrit comment fournir de la redondance dans un réseau BGP (Border Gateway Protocol) multi-accès lorsque vous avez deux connexions séparées vers des opérateurs Internet. Dans l'éventualité d'une défaillance de connectivité vers un ISP, le trafic est rerouté dynamiquement vers l'autre opérateur grâce à la commande BGP set as-path {tag|prepend|as-path-string} et HSRP ( Hot Standby Router Protocol). Prérequis L'utilisation de ce document requiert une bonne compréhension des thèmes suivants: ● Cisco HSRP ● Configuration de HSRP ● BGP Algorithme de sélection du meilleur chemin ● Configuration BGP Rappel de théorie L'objectif de cette configuration présentée dans ce document est de réaliser cette poli- tique de réseau: ● Tout le trafic sortant issu des hosts sur le réseau 192.168.21.0/24 et à destination d'Internet doit être routé à travers R1 vers ISP_A. Cependant, si cette liaison est défaillante R1 est défaillant, tout le trafic sortant doit être rerouté à travers R2 vers ISP_B (et ensuite vers Internet) sans intervention manuelle. ● Tout le trafic entrant destiné au système autonome AS 100, depuis Internet doit être routé par R1. Dans l'éventualité d'une défaillance de la liaison entre l'ISP et R1, le trafic entrant doit être automatiquement rerouté au travers d'ISP_B vers R2. Ces exigences peuvent être satisfaites avec deux technologies: BGP et HSRP. Le premier objectif de chemin sortant totalement redondant peut être atteint avec HSRP. Typiquement les PC n'ont pas la capacité à collecter et échanger des informa- tions de routage. L'adresse IP de la passerelle par défaut est configurée de manière statique et si le routeur passerelle est défaillant, le PC perd sa connectivité avec tout équipement placé derrière le routeur passerelle. C'est le cas même si une passerelle alternative existe. HSRP a été conçu^pour répondre à ces besoins. Le second objectif peut être atteint avec la commande BGP set as-path prepend qui autorise BGP à propager un chemin d'AS plus long (au moyen de l'ajout de son propre numéro d'AS plusieurs fois) au travers de R2 vers la liaison avec l'ISP_B pour le pré- fixe 192.168.21.0/24. Ainsi tout le trafic destiné au réseau 192.168.21.0/24 qui vient de l'extérieur de l'AS 100 prend le chemin le plus court au travers de la liaison ISP_A vers R2. Si le chemin primaire (ISP_A vers R1) est coupé, tout le trafic prend le chemin d'AS le plus long pour atteindre le réseau 192.168.21.0/24. Pour en savoir plus au sujet de la commande as-path prepend, reférez-vous au schéma "attribut AS_PATH" dans le document BGP Etude de cas. ccnp_cch
Configuration Dans cette section sont présentées les informations utilisées pour configurer les fonc- tionnalités présentées dans ce document. Schéma du réseau Ce document utilise la configuration de réseau suivante: Dans ce schéma, le Routeur 1 (R1) et le Routeur 2 (R2) sont dans l'AS 100 qui a un voisinage eBGP avec ISP_A (AS 300) et ISP_B (AS 400). Le routeur 6 (R6) fait partie de l'AS 600 qui a un voisinage eBGP avec ISP_A et ISP_B. R1 et R2 ont un voisinage eBGP qui est nécessaire pour un routage optimal. Par exemple, quand vous essayez d'attein- dre les routes internes de l'AS 400, R1 n'utilise pas le chemin le plus long à travers l'AS 300. R1 achemine le trafic vers R2. R1 et R2 sont également configurés pour opé- rer avec HSRP sur un segment Ethernet commun. Les hôtes du même segment Ether- net ont une route par défaut qui pointe vers l'adresse IP HSRP standby 192.168.21.10. s0 192.168.63.x .1 .4 .3 .2 192.168.31.x 192.168.42.x R1 R2 R3 AS 600 R6 ISP_A ISP_B AS 300 AS 400 192.168.21.0/24 .5 192.168.64.x Hôte AS 100 ccnp_cch
Configurations ccnp_cch R1 Current configuration hostname R1 ! interface serial 0 ip address 192.168.31.1 255.255.255.0 interface Ethernet1 ip address 192.168.21.1 255.255.255.0 standby 1 priority 105 standby 1 preempt delay minimum 60 standby 1 ip 192.168.21.10 standby 1 track Serial0 !−−− La commande standby track serial supervise l'état de !−−− l'interface Serial0 et baisse la priorité du groupe !--- standby 1, si l'interface passe "down". !−−− La commande standby preempt delay minimum 60 assure que !−−− R1 préemptera et se déclarera routeur actif de nouveau. !--- Cette commande assure également que le routeur attendra !−−− 60 secondes avant de réagir pour donner à BGP assez de !−−− temps pour converger et remplir la table de routage. !--- Ceci évite de transmettre du trafic à R1 avant qu'il !--- soit capable de l'acheminer. router bgp 100 no synchronization network 192.168.21.0 neighbor 192.168.21.2 remote−as 100 neighbor 192.168.21.2 next−hop−self neighbor 192.168.31.3 remote−as 300 no auto−summary ccnp_cch
ccnp_cch R2 Current configuration: hostname R2 ! interface serial 0 ip address 192.168.42.2 255.255.255.0 interface Ethernet1 ip address 192.168.21.2 255.255.255.0 standby 1 priority 100 standby 1 preempt standby 1 ip 192.168.21.10 router bgp 100 no synchronization network 192.168.21.0 neighbor 192.168.21.1 remote−as 100 neighbor 192.168.21.1 next−hop−self neighbor 192.168.42.4 remote−as 400 neighbor 192.168.42.4 route−map foo out no auto−summary access−list 1 permit 192.168.21.0 route−map foo permit 10 match ip address 1 set as−path prepend 100 !−−− Cette instruction ajoute l'AS100 dans les mises à jour !--- BGP transmise à l'AS 400 pour en faire un chemin !--- alternatif au chemin ISP_A vers R1. end ccnp_cch
Vérification ccnp_cch Cette section fournit des informations que vous pouvez utiliser pour confirmer que vo- tre configuration fonctionne correctement. Quand vous configurez de la redondance dans tout réseau, vous devez considérer deux choses: ● La création d'un chemin redondant pour les paquets allant du réseau local vers le réseau destination. ● La création d'un chemin redondant pour les paquets reviennent du réseau destina- tion vers le réseau local. Paquets allant du réseau local vers la destination Dans cet exemple, le réseau local est 192.168.21.0/24. les routeurs R1 et R2 opèrent avec HSRP sur le segment Ehternet connecté à l'interface Ethernet 1. R1 est configu- ré comme le routeur HSRP actif avec une priorité de 105 et R2 est configuré avec une priorité de 100. La commande standby 1 track Serial0 sur R1 permet au processus HSRP de surveiller cette interface. Si cette interface passe à l'état "down", la priorité HSRP est passée à 95 (la valeur est réduite de 10 par défaut). Ceci fait que l'autre rou- teur HSRP, R2, a une priorité plus élevée ( priorité égale à 100). R2 devient le routeur HSRP actif et prend en compte le trafic destiné au réseau externe. Exécutez la commande show standby pour voir le routeur HSRP actif quand l'interfa- ce Serial0 est à l'état "up". R1#show standby Ethernet1 − Group 1 Local state is Active, priority 105, may preempt Hellotime 3 sec, holdtime 10 sec Next hello sent in 0.338 Virtual IP address is 192.168.21.10 configured Active router is local Standby router is 192.168.21.2 expires in 8.280 Virtual mac address is 0000.0c07.ac01 13 state changes, last state change 00:46:10 IP redundancy name is "hsrp−Et0−1"(default) Priority tracking 1 interface, 1 up: Interface Decrement State Serial0 10 Up R2#show standby State is Standby 56 state changes, last state change 00:05:13 Virtual IP address is 192.168.21.10 Active virtual MAC address is 0000.0c07.ac01 Local virtual MAC address is 0000.0c07.ac01 (default) Hello time 3 sec, hold time 10 sec Next hello sent in 1.964 secs Preemption enabled Active router is 192.168.21.1, priority 105 (expires in 9.148 sec) Standby router is local Priority 100 (default 100) IP redundancy name is "hsrp−Et0−1" (default) ccnp_cch
R1#show standby ethernet 1 brief P indicates configured to preempt. | Interface Grp Prio P State Active addr Standby addr Group addr Et1 1 105 P Active local 192.168.21.2 192.168.21.10 R1# R2#show standby ethernet 1 brief Interface Grp Prio P State Active Standby Virtual IP Et1 1 100 P Standby 192.168.21.1 local 192.168.21.10 R2# La commande show standby montre que R1 est le routeur HSRP actif à cause de sa priorité plus élevée qui est 105. Comme R1 est le routeur actif, R1 gère l'adresse IP 192.168.21.10. Tout le trafic IP du host configuré avec l'adresse de passerelle par dé- faut 192.168.21.10 passe par R1. Si vous passez l'interface Serial0 du routeur R1 "down", le routeur HSRP actif change car HSRP est configuré sur R1 avec la commande standby track Serial0. Quand le protocole de liaison de l'interface Serial0 passe "down", HQRP réduit la priorité de R1 de 10 (par défaut) ce qui donne une priorité de 95. R1 change son état en "Standby" , R2 devient le routeur actif et par conséquent prend à son compte l'adresse IP 192.168.21.10. Par conséquent tout le trafic des hosts du segment 192.168.21 .0/24 et destiné à l'extérieur est routé vers R2. Les sorties des commandes debug et show le confirme. R1(config)# interface s0 R1(config−if)# shut %STANDBY−6−STATECHANGE: Standby: 1: Ethernet1 state Active −> Speak %LINK−5−CHANGED: Interface Serial0, changed state to administratively down %LINEPROTO−5−UPDOWN: Line protocol on Interface Serial0, changed state to down %STANDBY−6−STATECHANGE: Standby: 1: Ethernet1 state Speak −> Standby %LINK−3−UPDOWN: Interface Serial0, changed state to down: Notez que R1 devient le routeur "standby". Si R2 passe dans l'état actif alors vous pouvez voir une sortie similaire à celle-ci: R2# %STANDBY−6−STATECHANGE: Standby: 1: Ethernet1 state Standby −> Active ccnp_cch
Si vous exécutez la commande show standby sur R1, observez les priorités après que l'interface Serial0 soit passée "down" sur R1. R1#show standby Ethernet1 − Group 1 Local state is Standby, priority 95 (confgd 105), may preempt Hellotime 3 sec, holdtime 10 sec Next hello sent in 0.808 Virtual IP address is 192.168.21.10 configured Active router is 192.168.21.2, priority 100 expires in 9.008 Standby router is local 15 state changes, last state change 00:00:40 IP redundancy name is "hsrp−Et0−1" (default) Priority tracking 1 interface, 0 up: Interface Decrement State Serial0 10 Down (administratively down) R1# R2#show standby State is Active 57 state changes, last state change 00:00:33 Virtual IP address is 192.168.21.10 Active virtual MAC address is 0000.0c07.ac01 Local virtual MAC address is 0000.0c07.ac01 (bia) Hello time 3 sec, hold time 10 sec Next hello sent in 2.648 secs Preemption enabled Active router is local Standby router is 192.168.21.1, priority 95 (expires in 7.096 sec) Priority 100 (default 100) R2# R1#sh standby ethernet 1 brief P indicates configured to preempt. | Interface Grp Prio P State Active addr Standby addr Group addr Et0 1 95 P Standby 192.168.21.2 local 192.168.21.10 R2#sh standby ethernet 1 brief Interface Grp Prio P State Active Standby Virtual IP Et0 1 100 P Active local 192.168.21.1 192.168.21.10 Notez que la priorité standby de R1 a été réduite de 105 à 95 et R2 est devenu le rou- teur actif. ccnp_cch
Conclusion Dans l'éventualité d'une rupture de connectivité entre ISP_A et R1, HSRP réduit la priorité du groupe standby sur 1. R1 passe de l'état actif à l'état standby. R2 passe de l'état standby à l'état actif. L'adresse IP standby 192.168.21.10 devient active sur R2 et les hosts qui envoient du trafic sur Internet utilisent R2 et ISP_B fournissant un chemin alternatif pour le trafic sortant. Paquets de la destination vers le réseau local Selon la politique de réseau définie dans la section "Rappel de théorie" dans ce docu- ment, comme ISP_A est votre chemin primaire et ISP_B est le chemin de secours pour le trafic vers 192.168.21.0/24 (pour des liaisons telles qu'une connexion avec bande passante plus large vers ISP_A) vous pouvez ajouter votre propre numéro d'AS dans les mises à jour de routage BGP annoncées vers ISP_B dans R2 pour faire en sorte que le chemin d'AS au travers d'ISP_B soit le plus long. Pour réaliser cela, configurez une "route map" pour le voisin BGP 192.168.42.4. Dans cette "route map" ajoutez votre propre numéro d'AS avec la commande set as-path prepend. Appliquez cette "route map" aux mises à jour transmises au voisin 192.168.42.4. Note : En production, vous devez ajouter votre numéro d'AS plusieurs fois pour être sur que la route annoncée est la moins bonne. Voici la table BGP dans R6 pour le réseau 192.168.21.0 quand la connectivité entre R1 vers ISP_A et R2 vers ISP_B est établie. R6# show ip bgp 192.168.21.0 BGP routing table entry for 192.168.21.0/24, version 30 Paths: (2 available, best #1) Advertised to non peer−group peers: 192.168.64.4 300 100 192.168.63.3 from 192.168.63.3 (10.5.5.5) Origin IGP, localpref 100, valid, external, best, ref 2 400 100 100 192.168.64.4 from 192.168.64.4 (192.168.64.4) Origin IGP, localpref 100, valid, external BGP sélectionne le meilleur chemin AS (300, 100) à travers ISP_A car c'est le chemin d'AS de plus petite longueur en comparaison avec le chemin d'AS (400, 100, 100) de ISP_B. La raison pour laquelle le chemin d'AS au travers de ISP_B est long est la con- figuration de as-path prepend dans R2. Quand la connectivité est rompue entre R1 et ISP_A, R6 doit choisir le chemin alterna- tif au travers de ISP_B pour joindre le réseau 192.168.21.0/24 dans l'AS 100. R1(config)#interface s0 R1(config−if)#shut %LINEPROTO−5−UPDOWN: Line protocol on Interface Serial0, changed state to down ccnp_cch
ccnp_cch C'est la table BGP dans R6 pour le réseau 192.168.21.0/24: R6#show ip bgp 192.168.21.0 BGP routing table entry for 192.168.21.0/24, version 31 Paths: (1 available, best #1) Advertised to non peer−group peers: 192.168.63.3 400 100 100 192.168.64.4 from 192.168.64.4 (192.168.64.4) Origin IGP, localpref 100, valid, external, best ccnp_cch