R07 - Redondance des passerelles : HSRP, VRRP, CARP, Keepalived
Objectif
Éviter qu’un routeur en panne coupe tout un réseau. Principe : deux routeurs partagent une IP virtuelle qui sert de passerelle aux PC. Si l’un tombe, l’autre la reprend en quelques secondes.
1. Le problème du SPOF
Un SPOF (Single Point Of Failure) = un élément unique dont la panne arrête tout. La passerelle par défaut d’un réseau en est un.
flowchart TB subgraph Avant["Sans redondance"] PC1[PCs<br/>passerelle .254] --> R0((Routeur unique<br/>.254)) --> I1[Internet] end subgraph Apres["Avec IP virtuelle"] PC2["PCs<br/>passerelle = IP VIRTUELLE .254"] --> VIP{{"IP virtuelle 192.168.10.254"}} VIP --> RA["R1 ACTIF<br/>.252 — priorité 110"] VIP -.->|si R1 tombe| RB["R2 STANDBY<br/>.253 — priorité 100"] RA --> I2[Internet] RB -.-> I2 end
| Protocole | Éditeur | Utilisé sur | Termes |
|---|---|---|---|
| HSRP | Cisco (propriétaire) | Routeurs/switchs Cisco | Active / Standby |
| VRRP | Standard (RFC 5798) | Tous constructeurs, Linux (Keepalived) | Master / Backup |
| GLBP | Cisco | Cisco | Répartit en plus la charge |
| CARP | Libre (OpenBSD) | pfSense, OPNsense, FreeBSD | Master / Backup |
2. HSRP sur Cisco
Fonctionnement
- Les routeurs d’un même groupe HSRP s’échangent des messages hello (toutes les 3 s, délai de mort 10 s).
- Le routeur à la plus haute priorité (défaut 100) est Active et répond à l’IP et à la MAC virtuelles.
- Avec preempt, un routeur de meilleure priorité qui revient reprend son rôle.
Configuration (un VLAN, deux routeurs)
! ===== R1 (actif) =====
interface g0/0.10
encapsulation dot1Q 10
ip address 192.168.10.252 255.255.255.0
standby version 2
! IP virtuelle = passerelle des PC
standby 10 ip 192.168.10.254
! plus haut = actif
standby 10 priority 110
! reprend la main en revenant
standby 10 preempt
exit
! ===== R2 (secours) =====
interface g0/0.10
encapsulation dot1Q 10
ip address 192.168.10.253 255.255.255.0
standby version 2
standby 10 ip 192.168.10.254
standby 10 priority 100
standby 10 preempt
exitBonne pratique : numéro de groupe HSRP = numéro de VLAN (ici 10). Beaucoup plus lisible.
Option : faire baisser la priorité si le lien vers Internet tombe (tracking) :
track 1 interface g0/1 line-protocol
interface g0/0.10
! 110 − 20 = 90 < 100 → R2 devient actif
standby 10 track 1 decrement 20Vérifier
! qui est Active / Standby, IP virtuelle
show standby brief
show standbyDHCP + HSRP : la passerelle donnée aux clients DHCP (
default-router) est l'IP virtuelle, jamais l'IP réelle d'un routeur.
3. CARP sur pfSense (aperçu)
CARP fait la même chose pour deux pare-feux pfSense :
- Firewall → Virtual IPs → ajouter une IP de type CARP sur chaque interface (WAN, LAN…), même VHID et mot de passe sur les deux pfSense, skew 0 sur le maître, 100 sur l’esclave.
- pfsync : synchronise la table d’états (les connexions survivent à la bascule) via une interface dédiée.
- XMLRPC Sync : recopie la configuration (règles, alias, NAT…) du maître vers l’esclave.
Détails : S02 - pfSense.
4. Keepalived sous Linux (VRRP)
Pour rendre redondant un service Linux (ex. deux reverse-proxys HAProxy, deux routeurs Linux).
sudo apt install keepalived # Debian/Ubuntu
sudo pacman -S keepalived # ArchFichier /etc/keepalived/keepalived.conf sur le serveur maître :
# state : BACKUP sur le second serveur
# interface : carte réseau concernée (voir "ip a")
# virtual_router_id : identique sur les deux serveurs
# priority : ex. 100 sur le BACKUP
# advert_int : annonce toutes les secondes
# auth_pass : identique sur les deux (8 caractères max)
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass Secr3t!
}
virtual_ipaddress {
192.168.10.254/24
}
}sudo systemctl enable --now keepalived
ip a show eth0 # l'IP virtuelle apparaît sur le MASTER uniquement
journalctl -u keepalived -f # suivre les bascules en directTest de bascule : sudo systemctl stop keepalived sur le maître → l’IP virtuelle apparaît sur le backup en ~3 s. Un ping -t lancé depuis un client ne perd que 1 à 3 réponses.
5. Récapitulatif
| Besoin | Outil |
|---|---|
| Passerelle redondante, matériel Cisco | HSRP (ou VRRP) |
| Pare-feu pfSense redondant | CARP + pfsync |
| Serveurs Linux redondants | Keepalived (VRRP) |
| Liens entre switchs redondants | STP / EtherChannel → R06 - Spanning Tree (STP) |