HSRP : Hot Standby Router Protocol

Sur un PC on configure généralement une seule passerelle par défaut… Mais que se passe-t-il si celle-ci est hors service ? … La réponse est simple … plus moyen de communiquer en dehors de son domaine de diffusion.

Pour remédier à cela, il existe plusieurs méthodes pour gérer la redondance de passerelle dont les protocoles HSRP, VRRP et GLBP.

Voici un exemple simple de mise en place de redondance de passerelle à l’aide de HSRP. Il est toutefois important de noter qu’il s’agit d’un protocole propriétaire Cisco.

La topologie

hsrp

Afin d’aller directement à l’essentiel, la configuration de base de la topologie est considérée comme terminée. Pour ma part j’ai simplement activé EIGRP entre R1, R2 et R3.

R3 dispose d’une interface Loopback (1.1.1.1/32) que j’utiliserai pour tester la communication depuis le PC.

Le PC (C1) est configuré avec l’adresse 192.168.0.10/24 avec une passerelle par défaut 192.168.0.254. Notez qu’il ne s’agit pas de l’adresse configurée sur R1 ou R2 … Mais ce sera celle dont le rôle sera assumé soit par R1 soit par R2 en fonction de l’état du réseau.

Principe général

HSRP est un protocole qui fourni une solution de continuité de service principalement pour la redondance de passerelles par défaut.

Pour chaque réseau, on associe les interfaces des routeurs à un groupe HSRP (le même n° de groupe pour toutes les interfaces qui doivent assurer le même rôle). A ce groupe on associe une adresse IP virtuelle (dans le cas présent ce sera 192.168.0.254).

La redondance est mise en place par le biais du protocole ARP. Lorsque le PC doit envoyer une trame à sa passerelle, il émet une requête ARP et celle-ci répond en fournissant son adresse MAC.

Avec HSRP, les routeurs vont associer une adresse MAC particulière à l’adresse IP virtuelle sous la forme 00:00:0c:07:ac:XX (où XX est le n° du groupe HSRP).

Dés lors, pour le PC, quoi qu’il arrive, ce sera cette adresse MAC qui identifiera sa passerelle.   De leur côté les routeurs dialoguent par multicast afin de négocier et de savoir qui devra se charger de traiter la trame destinée à l’adresse MAC HSRP.

Configuration de R1

R1(config)# interface FastEthernet0/0
R1(config-if)# standby 1 ip 192.168.0.254
R1(config-if)# standby 1 priority 200
R1(config-if)# standby 1 preempt

On a donc configuré ici l’interface Fa0/0 de R1 pour fonctionner dans le groupe HSRP n°1 auquel on a associé l’adresse IP virtuelle 192.168.0.254. En plus on a défini une priorité de 200 (la plus grande priorité sera la passerelle effective) et on active le droit de préemption (si R1 tombe en panne, R2 prend le relai… mais is R1 revient, il reprendra sa place, sans préemption, R2 resterait la passerelle).

Configuration de R2

R2(config)# interface FastEthernet0/0
R2(config-if)# standby 1 ip 192.168.0.254
R2(config-if)# standby 1 priority 100

La configuration de R2 est similaire à celle de R1, étant donné que R2 est configuré avec une priorité plus faible, il n’est pas nécessaire d’activer la préemption.

Vérification

Sur le PC, un test de communication démontre le bon fonctionnement de la configuration…

La configuration de C1:

NAME  IP/MASK         GATEWAY       MAC
VPCS1 192.168.0.10/24 192.168.0.254 00:50:79:66:68:00

Test de communication vers 1.1.1.1

VPCS[1]> ping 1.1.1.1
1.1.1.1 icmp_seq=1 timeout
1.1.1.1 icmp_seq=2 ttl=254 time=50.000 ms
1.1.1.1 icmp_seq=3 ttl=254 time=50.000 ms
1.1.1.1 icmp_seq=4 ttl=254 time=39.000 ms
1.1.1.1 icmp_seq=5 ttl=254 time=48.000 ms

Il est intéressant d’analyser la table ARP de C1…

VPCS[1]> arp
00:00:0c:07:ac:01 192.168.0.254 expires in 114 seconds

