Redondance de routeur avec HSRP
>>> HSRP : Hot Standby Routing Protocol
Description :

Le protocole HSRP est un protocole permettant de faire de la redondance de routeur. La redondance c’est simple, deux ou plusieurs routeurs partagent une adresse IP virtuelle et une adresse MAC virtuelle. Le protocole va ensuite déterminer le routeur actif et le ou les routeur

>>> HSRP : Hot Standby Routing Protocol

Sommaire :

I) Introduction
1) Principe de fonctionnement
2) Schéma de réseau
II) Configurations
1) Routeur 1
2) Routeur 2
3) Routeur 3
III) Tests de fonctionnements
1) Panne 1
2) Panne 2
3) Rétablissement


I) Introduction

Le protocole HSRP ou Hot Standby Routing Protocol, est un protocole propriétaire Cisco. Il permet de gérer la redondance de routeur pour que lorsqu’un routeur tombe en panne un routeur de secours prenne le relais. HSRP permet d’augmenter la tolérance de panne sur un réseau en créant un routeur virtuel à partir de 2 routeurs physiques (ou plus), une élection déterminera le routeur actif et les autres routeurs seront en "attente" (standby). L’élection du routeur actif est réalisée grâce à la priorité configurée sur chaque routeur.

1) Principe de fonctionnement

En pratique, HSRP permet qu’un routeur de secours (ou Spare) prenne immédiatement, de façon transparente, le relais dès qu’un problème physique apparaît.

En partageant une seule et même adresse IP et MAC, plusieurs routeurs peuvent être considérés comme un seul routeur “Virtuel”. Les membres du groupe de ce routeur virtuel sont capables de s’échanger (Multicast) des messages d’état et des informations.

Un routeur physique peut donc être “responsable” du routage et un autre en redondance. Si le routeur, que nous appellerons primaire, a un problème, le routeur secondaire prendra sa place automatiquement. Les paquets continueront de transiter de façon transparente car les 2 routeurs partagent les mêmes adresses IP et MAC !

Un groupe de routeurs va négocier au sein d’un même groupe HSRP (ou standby group), un routeur primaire (Active router), élu au moyen d’une priorité, pour transmettre les paquets envoyés au routeur virtuel. Un autre routeur, le routeur secondaire (Standby router), sera élu lui aussi afin de remplacer le routeur primaire en cas de problème. Le secondaire assumera donc la tâche de transmettre les paquets à la place du primaire en cas de défaillance.

Le processus d’élection se déroule pendant la mise en place des liens, une fois ce processus terminé, seul le routeur primaire (Active) va envoyer des messages HSRP multicast en UDP aux autres afin de minimiser le trafic réseau. Si ces messages ne sont plus reçus par le routeur secondaire (Standby), c’est que le routeur primaire à un problème et le secondaire devient donc Actif.

L’élection se fait un peu à la manière de spanning-tree, en prenant en compte une priorité. Cette priorité est composée d’un paramètre “priority” compris entre 1 et 255 (255 étant le plus prioritaire) et de l’adresse IP de l’interface.

A priorités statiques égales, la plus haute adresse IP sera élue. Plusieurs groupes HSRP peuvent exister au sein d’un même routeur sans que cela ne pose problème (depuis l’IOS 10.3). Seuls les routeurs du même numéro de groupe s’échangeront les messages HSRP.

2) Schéma de réseau

Voici notre schéma de notre réseau :

II) Configurations

1) Routeur 1

Nous allons configurer le routeur 1 comme notre routeur prioritaire.

On commence par faire une petite configuration générale du routeur :

Router#configure terminale
Router#no ip domain-lookup
Router#hostname R1

Ensuite nous configurons notre interface FastEthernet 0/0 :

R1(config)#interface fastethernet 0/0
R1(config-if)#ip address 30.0.0.251 255.0.0.0
R1(config-if)#no shutdown

Ensuite nous configurons notre interface FastEthernet 0/1 :

R1(config)#interface fastethernet 0/1
R1(config-if)#ip address 60.0.0.251 255.0.0.0
R1(config-if)#no shutdown

Puis nous activons le HSRP sur nos interfaces :

R1(config)#interface fastethernet 0/0
R1(config-if)#standby 1 ip 30.0.0.254
R1(config-if)#standby 1 priority 130
R1(config-if)#standby 1 preempt
R1(config-if)#standby 1 track FastEthernet 0/1 30

Quelques petites explications :

 standby 1 ==> Déclare le groupe HSRP.

 standby 1 ip 30.0.0.254 ==> Déclare l’adresse IP du routeur virtuel.
 standby 1 priority 130 ==> Déclare la priority du routeur.
 standby 1 preempt ==> Permet d’augmenter la rapidité d’élection.
 standby 1 track FastEthernet 0/1 30 ==> Surveille la deuxième interface du routeur, si l’interface tombe le HSRP fera en sorte qu’un autre routeur prenne sa place.

Puis :

