Le protocole HSRP (Hot Standby Router Protocol) est un protocole :
Il existe en plusieurs versions :
HSRP (Hot Standby Router Protocol) est un protocole propriétaire de Cisco conçu pour permettre la redondance de passerelle pour les hôtes d’un réseau. Il existe plusieurs versions du protocole HSRP, et il y a des différences notables entre la version 1 (HSRPv1) et la version 2 (HSRPv2). Voici les principales différences :
En conclusion, HSRPv2 apporte des améliorations par rapport à HSRPv1, notamment en termes de flexibilité, de capacité à gérer davantage de groupes et de clarifications pour les environnements VLAN. Si vous n’avez pas de contrainte particulière vous forçant à utiliser HSRPv1, il serait judicieux d’envisager d’utiliser HSRPv2 pour bénéficier de ces améliorations.
Le protocole HSRP est basé sur le modèle Actif / Passif. Cela veut dire qu’il n’y aura qu’un seul routeur en mode “Actif” et les autres routeurs en mode “Passif” :
Afin de savoir lequel des routeurs va passer en mode Active, il vont organiser une élection.
Le routeur ayant la priorité la plus haute sera en mode Active. En cas d’égalité, le routeur possédant l’adresse IP la plus haute deviendra le routeur actif.
Le routeur en mode Active portera donc notre adresse IP et notre adresse MAC virtuelle. Le ou les routeurs en mode Passive se tiendront informés de l’état de santé du routeur Active via des paquets “Hello” envoyés en mulitcast.
Switch(config-if)# standby 1 timers 3 10 Hello = 3s / Hold-time = 10s(Mettre ces valeurs ne sert à rien car c’est les valeurs par défaut)
ou
switch(config-if)# standby 1 timers msec 100 msec 300Nous avons passé le “Hello timer” à 100 millisecondes et le “Hold-time” à 300 (3×100) millisecondes. Ce qui nous donne une vitesse de basculement en cas de panne de 300 millisecondes. Ces temps doivent être communs à tous nos routeurs.
Si notre routeur en mode Active n’est plus en état de fonctionner, une nouvelle élection à lieu.
Un routeur en mode Passive va donc passer en mode Active.
Si notre routeur hors ligne est de nouveau en ligne, il n’y aura pas de nouvelle élection !
(il ne récupèrera donc pas son rôle avant la prochaine panne du nouveau routeur en mode Active.)
Définition de Préemption :
La préemption est la capacité d’un système d’exploitation multitâche d’interrompre une tâche en cours en faveur d’une tâche de priorité supérieure. (source: Wikipédia)
La commande “preempt” va permettre à un routeur possédant une priorité supérieure aux autres de remplacer le routeur actuellement en mode Active (sans attendre la prochaine élection, #CoupD’état)
La commande est la suivante :
Switch(config-if)# standby 1 preempt
Router(config)# interface vlan 10 Router(config-if)# standby version 2
Le protocole HSRP travaille dans des groupes , il faut donc lui spécifier dans quel groupe de travail il va travailler. Imaginons que nous sommes sur le routeur de droite , nous voulons que ce routeur soit en mode Passive, nous allons donc lui mettre une priorité supérieur au routeur de gauche (Ce routeur aura une valeur de priorité par défaut : 100)
Router(config-if)# standby 1 priority 110
Router(config-if)# standby 1 IP 192.168.10.254
Afin d’authentifier les routeurs présents dans notre groupe de travail HSRP, il est possible de mettre en place de l’authentification.
Pour ce faire, deux méthodes :
Si les deux routeurs possèdent la même “Plain-test key string” (traduction : Chaine de caractère en texte brut), il pourront donc travailler ensemble.
Cette chaine doit avoir entre 1 et 8 caractères.
Cette méthode d’authentification est déjà utilisée par défaut, “cisco” est la valeur de la chaine.
La chaine de caractère passe en clair sur le réseau ….
Rappel : Les paquets Hello sont envoyés en multicast. Si quelqu’un fait une simple écoute réseau, il obtiendra le numéro de groupe HSRP ainsi que cette chaine de caractère.
Pour changer cette chaine de caractère :
Switch(config-if)# standby 1 authentication Finger
Switch(config-if)# standby 1 authentication md5 key-string [ 0 | 7 ] Finger
Switch(config)# key chain Finger-chain Switch(config-keychain)# key 1 Switch(config-keychain-key)# key-string [ 0 | 7 ] Finger Switch(config)# interface vlan 10 Switch(config-if)# standby 1 authentication md5 key-chain Finger-chain
Comme nous l’avons vu plus haut , tous nos flux voulant aller sur internet vont donc passer par un seul routeur. Pendant que le deuxième n’est la uniquement si la première liaison tombe. Le mieux serait d’utiliser les deux liaisons ! Pour ce faire , nous allons faire de l’équilibrage de charge manuel ! (Le protocole GLBP fait de l’équilibrage de charge dynamique)
Reprenons notre architecture avec deux vlan cette fois-ci !
Nous allons faire deux groupes HSRP différents (un pour chaque vlans) et nous allons décider que le routeur de gauche sera en mode Active pour le vlan 10.
Le routeur de droite sera en mode Active pour le vlan 20.
Nous utiliserons donc nos deux liaisons.
R1(config)# interface vlan 10 R1(config-if)# ip address 192.168.10.252 255.255.255.0 R1(config-if)# standby version 2 R1(config-if)# standby 1 ip 192.168.10.254 R1(config-if)# standby 1 priority 110 R1(config-if)# standby 1 name HSRP-Vlan10 R1(config)# interface vlan 20 R1(config-if)# ip address 192.168.20.252 255.255.255.0 R1(config-if)# standby version 2 R1(config-if)# standby 2 ip 192.168.20.254 R1(config-if)# standby 2 name HSRP-Vlan20
R2(config)# interface vlan 10 R2(config-if)# ip address 192.168.10.253 255.255.255.0 R2(config-if)# standby version 2 R2(config-if)# standby 1 ip 192.168.10.254 R2(config-if)# standby 1 name HSRP-Vlan10
R2(config)# interface vlan 20 R2(config-if)# ip address 192.168.20.253 255.255.255.0 R2(config-if)# standby version 2 R2(config-if)# standby 2 ip 192.168.20.254 R2(config-if)# standby 2 priority 110 R2(config-if)# standby 2 name HSRP-Vlan20
Le service IP SLA permet de faire différent type de test ( voir l’article SLA ).
Ce service va nous permettre de vérifier la disponibilité de nos services derrière notre gateway.
Nous deux routeurs fournissent INTERNET via deux Box distincts. Si l’une des deux Box n’est plus en état de fonctionner, le HSRP ne va jamais basculer.
Avec le service SLA , nous allons lui dire que si sa liaison WAN est hors d’usage , il faut qu’il passe la main au routeur Stand-by.
Routeur(config)# ip sla 10 Routeur(config-ip-sla)# icmp-echo 8.8.8.8 Routeur(config-ip-sla)# frequency 5
Routeur(config)# ip sla schedule 10 start-time now life forever
L’adresse IP 8.8.8.8 est le serveur DNS de google. il sera toujours en vie. nous allons faire notre test de connextion INTERNET avec cette adresse IP.
Étape 2 : Prise en compte du SLA par notre architecture HSRP
Routeur(config)# track 1 IP sla 10 reachability Routeur(config)# interface vlan 10 Routeur(config-if)# standby 1 track 10 decrement 20Le décrément est le nombre qu’il faudra soustraire à la priorité du routeur si le test retourne un résultat négatif. Vu que la priorité du routeur A est à 110 et que la priorité du routeur B est à 100. Le routeur A est en mode “Active“. Le test SLA est donc à mettre sur le routeur A. Si le résultat du test est négatif. La priorité du routeur A passé à 90. Routeur B passe donc en mode “Active”
Router# show standby Router# show standby brief