On constate donc bien que 192.168.0.254 est la passerelle de C1 et que l’adresse MAC associée est bien celle d’un groupe HSRP (ici le groupe 1, indiqué par le dernier octet de l’adresse MAC … 01). Un traceroute prouvera que R1 est bien le routeur faisant office de passerelle…

VPCS[1]> trace 1.1.1.1
trace to 1.1.1.1, 8 hops max, press Ctrl+C to stop
 1 192.168.0.1  20.000 ms 10.000 ms 10.000 ms
 2 172.30.0.1   30.000 ms 10.000 ms 10.000 ms
 3 1.1.1.1      30.000 ms 10.000 ms 10.000 ms

Vérification de la configuration

Sur R1 et R2 il est possible de vérifier le fonctionnement de HSRP d’une simple commande:

R1#show standby
FastEthernet0/0 - Group 1
 State is Active
 2 state changes, last state change 00:14:40
 Virtual IP address is 192.168.0.254
 Active virtual MAC address is 0000.0c07.ac01
 Local virtual MAC address is 0000.0c07.ac01 (v1 default)
 Hello time 3 sec, hold time 10 sec
 Next hello sent in 1.064 secs
 Preemption enabled
 Active router is local
 Standby router is 192.168.0.2, priority 100 (expires in 8.320 sec)
 Priority 200 (configured 200)
 Group name is "hsrp-Fa0/0-1" (default)
R1#

On y voit que « State is Active » qui signifie que R1 est la passerelle active (et donc R2 est en standby). Le reste des informations sont explicites.

Que se passe-t-il si R1 tombe en panne …

Pour simuler une panne, je mets simplement l’interface Fa0/0 de R1 en shutdown…

R1(config-if)# shutdown
*Mar 1 00:44:02.331: %HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Active -> Init
*Mar 1 00:44:04.343: %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to administratively down
*Mar 1 00:44:05.343: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthern et0/0, changed state to down

Réaction immédiate de R2 …

R2#
*Mar 1 00:44:11.071: %HSRP-5-STATECHANGE: FastEthernet0/0 Grp 1 state Standby -> Active

R2 est bien devenu la passerelle active, vérifions sur C1…

VPCS[1]> ping 1.1.1.1
1.1.1.1 icmp_seq=1 ttl=254 time=32.000 ms
1.1.1.1 icmp_seq=2 ttl=254 time=41.000 ms
1.1.1.1 icmp_seq=3 ttl=254 time=31.000 ms
1.1.1.1 icmp_seq=4 ttl=254 time=31.000 ms
1.1.1.1 icmp_seq=5 ttl=254 time=40.000 ms
VPCS[1]> arp
00:00:0c:07:ac:01 192.168.0.254 expires in 15 seconds

Rien n’a changé de son côté, normal … puisque R1 et R2 utilisent la même adresse IP virtuelle associée à la même adresse MAC pour HSRP. Par contre le paquet ICMP passe bien par R2…

VPCS[1]> trace 1.1.1.1
trace to 1.1.1.1, 8 hops max, press Ctrl+C to stop
 1 192.168.0.2  21.000 ms 11.000 ms 11.000 ms
 2 172.30.0.5   31.000 ms 12.000 ms 12.000 ms
 3 1.1.1.1      32.000 ms 12.000 ms 12.000 ms

Voilà de quoi gérer très simplement la redondance de passerelle par défaut (à condition de disposer de matériel Cisco).

