Fail-Over PfSense via CARP et pfsync

Anthony

Administrateur
Membre du personnel

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:


Diagramme sans nom.drawio (8).png


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
PFSense 2 :

  • 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

1738678592430.png


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 :
  1. Aller dans Firewall > Rules
  2. Sélectionner l’interface utilisée pour PFSync (OPT1)
  3. Ajouter une règle permettant tout le trafic sur cette interface
  4. Appliquer les changements

Voici les règles :
1738678780087.png


Pour le deuxième pare-feu, seule la règle autorisant la synchronisation de configuration est nécessaire.
1738678804042.png

Activer PFSync

  1. Aller dans System > High Availability Sync
  2. 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
  3. Appliquer les changements
Répéter l’opération sur le deuxième pare-feu en indiquant l’adresse correspondante.

PFSense1 :
1738678882876.png


PFSense2 :
1738678922467.png


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

  1. Aller dans System > High Availability Sync
  2. 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
  3. Cochez toutes les options de synchronisation
  4. Appliquer les changements

Remplissez les champs de la sorte :
1738678966864.png


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 :

  1. Aller dans Firewall > Virtual IPs
  2. 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
  3. Appliquer les changements

Nous allons créer une adresse IP virtuelle de type CARP.
Dans System > Firewall > Virtual IPs, réalisez cette configuration :

1738679092061.png


Vérification sur PFSense Secondaire

  1. Aller dans Firewall > Virtual IPs
  2. 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.
    1738680416567.png
  • Le pare-feu secondaire (PFSense 2) est en BACKUP, prêt à prendre le relais.
    1738680431317.png
Pour vérifier l’état :
  1. Aller dans Status > CARP (failover) sur chaque PFSense
  2. Vérifier que le statut est bien MASTER sur le premier et BACKUP sur le second
  3. 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

  1. Aller dans Firewall > NAT > Outbound
  2. Sélectionner Automatic outbound NAT rule generation (mode par défaut)
  3. Appliquer les changements
Ce mode permet à PFSense de créer automatiquement des règles NAT en fonction des interfaces disponibles et de la table de routage.

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 :

  1. Aller dans Firewall > NAT > Port Forward
  2. Cliquer sur Add pour créer une nouvelle règle
  3. 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)
  4. Sauvegarder et appliquer les changements
Cette configuration assure que toute requête arrivant sur l’IP publique de CARP pour HTTP est redirigée vers le serveur Web interne.

1738680727431.png


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

  1. Accéder aux paramètres de la machine virtuelle dans votre hyperviseur.
  2. Aller dans Carte réseau > Fonctionnalités avancées.
  3. Cocher l’option “Activer l’usurpation d’adresse MAC”.
  4. 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.
4.jpg



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 :
1738681490140.png

  • 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 :
1738681805364.png

  • 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 )
1738681646568.png
 
Dernière édition:
Haut