Fail-Over PfSense via CARP et pfsync
Dans cette procédure, nous allons mettre en place une infrastructure réseau redondante en configurant deux pare-feu PFSense afin d’assurer une continuité de service en cas de défaillance.Objectif
L’objectif est de redonder nos deux pare-feu en les synchronisant via PFSync et en appliquant le protocole CARP (Common Address Redundancy Protocol) pour garantir une bascule automatique en cas de panne.
Shamas de l'infrastructure:
Configuration réseau des pare-feu
Après avoir déployé les deux VM PFSense, voici comment configurer les 8 cartes réseaux :
Configuration des Interfaces
Une fois les deux machines virtuelles PFSense déployées, nous allons configurer les interfaces comme suit :PFSense 1 :
- WAN : hn0 -> DHCP 172.26.0.10/23
- LAN : hn1 -> 192.168.1.1/24
- PFSYNC (opt1) : hn2 -> 192.168.20.1/24
- DMZ (opt2) : hn3 -> 192.168.3.1/24
- WAN : hn0 -> DHCP 172.26.0.138/23
- LAN : hn1 -> 192.168.1.2/24
- PFSYNC (opt1) : hn2 -> 192.168.20.2/24
- DMZ (opt2) : hn3 -> 192.168.3.2/24
WAN : adresse en DHCP pour les deux PFSense (nous allons changer plus tard)
LAN : réseau interne que nous allons redonder avec CARP
Pfsync : interface que nous allons utiliser plus tard pour le protocol PFSync
DMZ : interface que nous allons utiliser pour le serveur web accessible depuis le WAN
Configuration de la Synchronisation PFSync
Nous allons activer la synchronisation des états et des configurations entre les deux pare-feu.1. Configuration des Règles de Pare-feu
Afin de permettre la communication entre les deux pare-feu, nous allons ajouter une règle globale autorisant le trafic sur l’interface utilisée pour PFSync.Étapes :
- Aller dans Firewall > Rules
- Sélectionner l’interface utilisée pour PFSync (OPT1)
- Ajouter une règle permettant tout le trafic sur cette interface
- Appliquer les changements
Voici les règles :
Pour le deuxième pare-feu, seule la règle autorisant la synchronisation de configuration est nécessaire.
Activer PFSync
- Aller dans System > High Availability Sync
- Dans la section State Synchronization Settings (pfsync), remplir les champs :
- Synchronize Interface : Sélectionner l’interface utilisée pour PFSync (OPT1)
- Peer IP : Renseigner l’adresse IP de l’interface PFSync de l’autre pare-feu
- Appliquer les changements
PFSense1 :
PFSense2 :
Configuration de la Synchronisation d’État (XMLRPC)
Cette fonctionnalité permet de répliquer les règles et paramètres de configuration du pare-feu principal vers le secondaire.1. Activation sur PFSense Principal
- Aller dans System > High Availability Sync
- Dans la section Configuration Synchronization Settings (XMLRPC Sync), remplir :
- Synchronize Config to IP : Adresse IP du second pare-feu
- Remote System Username : admin
- Remote System Password : Mot de passe de l’interface Web PFSense secondaire
- Cochez toutes les options de synchronisation
- Appliquer les changements
Remplissez les champs de la sorte :
Pour vérifier que la synchronisation est OK, rendez-vous dans les règles de PFSense2.
Normalement, les règles de PFSense1 ont été transférées.
Configuration de CARP
CARP permet d’attribuer une IP virtuelle partagée entre les deux pare-feu. Si le pare-feu principal tombe, le secondaire prendra automatiquement le relais.1. Création de l’IP Virtuelle
À effectuer uniquement sur PFSense Principal :- Aller dans Firewall > Virtual IPs
- Ajouter une nouvelle IP virtuelle avec les paramètres suivants :
- Type : CARP
- Interface : LAN
- IP Address : Adresse IP virtuelle à utiliser sur le LAN
- Virtual IP Password : Définir un mot de passe sécurisé
- VHID Group : Définir un ID unique (ex. : 1)
- Advertising Frequency : Laisser par défaut
- Appliquer les changements
Nous allons créer une adresse IP virtuelle de type CARP.
Dans System > Firewall > Virtual IPs, réalisez cette configuration :
Vérification sur PFSense Secondaire
- Aller dans Firewall > Virtual IPs
- Vérifier que l’adresse virtuelle a bien été répliquée
Gestion des États CARP : MASTER / BACKUP
Dans une configuration CARP, l’un des pare-feu est en MASTER et l’autre en BACKUP.- Le pare-feu principal (PFSense 1) est en MASTER pour l’IP virtuelle.
- Le pare-feu secondaire (PFSense 2) est en BACKUP, prêt à prendre le relais.
- Aller dans Status > CARP (failover) sur chaque PFSense
- Vérifier que le statut est bien MASTER sur le premier et BACKUP sur le second
- Tester la bascule en arrêtant PFSense 1 et vérifier que PFSense 2 devient MASTER
Configuration du NAT en Mode Automatique
Le mode automatique de NAT est la configuration par défaut de PFSense et permet de gérer automatiquement les règles NAT sortantes sans intervention manuelle.1. Activer le NAT Automatique
- Aller dans Firewall > NAT > Outbound
- Sélectionner Automatic outbound NAT rule generation (mode par défaut)
- Appliquer les changements
2. Configuration d’une Redirection de Port
La redirection de port permet d’exposer un service interne (ex: serveur web) à l’extérieur via l’IP publique.Exemple de redirection HTTP vers un serveur Web en DMZ :
- Aller dans Firewall > NAT > Port Forward
- Cliquer sur Add pour créer une nouvelle règle
- Configurer les paramètres suivants :
- Interface : WAN
- Address Family : IPv4
- Protocol : TCP/UDP
- Destination : 172.26.1.24 (Adresse IP virtuelle CARP du WAN)
- Destination Port Range : HTTP (80)
- Redirect Target IP : 192.168.3.4 (Serveur Web dans la DMZ)
- Redirect Target Port : HTTP (80)
- Sauvegarder et appliquer les changements
Utilisation de l’usurpation d’adresse MAC dans PFSense
Dans un environnement virtualisé, l’usurpation d’adresse MAC est une fonctionnalité essentielle pour permettre le bon fonctionnement de CARP.Pourquoi activer l’usurpation d’adresse MAC ?
L’activation de cette option permet aux machines virtuelles d’utiliser une adresse MAC différente de celle attribuée par l’hyperviseur. Dans le cas de CARP, cela est indispensable car l’adresse IP virtuelle doit pouvoir être partagée dynamiquement entre les deux pare-feu sans conflit d’adresse MAC.Configuration de l’usurpation d’adresse MAC
- Accéder aux paramètres de la machine virtuelle dans votre hyperviseur.
- Aller dans Carte réseau > Fonctionnalités avancées.
- Cocher l’option “Activer l’usurpation d’adresse MAC”.
- Valider et redémarrer la machine virtuelle.
Impact sur le fonctionnement de CARP
Lorsque cette option est activée, le pare-feu secondaire pourra prendre le relais en utilisant la même adresse IP et MAC que le primaire en cas de panne. Cela garantit une transition fluide entre les deux pare-feu sans que les clients du réseau ne subissent d’interruption de connexion.Tests de bascule et de connectivité
Test de continuité de connexion avec traceroute
Nous allons effectuer un traceroute pour vérifier que la connectivité fonctionne via CARP en cas de bascule.1. Traceroute avec PFSense 1 en ligne (MASTER)
Sur une machine cliente, exécutez la commande suivante :traceroute 8.8.8.8
Résultat attendu :
- Le trafic passe par l’IP CARP et atteint Internet via PFSense 1 (MASTER).
2. Traceroute après désactivation de PFSense 1 (Failover vers PFSense 2)
Simulez une panne de PFSense 1 en l’arrêtant ou en désactivant son interface WAN/LAN. Puis, exécutez à nouveau :traceroute 8.8.8.8
Résultat attendu :
- Le trafic passe désormais par PFSense 2 (BACKUP devenu MASTER), prouvant la redondance.
Test de la connectivité du serveur web
Depuis un poste client, testez l’accès au serveur Web vie le WAN GRETA ( 172.26.0.25 )
Dernière édition: