Table of Contents

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

Les différents états

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

Mise en place

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

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 :

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

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 :

standby 8 authentication md5 key-string blabla435

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)