User Tools

Site Tools


informatique:cisco:hsrp

HA cisco

HSRP

HSRP (Hot Standby Router Protocol) est FHRP (First Hop Redundancy Protocol) propriétaire Cisco semblable au VRRP, qui permet de mettre en place une redondance au niveau 3 (High Availability) au niveau des passerelles utilisateurs (gateway).

Cela consiste à créer une adresse IP virtuelle utilisée par les utilisateur comme passerelle, cette IP étant partagée entre plusieurs routeurs. Pour cela on met en place un groupe de plusieurs routeurs, qui dialoguent et élisent entre eux le “master” du groupe (celui de plus haute priorité). Ce dernier passera à l'état “Active” (et les autres en “Standby”) : il répondra aux requêtes envoyées à l'IP virtuelle du groupe HSRP. S'il vient à tomber, le routeur stanby qui a la plus haute priorité passera actif pour prendre sa place et répondre à l'IP virtuelle. Du point de vue des utilisateurs il n'y a donc qu'un seul et même routeur qui ne change jamais d'adresse.

Le HSRP utilise l'adresse multicast 224.0.0.2 (qui correspond à tous les routeurs du lien local) via UDP sur le port 1985.

Le routeur master envoie des paquets Hello à tous les routeurs standby toutes les 3 secondes. Quand ces derniers ne reçoivent plus ces paquets pendant le “hold time” (par défaut 10 secondes d'affilé), ils procèdent à une réélection. Le nouveau routeur principal qui est élu est celui de plus forte priorité (de 1 à 255, par défaut 100), et à priorité égale, de plus haute adresse IP sur son interface.

Le HSRP ne permet que la redondance de la passerelle, mais pas le partage de charge dynamique à la différence de GLBP. On peut en revanche bidouiller afin de partager les utilisateurs sur 2 routeurs (mais de façon statique) :

  • on créer groupe HSRP avec 2 IPs virtuelles, partagées toutes 2 par les routeurs :
    • le premier routeur est master sur la première IP et standby sur la seconde
    • le second routeur est master sur la seconde IP et standby sur la première
  • sur la moitié des postes utilisateurs on définit la passerelle sur le première IP ; sur l'autre moitié on défini la seconde IP.

Les différents états

Les 4 premiers état sont transitoires, les 2 derniers sont stables.

  • Initial
  • Learn
  • Listen
  • Speak
  • Standby
  • Active

Mise en place

On a 2 routeurs : R1 sera le principal (master), R2 (standby) prendra le relais si R1 tombe en panne.

  • preempt permet à un routeur de plus haute priorité de destituer un routeur de plus faible priorité qui serait master (par exemple quand un routeur actif tombe puis repasse up) ; par défaut “preempt” est immédiat mais on peut lui fixer un délais
  • le HSRP ne peut se configurer que sur les interfaces de niveau 3 : SVI (interface vlan) et ports routés (no switchport).

R1 :

R1(config)#interface Vlan435
R1(config-if)#ip address 10.0.0.1 255.255.255.0
R1(config-if)#standby 8 ip 10.0.0.254
R1(config-if)#standby 8 priority 110
R1(config-if)#standby 8 preempt

R2 :

R2(config)#interface Vlan435
R2(config-if)#ip address 10.0.0.2 255.255.255.0
R2(config-if)#standby 8 ip 10.0.0.254
R2(config-if)#standby 8 priority 90
R2(config-if)#standby 8 preempt

Le “8” de standby 8 indique le numéro de groupe de HSRP. Il doit être unique par interface physique.

Configuration avancée

Modification des timers

Le premier est le Hello time (par défaut de 3s) et le second est le Hold time (par défaut de 10s).

RX(config-if)#standby 8 timers 5 15

Authentification

A mettre sur tous les routeurs d'un groupe :

RX(config-if)#standby 8 authentication blabla435

Attention : cette authentification n'est pas une sécurité car le “mot de passe” transite en clair sur le réseau. Tous les utilisateurs présents sur le vlan 435 peuvent lire toutes les informations HSRP qui transiteront entre les routeurs, puisque l'IP destination est une IP multicast (224.0.0.2 = “tous les routeurs”).

Tracking d'interface

Le tracking permet de changer la priorité HSRP d'un routeur en fonction de différents paramètres qui peuvent être :

  • l'état d'une interface
  • l'état de sa table de routage (vérification de la présence d'une route, ou de la métrique de celle-ci)

