Finger in the net
Blog d'administration réseau
Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Created by potrace 1.10, written by Peter Selinger 2001-2011

Le protocole HSRP

Finger In The Net
Le protocole HSRP

Introduction

Le protocole HSRP (Hot Standby Router Protocol) est un protocole :

  • Propriétaire CISCO
  • Basé sur un modèle Actif / Passif.

Il existe en plusieurs versions : 

HSRP version 1

  • IPv4
  • Adresse MAC utilisée : 0000.0C07.ACxx
  • Utilise l’adresse multicast 224.0.0.2
  • Groupe 0 au groupe 255

HSRP version 2

  • IPv4 / IPv6
  • Adresse MAC utilisée : 0000.0C9F.Fxxx
  • Utilise l’adresse multicast 224.0.0.102
  • Groupe 0 au groupe 4095
Chapitre 1

Principe de fonctionnement du HSRP

Introduction

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” :

Mode Active (Actif)

  • Ce routeur portera l’adresse IP et l’adresse MAC virtuelle

Mode Passive (Passif)

  • Les autres routeurs attendent que le routeur en mode active soit indisponible pour prendre sa place.
HSRP - Schéma de principe
Schéma de principe

Afin de savoir lequel des routeurs va passer en mode Active, il vont organiser une élection.

Élection du routeur actif

  • Chaque routeur possède une priorité.
  • Cette priorité est modifiable par l’administrateur.
  • La priorité par défaut est à 100. Elle est comprise entre 0 et 255.

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.

Les paquets "Hello"

Le routeur en mode Active envoi des paquets “Hello” aux routeurs en mode Passive.

Cet intervalle de temps s’appelle :

  • “Hello Timer” (par défaut: toutes les 3 secondes)

Si nos routeurs en mode Passive ne reçoivent plus de paquets “Hello”, ils considèrent que le routeur en mode Active est hors service, il va donc y avoir une nouvelle élection !

Cet intervalle de temps s’appelle :

  • “Hold-time Timer” (par défaut: 10 secondes soit 3x le Hello Timer)

Les valeurs “Hello Timer” et “Hold-time Timer” peuvent être changées administrativement.

Exemple :

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 300

Nous 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.

Basculement en cas de panne

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.)

 

HSRP - Basculement en cas de panne
Basculement en cas de panne

La Préemption

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
Chapitre 2

Configuration du protocole HSRP

Étape 1 : Définir la version HSRP à utiliser

Router(config)# interface vlan 10 
Router(config-if)# standby version 2

Étape 2 : Définir la priorité HSRP

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

Étape 3 : Définir l'adresse IP virtuelle

(L’adresse MAC virtuelle sera générée en fonction du numéro de groupe HSRP)

Router(config-if)# standby 1 IP 192.168.10.254
HSRP - Configuration du protocole HSRP
Configuration du protocole HSRP
Chapitre 3

Authentification HSRP

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 :

Plain-text

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

MD5

Pour expliquer ce type d’authentification , mettons-nous en situation :

  • Les routeurs R1 et R2 sont dans le même groupe HSRP.
  • R1 à un message à envoyer à R2.
  • Ce dernier créer un hash avec sa clé MD5.
  • R1 envoie son message ainsi que le hash de son message.
  • R2 créer un hash avec sa clé MD5 du message reçu.
  • Si le hash de R1 est égal à la valeur du hash de R2 , le message est accepté.

la clé MD5 :

  • Ne circule pas sur le réseau.
  • Peut avoir au maximum 64 caractères.

Deux façons de mettre en place une clé MD5 :

  • Méthode 1 :
Switch(config-if)# standby 1 authentication md5 key-string [ 0 | 7 ] Finger
    • 0 = Clé en clair
    • 7 = Clé cryptée
  • Méthode 2 :
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
Chapitre 4

Load Balancing HSRP (MHSRP)

Scénario

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 !

  • Vlan 10 = 192.168.10.0 /24
  • Vlan 20 = 192.168.20.0 /24

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.

Architecture

Load Balancing HSRP (MHSRP)

Configuration de R1

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

Configuration de R2

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
Chapitre 5

HSRP et SLA

Présentation

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.

Configuration

Étape 1 : Configuration de notre test SLA :

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 20

Le 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

HSRP et SLA
HSRP et SLA
Chapitre 6

Vérification

Router# show standby 
Router# show standby brief

Sur le même thème :

Noël NICOLAS

Expert Réseau
11 ans d’expérience
CCNP Routing and Switching
Fondateur du site FingerInTheNet

Comments (1)

Excellent article, comme d’habitude !

Quelques petites questions :

1 – Est-ce que les deux versions (HSRP v1 et HSRP v2) permettent l’authentification ?

2 – Concernant la clé MD5. Il y a un texte qui dit “– Ne circule pas sur le réseau.” et un autre qui dit “7 = Clé Crypté”. Ce n’est pas dit ; mais, on peut logiquement conclure que c’est la clé qui est dans “sh run” qui est cryptée.

3 – Une petite erreur de copier/coller sur le schéma : le subnet 192.168.10.0/24 est inscrit 2 fois.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

dix − 4 =

CURSUS DE FORMATION

LA BOUTIQUE
DES GEEKS