HA cisco
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 4 premiers état sont transitoires, les 2 derniers sont stables.
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élaisR1 :
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.
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
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”).
Le tracking permet de changer la priorité HSRP d'un routeur en fonction de différents paramètres qui peuvent être :
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
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
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)
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
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
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)