Haute disponibilité des PASSERELLES avec le protocole HSRP

Dans les infrastructures LAN, la passerelle par défaut représente souvent un SPOF (Single Point Of Failure), ce qui peut entraîner l’arrêt du fonctionnement de votre entreprise en cas de défaillance. Pour remédier à ce problème, il est nécessaire d’implémenter une deuxième liaison WAN. Cela consiste à avoir une première liaison connectée à un routeur, et une seconde liaison connectée à un autre routeur. Idéalement, ces deux liaisons Internet devraient utiliser des médias différents, comme le cuivre et la fibre optique, et emprunter des chemins distincts pour se connecter au nœud du fournisseur d’accès internet.

Schéma dual WAN Haute disponibilité de passerelle

Dans cette situation, une question se pose : quelle sera l’adresse IP de la passerelle ? Est-ce que notre passerelle sera l’adresse IP du côté LAN du FAI1 ou du FAI2 ? En effet, en cas de défaillance de l’un des deux FAI (ou routeurs), il serait trop laborieux de passer sur chaque machine du parc informatique pour modifier les passerelles, sans parler de la reconfiguration de l’adresse de passerelle dans le serveur DHCP. Ce travail serait beaucoup trop fastidieux.

L’idée générale est d’avoir une adresse IP qui redirige le trafic vers un routeur fonctionnel. Cette adresse IP est appelée adresse IP virtuelle, ou VIP (Virtual IP), et c’est cette adresse qui sera notre passerelle.

IP viirtuelle dans la haute disponibilité des passerelles

Il existe trois protocoles qui permettent de mettre en place ce type de dispositif :

  • HSRP (Hot Standby Router Protocol) – Propriétaire Cisco
  • VRRP (Virtual Router Redundancy Protocol) – Standard
  • GLBP (Gateway Load Balancing Protocol) – Propriétaire Cisco

Les deux premiers protocoles, HSRP et VRRP, fonctionnent de manière similaire. On désigne un routeur passif et un routeur actif. Lorsque le routeur ou la liaison Internet du routeur actif n’est plus disponible, le routeur passif prend le relais et devient le routeur actif.

Le GLBP, quant à lui, fonctionne en mode actif/actif. Cette méthode permet de répartir le trafic de manière équitable sur plusieurs routeurs.

Le protocole HSRP

Lorsque la décision de router un paquet est prise dans un LAN, la trame est envoyée au routeur via son adresse MAC. Pour connaître l’adresse MAC de la passerelle, la machine s’appuie sur le protocole ARP, qui permet d’associer une adresse MAC à une adresse IP. Ainsi, en HSRP, la création d’une IP virtuelle génère également une adresse MAC.

Pour HSRP dans sa première version, l’adresse MAC sera 00:00:0C:07 :XX, les XX étant remplacés par l’identifiant du groupe. En effet, dans un réseau LAN, il peut être nécessaire de configurer plusieurs passerelles, notamment lorsqu’on subdivise le LAN en plusieurs VLAN. Chaque VLAN aura sa propre passerelle. Dans cette version, il peut y avoir jusqu’à 0xFF (0x indiquant une valeur en hexadécimal), soit 255 en décimal, ce qui permet de créer jusqu’à 256 groupes (de 0 à 255).

Dans la version 2 du protocole HSRP, l’adresse MAC utilisée sera 00:00:0C:9F:FX :XX , les XX étant également remplacés par le numéro du groupe. Ici, il est possible d’avoir jusqu’à 0xFFF groupes, soit 4095 en décimal, offrant ainsi la possibilité de créer 4096 groupes.

Une autre différence entre les deux versions réside dans l’adresse multicast. Pour connaître l’état des routeurs composant le groupe, des messages « HELLO » sont envoyés sur leur adresse multicast.

Etat des routeur dans le protocole HSRP

Le routeur actif sera considéré comme défaillant après 3 messages Hello manqués plus 1 seconde sans réponse, soit un total de 10 secondes. Le routeur en mode veille (standby) deviendra alors le routeur actif, et le routeur en mode écoute (listen) passera en mode passive.

Les priorités

Dans le chapitre précédent, nous avons vu que différents statuts sont attribués à nos routeurs :

  • Un routeur aura le statut Actif.
  • Un routeur aura le statut Passif (Standby)
  • Les autres routeurs du groupe auront le statut Écoute (Listen).

Ces statuts sont associés à des priorités. Le routeur avec la priorité la plus élevée sera en statut Actif. Par défaut, lorsque nous activons le protocole HSRP, la priorité est fixée à 100, et elle peut varier de 0 à 255. Par conséquent, par défaut, les priorités sont égales. Le protocole HSRP utilise donc un autre critère pour départager les priorités : l’adresse IP. Le routeur avec l’adresse IP la plus élevée du groupe se verra attribuer le statut Actif.

La configuration du protocole HSRP

Nous avons vu la théorie, regardons maintenant en pratique ce que cela donne. Ce protocole peut être configuré sur un équipement de niveau 3, c’est-à-dire un switch de niveau 3 ou un routeur. Pour ce laboratoire, nous utiliserons un routeur. Cette maquette sera réalisée sur GNS3, mais elle est également réalisable sur Packet Tracer.

IP virtuelle dans le protocole HSRP

Commençons par configurer les routeurs

Configuration d’un nom et d’une IP sur :

FAI1

Router#configure terminal
Router(config)#hostname FAI1
FAI1(config)#interface gig 0/0
FAI1(config-if)#ip address 192.168.1.253 255.255.255.0
FAI1(config-if)#no shutdown

