From d17a4148b5c2f4a2bfcb2e7cb3ec4f3fe4ff7497 Mon Sep 17 00:00:00 2001 From: Jeremy Lecour Date: Thu, 25 Jan 2024 09:52:39 +0100 Subject: [PATCH] =?UTF-8?q?VRRP:=20pr=C3=A9cisions=20pour=20le=20firewalli?= =?UTF-8?q?ng=20+=20vocabulaire?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HowtoVRRP.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/HowtoVRRP.md b/HowtoVRRP.md index 2e63e4db..dd65d316 100644 --- a/HowtoVRRP.md +++ b/HowtoVRRP.md @@ -59,7 +59,7 @@ net.ipv4.ip_nonlocal_bind=1 Si l'on utilise [minifirewall](https://gitea.evolix.org/evolix/minifirewall) comme pare-feu, il y a des actions à réaliser en fonction de la version de minifirewall. -Vérifier votre version de inifirewall avec la commande suivante : `/etc/init.d/minifirewall version`. +Vérifier votre version de minifirewall avec la commande suivante : `/etc/init.d/minifirewall version`. #### Version 22.03 ou ultérieure @@ -68,9 +68,13 @@ Il faut simplement avoir `SYSCTL_RP_FILTER='0'` dans `/etc/default/minifirewall` Ajouter une autorisation dans `/etc/minifirewall.d/vrrpd` : ~~~ -iptables -A INPUT -s -d 224.0.0.18 -j ACCEPT +iptables -A INPUT -i -s -d 224.0.0.0/8 -j ACCEPT +iptables -A OUTPUT -o -p 112 -j ACCEPT ~~~ +Il est possible de ne pas restreindre à l'interface ou à l'IP du(des) pair(s), mais on acceptera alors des paquets d'origines moins ciblées. +Si des paquets CARP sont reçus par un processus vrrpd, on aura des messages d'erreurs `vrrp invalid checksum` dans les logs pou chaque paquet. + #### Version inconnue ou antérieure * Il faut ajouter la commande suivante dans sa configuration `/etc/default/minifirewall`, pour s'assurer que les paramètres soient gardés après redémarrage de minifirewall : @@ -94,11 +98,7 @@ done **Attention** : ne pas simplement commenter le bloc ou modifier le "echo 1" de l'activation en "echo 0", mais bien commenter le premier bloc et ajouter le second bloc pour bien expliciter le changement de configuration. -* Au niveau du pare-feu, il faut ajouter la règle suivante : - -~~~ -# iptables -A INPUT -s -d 224.0.0.18 -j ACCEPT -~~~ +* Au niveau du pare-feu, il faut ajouter les mêmes règles (entrée et sortie) que pour la version 22.03 ou ultérieure de minifirewall. ### Exécution @@ -115,13 +115,13 @@ Détails des options utilisées : * `-i eno0` : se binder sur l'interface _eno0_ * `-x` : ne pas manipuler d'interface mais déléguer au script `vrrp_switch` * `-D` : lancer en mode démon -* `-d 10` : intervalle d'avertissement en seconde (défaut : 1) +* `-d 10` : intervalle d'annonce en seconde (défaut : 1) * `-v 42` : identifiant VRID (il doit être unique sur un même segment réseau) * `-p 100` : priorité entre 1 et 255 (défaut : 100) ; le plus élevé est master * `-l foo` : nom de l'instance * `-a pw/OxPASSWORD` : mot de passe en hexadécimal -Au bout de quelques dizaines de secondes, vrrpd va passer dans l'état _master_ et créer l'interface `vrrp_${vrid}_${interface}` avec l'adresse IP et l'adresse MAC `00:00:5e:00:01:${vrid}`: +Au bout de 3 fois l'intervalle d'annonce, vrrpd va passer dans l'état _master_ et créer l'interface `vrrp_${vrid}_${interface}` avec l'adresse IP voulue. L'adresse MAC sera de la forme `00:00:5E:00:01:` où `` est le `VRID` encodé en hexadécimal. ~~~ $ ifconfig vrrp_42_eno0 @@ -145,7 +145,7 @@ Sur une autre machine, après avoir également ajusté les paramètres _sysctl_, # vrrpd -i eth0 -x -D -d 10 -v 42 -p 90 -a pw/0xPASSWORD -l foo 192.0.2.10/27 ~~~ -Cette machine va rester en état _slave_ tant qu'elle capte des messages d'avertissement de la machine _master_ : +Cette machine va rester en état _slave_ tant qu'elle capte des messages d'annonce de la machine _master_ : ~~~ Apr 23 18:26:28 lb02 vrrpd->lan[57143]: Starting (adver_int: 10000000, vrid: 42, use virtual mac: yes)