VN:F [1.9.22_1171]
Rating: 9.8/10 (8 votes cast)
HSRP : Hot Standby Router Protocol, 9.8 out of 10 based on 8 ratings
Posted in CCNA - ICND2, CCNP R&S, CCNP Switch, Certifications, Cisco, La pratique, Routing
Tags: , , , , , , , ,
10 commentaires sur “HSRP : Hot Standby Router Protocol
  1. Juan dit :

    super intéressant, merci !

  2. funkychild dit :

    Article très intéressant avec des explications très claires.

  3. Cyril dit :

    Article fluide et didactique comme d’habitude. Bravo!

  4. Frédéric (Strasbourg) dit :

    Super article, comme d’hab ! 😉

    Existe-t-il un autre protocole pour faire du Hot Standby (utilisable sur Cisco), mais qui ne serait pas propriétaire (si possible IEEE) ? Un peu comme on a le 802.1Q à la place de l’ISL pour les VLANs. Merci !

    PS : Il n’y a pas une erreur entre le dessin (172.30.0.1) et le traceroute (172.16.0.1) ?

    • Il y a le protocole VRRP, il est défini dans la RFC5798. Son fonctionnement est très similaire à HSRP. Je tacherai de faire un article à son sujet.
      Pour l’adressage, en effet, il y a une erreur dans la topologie, je vais corriger cela.

  5. mehdi dit :

    j’aime bien ça , très intéressant de trouver comme cette simulation en francais 😀

  6. danifilth89 dit :

    Je rajouterais deux commandes au niveau de cet article : le track et le preempt.
    Le track, qui s’il est down, permet de décrémenter automatiquement le poids HSRP.
    Le preempt qui permet de reprendre la main automatiquement lorsque le track est à nouveau up.

    Sinon article bien fait 🙂

    • Le preempt s’y trouvais déjà 😉 Il n’est juste activé que sur le routeur principal. Vu qu’il n’y en a que 2, le secondaire n’a pas besoin de reprendre sa place le cas échéant. Seul le primaire a besoin de l’option.

      Pour le track, en effet je n’en ai pas parlé ici. Je devrais d’ailleurs refaire une config plus détaillées.
      Le tracking n’est pas forcément lié à une décrémentation de priorité, on peut également l’utiliser comme switch on/off de manière assez brute.
      En fait c’est plus un article sur le tracking qui en ressortirait, je devrais y aperler du sla etc. … Je note l’idée, ce sera pour un article à venir 😉 Merci.

  7. danifilth89 dit :

    Exact, je ne l’avais pas vu 😉
    Voici un exemple de conf que j’utilise au boulot sur le HSRP :

    Routeur maître :

    track 1 ip route 0.0.0.0 0.0.0.0 reachability
    !
    interface GigabitEthernet0/0
    description INTERFACE LAN
    ip address 172.18.1.252 255.255.255.0
    standby 1 ip 172.18.1.254
    standby 1 priority 105
    standby 1 preempt
    standby 1 track 1 decrement 10

    Routeur esclave :

    interface GigabitEthernet0/0
    description INTERFACE LAN
    ip address 172.18.1.253 255.255.255.0
    standby 1 ip 172.18.1.254
    standby 1 preempt

    Par défaut, nous ne jouons pas sur les timers des Hello et Hold.
    Cette configuration fonctionne parfaitement (à modifier évidemment avec les bonnes IP et le track).

    Ensuite, l’actif / passif côté WAN se fait avec du BGP.

    Le SLA est effectivement super pratique pour par exemple récupérer la gigue, le MOS, l’IPCIFn … et tout un tas de paramètre bien utile (que l’on peut ensuite superviser 🙂 )

  8. marc13 dit :

    Bonjour,

    J’ai un question concernant le VRRP. si j’utilise un switch niveau 3 avec du VLAN. Lorsque l’on crée un routeur virtuel. il faut déclarer :
    -Une adresse sur l’interface.
    -Intègre du numéro de VLAN sur l’interface
    -Créer le router virtuel avec un numéro VRID
    -Attribuer une adresse IP au routeur (soit identique à l’interface soit dans le même réseau que l’interface)
    J’obtiens un routeur virtuelle avec une patte sur une interface.

    Est ce que ce routeur virtuel à accès à toutes les autres interfaces du switch ? ou dois ajouter je des ports à ce routeurs virtuel (je ne sais pas si c ‘est possible).

    Si je possède un deuxième routeur sur une autre interface (dans un réseau différent dans un Vlan différent), est ce que les routeurs communiquent eux entre pour le routage ?

    Si ce n’est pas le cas, que dois faire pour pouvoir faire du routage inter-vlan ?

    Merci d’avance

3 Pings/Trackback pour "HSRP : Hot Standby Router Protocol"
  1. […] HSRP : Hot Standby Router Protocol – CiscoMadeSimple.be […]

  2. […] « HSRP : Hot Standby Router Protocol […]

  3. […] similaire aux articles concernant HSRP et VRRP. La seule différence étant la présence de deux hôtes afin de tester […]

Laisser un commentaire

Visit Us On FacebookVisit Us On GooglePlusVisit Us On TwitterVisit Us On LinkedinVisit Us On YoutubeCheck Our Feed

Archives

Connexion à WordPress protégée par Clef
%d blogueurs aiment cette page :