État d'une interface

Le tracking d'interface permet à un routeur de vérifier l'état d'une de ses interfaces (typiquement son interface WAN) et, si elle est down, de décrémenter sa priorité HRSP (par défaut 10) afin de céder la place à un routeur backup.

  • on peut “traquer” plusieurs interfaces
  • lorsque l'interface redevient up, le routeur retrouve sa priorité HSRP initiale

Dans le cas suivant, le routeur R1 baissera sa priorité HSRP de 50 (110-50 = 60) quand l'interface gi0/1 tombera :

R1(config-if)#standby 8 track gi0/1 50

État de la table de routage

Permet de baisser une priorité HSRP en cas de perte d'une route :

! L’objet tracking est = 1
! Tracking de la route 10.4.101.8 255.255.255.248
! Delay down = temps en secondes avant de déclarer la perte de la route.
! delay up = temps en secondes avant de prendre en compte le retour de la route.

! Sur le routeur maitre (2)
track 1 ip route 10.4.101.8 255.255.255.248 reachability
 delay down 5 up 30
  
! Sur le routeur backup (1) ; les timers doivent être différents du master pour basculer proprement
track 1 ip route 10.4.101.8 255.255.255.248 reachability
 delay down 3 up 40
 
interface VlanX
! Récupération de l’objet tracking 1
! Si l’objet est valide (route inaccessible) alors décrémenter le poids HSRP de 30
 standby Y track 1 decrement 30

État de la métrique d'une route

Action sur modification de métrique d'une route : la métrique jugée normale est 163 ; elle est considérée comme “down” à partir de 164.

track 2 ip route 10.0.0.0 255.255.255.0 metric threshold
 threshold metric up 163 down 164
 delay down 10 up 30

(comme dans l'exemple précédent, il faut utiliser des timers différents sur les routeurs master/backup HSRP et ajouter la directive “standby” sur l'interface idoine)

HSRP sur ip secondaire

On peut mettre en place de l'HSRP sur une IP secondaire avec la commande :

R1(config-if)#standby 8 ip 10.0.1.254 secondary

Sécurité du protocole

Comme vu plus haut, l'authentification passe en clair sur le réseau. Pour (+/-) sécuriser les échanges entre routeurs, on peut :

  • hasher l'authentification en MD5 (c'est la méthode la plus accessible à mon sens) :
standby 8 authentication md5 key-string blabla435
  • utiliser une ACL sur chaque routeur afin de droper tout paquet udp/1985 ne provenant pas d'un routeur reconnu par son IP
  • on peut mettre en place de l'IPSec entre les routeurs afin de chiffrer les échanges HSRP

Vérification

La négociation dure quelques secondes, puis :

R1#show standby brief
                     P indicates configured to preempt.
                     |
Interface   Grp Prio P State    Active addr     Standby addr    Group addr
Vl5         48  110  P **Standby**  10.0.10.4       local           10.0.10.6
[..]

Le routeur backup est marqué Standby, le master est Active.

R2#show standby vlan 5
Vlan5 - Group 48
  Local state is Active, priority 90, may preempt
  Hellotime 5 sec, holdtime 15 sec
  Next hello sent in 1.305
  Virtual IP address is 10.0.10.6 configured
  Active router is local
  Standby router is 10.0.10.5 expires in 11.716
  Virtual mac address is 0000.0c07.ac30
  Authentication text "blabla5"
  1 state changes, last state change 9w0d
  IP redundancy name is "hsrp-Vl5-48" (default)
informatique/cisco/hsrp.txt · Last modified: 2013/10/14 20:44 by 127.0.0.1