R1(config)#interface fastethernet 0/1
R1(config-if)#standby 2 ip 60.0.0.254
R1(config-if)#standby 2 priority 130
R1(config-if)#standby 2 preempt
R1(config-if)#standby 2 track FastEthernet 0/0 30

 standby 2 ip 60.0.0.254 ==> Déclare l’adresse IP du routeur virtuel.
 standby 2 priority 130 ==> Déclare la priority du routeur.
 standby 2 preempt ==> Permet d’augmenter la rapidité d’élection.
 standby 2 track FastEthernet 0/0 30 ==> Surveille la deuxième interface du routeur, si l’interface tombe le HSRP fera en sorte qu’un autre routeur prenne sa place. 30 correspond à l’atténuation qui sera effectuer sur la priorité.

2) Routeur 2

Nous allons configurer notre routeur 2 comme routeur de secours.

On commence par faire une petite configuration générale du routeur :

Router#configure terminale
Router#no ip domain-lookup
Router#hostname R2

Ensuite nous configurons notre interface FastEthernet 0/0 :

R2(config)#interface fastethernet 0/0
R2(config-if)#ip address 30.0.0.252 255.0.0.0
R2(config-if)#no shutdown

Ensuite nous configurons notre interface FastEthernet 0/1 :

R2(config)#interface fastethernet 0/1
R2(config-if)#ip address 60.0.0.252 255.0.0.0
R2(config-if)#no shutdown

Puis nous activons le HSRP sur nos interfaces :

R2(config)#interface fastethernet 0/0
R2(config-if)#standby 1 ip 30.0.0.254
R2(config-if)#standby 1 priority 120
R2(config-if)#standby 1 preempt
R2(config-if)#standby 1 track FastEthernet 0/1 20

Puis :

R2(config)#interface fastethernet 0/1
R2(config-if)#standby 2 ip 60.0.0.254
R2(config-if)#standby 2 priority 120
R2(config-if)#standby 2 preempt
R2(config-if)#standby 2 track FastEthernet 0/0 20

3) Routeur 3

Nous allons configurer notre routeur 3 comme notre deuxième routeur de secours.

On commence par faire une petite configuration générale du routeur :

Router#configure terminale
Router#no ip domain-lookup
Router#hostname R3

Ensuite nous configurons notre interface FastEthernet 0/0 :

R3(config)#interface fastethernet 0/0
R3(config-if)#ip address 30.0.0.253 255.0.0.0
R3(config-if)#no shutdown

Ensuite nous configurons notre interface FastEthernet 0/1 :

R3(config)#interface fastethernet 0/1
R3(config-if)#ip address 60.0.0.253 255.0.0.0
R3(config-if)#no shutdown

Puis nous activons le HSRP sur nos interfaces :

R3(config)#interface fastethernet 0/0
R3(config-if)#standby 1 ip 30.0.0.254
R3(config-if)#standby 1 priority 110
R3(config-if)#standby 1 preempt
R3(config-if)#standby 1 track FastEthernet 0/1 20

Puis :

R3(config)#interface fastethernet 0/1
R3(config-if)#standby 2 ip 60.0.0.254
R3(config-if)#standby 2 priority 110
R3(config-if)#standby 2 preempt
R3(config-if)#standby 2 track FastEthernet 0/0 20

III) Tests de fonctionnements

Avant d’étudier les pannes, nous observons le statut du HSRP sur nos routeurs.

show standby

Sur R1 :

 R1 est bien notre routeur prioritaire

Sur R2 :

Problème de capture

 R2 est en Standby prêt à prendre le routage si R1 a un problème.

Sur R3 :

 R3 est en mode "Listen", il écoute le réseau en attendant que R1 et R2 tombe.

1) Panne 1

Comme le schéma ci-dessous nous l’indique, le câble connecté sur fa0/0 de R1 a un problème.

Nous étudions maintenant le statut du HSRP sur les trois routeurs pour savoir comment ils ont géré le problème :

show standby

Sur R1 :

 On peut observer que le groupe 1 a bien détecté l’interface comme éteinte.
 On observe aussi que le groupe 2 est passé en mode "listen" car fa0/0 est éteinte.

Sur R2 :

 On observe que R2 est bien passé actif.

Sur R3 :

 On observe que R3 est en standby, prêt à s’activer si R2 tombe en panne.

2) Panne 2

Deuxième panne, l’interface fa0/0 sur le routeur 2 vient de tomber en panne.

Nous étudions de nouveau le statut HSRP sur les trois routeurs :

show standby

Sur R1 :

 On observe que R1 est toujours down car son interface fa0/0 est toujours éteinte.

Sur R2 :

 On observe comme dans la panne 1, que l’interface fa0/0 est "Down" et que le groupe 2 est passé en mode "Listen".

Sur R3 :

 R3 est passé en mode actif.

3) Rétablissement

L’interface fa0/0 du routeur 1 fonctionne de nouveau, après avoir attendu quelques secondes le temps du dialogue HSRP entre nos routeurs, nous refaisons une capture du statut HSRP.

Sur R1 :

Sur R3 :

Nous pouvons observer que R1 a repris l’activité et que R3 est repassé en "Standby".