FAI2

Router#configure terminal
Router(config)#hostname FAI2
FAI2(config)#interface gig 0/0
FAI2(config-if)#ip address 192.168.1.252 255.255.255.0 
FAI2(config-if)#no shutdown 

FAI3

Router#configure terminal
Router(config)#hostname FAI3
FAI3(config)#interface gig 0/0 
FAI3(config-if)#ip address 192.168.1.251 255.255.255.0 
FAI3(config-if)#no shutdown 

Après avoir configure le réseau du PC, nous pouvons tester la connectivité entre les PC et les 3 Routeurs.

Dans l’illustration « -c 1 » indique que nous souhaitons envoyer une seule requête ICMP.

Nous allons maintenant configurer le protocole HSRP sur les 3 routeurs.

Configuration HSRP sur FAI1

L’interface HSRP se configure sur des interfaces. Nous devons nous rendre sur l’interface G0/0, puis nous allons créer notre premier groupe HSRP, nous allons également indiquer l’adresse de notre IP virtuelle.

FAI1(config)#interface gig 0/0
FAI1(config-if)#standby 1 ip 192.168.1.254

Nous exécuterons également cette configuration sur FAI2 et sur FAI 3

Configuration HSRP sur FAI2

FAI2(config)#interface gig 0/0
FAI2(config-if)#standby 1 ip 192.168.1.254

Configuration HSRP sur FAI3

FAI3(config)#interface gig 0/0
FAI3(config-if)#standby 1 ip 192.168.1.254

L’IP virtuelle que nous avons configuré est maintenant joignable depuis mon PC.

En affichant la table ARP de mes routeurs, nous pouvons vois que l’adresse MAC de notre adresse IP virtuelle est 00:00:00:07:AC:01


  FAI1#show ip arp

Nous pouvons en déduire que par défaut la version du protocole HSRP est la version 1.Passons là en version 2, cette version prend en charge IPv6. De plus, la version 1 du protocole HSRP rentre en conflit CGMP (Cisco Group Management Protocol) de CISCO du fait qu’il utilise la même adresse de broadcast.

Changegement de la version sur FAI1

FAI1(config)#interface gig 0/0
FAI1(config-if)#standby version 2

Modification de la version sur FAI2

FAI2(config)#interface gig 0/0
FAI2(config-if)#standby  version 2

Modification de la version sur FAI3

FAI3(config)#interface gig 0/0
FAI3(config-if)#standby version 2

En consultant une nouvelle fois notre table ARP, nous pouvons voir que l’adresse MAC de notre adresse IP virtuelle a bien été modifié.


  FAI1#show ip arp

Il existe une façon plus simple de voir la version est plus généralement la configuration du protocole HSRP, il nous suffit d’exécuter la commande suivante :


  FAI1#show standby

Dans cette capture d’écran, nous avons un peu plus d’information, nous avons en effet la version.

Nous pouvons également voir qu’elle est le routeur Active et qu’elle est le routeur mise en standby et aussi la priorité. Ici la priorité n’a pas été modifié c’est donc la valeur par défaut.

Le routeur FAI est le retour active, non pas parce que sa priorité est la plus élevé, mais parce que son adresse IP est la plus élevé.

Modifions l’adresse IP pour avoir une adresse mois élevé que les deux autres par exemple l’adresse 192.168.1.250/24.Nous éteindrons puis rallumons l’interface pour que le protocole HSRP prenne en compte cette nouvelle adresse.

FAI1#configure terminal
FAI1(config)#interface gig 0/0
FAI1(config-if)#ip address 192.168.1.250 255.255.255.0
FAI1(config-if)#shutdown
FAI1(config-if)#no shustdown

Consultons maintenant la configuration du protocole HSRP.

Si nous souhaitons que FAI1 reste le routeur Active, nous pouvons modifier la priorité, par exemple, une priorité de 150.

FAI1#configure terminal
FAI1(config)#interface gig 0/0
FAI1(config-if)#standby 1 priority 150

Regardons maintenant si notre routeur FAI1 est bien notre routeur Active.

On peut voir à travers cette capture d’écran que cela n’a pas marché. Ce n’est pas une erreur de notre part, cela est dû au fait que pour qu’il y ait un changement de statut, il faudrait que FAI2, ne réponds plus pendant 10 secondes aux messages Hello. Ici notre routeur FAI2 est fonctionnel, et il n’a pas de raison de changer d’état.

Si nous voulons que cela soit toujours le routeur qui a la priorité la plus élevé qui soit notre routeur active, il faut l’indiquer en activant l’option préemption. Cette configuration sera à faire sur tous les routeurs

FAI1(config)#interface gig 0/0
FAI1(config-if)#standby 1 preempt
FAI2(config)#interface gig 0/0
FAI2(config-if)#standby 1 preempt
FAI3(config)#interface gig 0/0
FAI3(config-if)#standby 1 preempt

Nous allons aussi tester que la haute disponibilité de nos passerelles fonctionne correctement. Lançons des requêtes ICMP en continue depuis notre PC sur l’adresse de l’IP virtuelle.


  PC1> ping 192.168.1.254 -t

Eteignons l’interface gig 0/0 du routeur FAI1.

Nous avons bien une continuité de service même si nous avons perdu une requête, ce qui est acceptable.

Nous pouvons voir dans la configuration du protocole HSRP, que FAI2 a pris le relais de FAI1 en passant en actif et que FAI2 à laisser sa place de standby à FAI3.