Adresse IP virtuelle présente sur les deux nœuds (split-brain keepalived)
```text Keepalived_vrrp: (VI_1) Entering MASTER STATE ← sur les deux nœuds kernel: IPv4: 10.0.1.100 from 00:16:3e:aa:bb:02, on dev eth0 — duplicate address ```
Détecter
Connexions intermittentes vers le service : une requête sur deux échoue ou tombe sur un nœud différent ; conflits ARP signalés par les switchs.
Symptômes
Connexions intermittentes vers le service : une requête sur deux échoue ou tombe sur un nœud différent ; conflits ARP signalés par les switchs.
Environnement
Deux répartiteurs HAProxy en actif/passif avec keepalived (VRRP), VIP 10.0.1.100, pare-feu local récemment durci.
Cause racine
Les annonces VRRP (protocole IP 112, multicast 224.0.0.18) sont bloquées par le nouveau pare-feu : chaque nœud ne voit plus son pair, se croit seul et prend la VIP.
Diagnostic
ip -br addr | grep 10.0.1.100sur les deux nœuds.tcpdump -ni eth0 vrrp: les annonces du pair arrivent-elles ?- Vérifier le filtrage :
nft list ruleset | grep -i vrrp.
Solution
Autoriser VRRP entre les deux nœuds (ou utiliser l'unicast VRRP avec unicast_peer), redémarrer keepalived sur le nœud de secours, vérifier qu'une seule VIP subsiste.
Commandes
nft add rule inet filtre input ip saddr 10.0.1.12 ip protocol vrrp accept
systemctl restart keepalived
tcpdump -ni eth0 vrrp -c 5
Prévention
Flux VRRP inscrits dans la matrice de flux, alerte si la VIP est présente sur plus d'un nœud, script de contrôle de santé (track_script), tests de bascule après chaque changement réseau.