Aujourd’hui, la disponibilité d’une connexion à Internet dans un milieu professionnel est devenue un enjeu critique.
Dans certaines entreprises, un perte de connexion de quelques minutes peut engendrer des pertes financières considérables.
Nous allons voir comment configurer pfSense pour assurer une redondance des routeurs à l’aide du protocole CARP.

CARP ?

Le protocole CARP (Common Address Redundancy Protocol) permet à plusieurs équipements réseaux de partager une même adresse IP. C’est une alternative libre au protocole HSRP par exemple.
Les machines partageant cette IP font parties du groupe de redondance. On y trouve un équipement « maitre » et les autres « esclaves ». Ces derniers sont destinés à prendre le relai en cas de défaillance du premier équipement.
Dans notre cas, nous allons utiliser CARP pour créer un routeur / pare-feu redondant. Nos clients prendront l’IP virtuelle comme passerelle par défaut. Ainsi, en cas de panne de notre routeur principal, le second répondra aux requêtes de nos clients en toute transparence et sans coupures.

Préparation des routeurs

Nous allons commencer par préparer les deux routeurs pfSense.
Chaque routeur doit posséder trois cartes réseaux au minimum :
– WAN
– LAN
– CARP
Après installation, chaque pfSense a donc une interface WAN avec une IP, et une interface LAN avec une IP.
Ici, je choisirai 10.0.50.2 pour le routeur maître et 10.0.50.3 pour le routeur esclave.

Schéma final

Il reste donc une interface disponible qui sera destinée à la réplication.
Pour la configurer, nous allons dans Interface / Assign.
On y active cette interface et on lui attribue une IP fixe. Cette opération est à effectuer sur les deux pfSense en choisissant bien sur deux IP différentes mais, dans le même sous réseau.
Ici, je choisirai 172.16.0.1 pour le routeur maître et 172.16.0.2 pour le routeur esclave. Il n’y a que deux adresses donc le masque sera en /30.
Le nom de mon interface sera CARP.

Configuration de l'interface CARP

Configuration de l’interface CARP

Configuration de CARP

Sur le routeur maître, nous allons ajouter une règle de firewall autorisant le traffic sur l’interface CARP.
Dans Firewall / Rules / CARP, on ajoute la règle suivante :

Règle Firewall

Ensuite nous allons activer la réplication entre les deux routeurs.
On se rend donc dans System / High Availability Sync.
Sur le maitre on configure la partie pfsync en choisissant l’interface CARP, et l’IP de l’esclave. Puis dans la partie XMLRPC, on saisit l’IP et le login de l’esclave ainsi que la configuration à répliquer. Il est conseillé de cocher toutes les cases.

Configuration de la réplication sur le maître

Pour finir, sur l’esclave, on ne configure que la partie pfsync en indiquant l’IP du routeur maître.
On ne touche rien à la partie XMLRPC.

Configuration de la réplication sur l’esclave

Désormais, toute configuration effectuée sur le routeur principal est répliqué instantanément sur le routeur esclave, prêt à le remplacer.
Pour terminer, il reste à définir une IP virtuelle qui servira de passerelle par défaut aux clients du LAN.

Dans Firewall / Virtual IPs on déclare cette nouvelle IP sur l’interface LAN.
Il est également possible de déclarer une IP pour le WAN ou une éventuelle DMZ. Il faudra simplement changer le VHID Group qui est à 1 par défaut.

IP virtuelle

Enfin, il faut modifier notre serveur DHCP du LAN pour déclarer cette IP en tant que passerelle par défaut.
La configuration se fait dans Services / DHCP Server / LAN.

Passerelle par défaut

Tests

Désormais il ne nous reste plus qu’à valider notre configuration.
Nous allons commencer par vérifier l’état de la synchronisation entre nos deux routeurs dans Status / CARP.

Statut maître

Statut esclave

En prenant un client du LAN, nous allons pinger la gateway (ou une IP externe) et éteindre le routeur principal.
On constate le moment de la bascule avec deux paquets dupliqués (les deux routeurs répondent à ce moment là) ou une perte d’un paquet. Il n’y a pas eu d’interruption de service, et le second routeur est passé avec le statut MASTER.
Les services rebasculeront sur le routeur principal lorsqu’il sera de nouveau opérationnel.

Ping vers l’IP virtuelle (Gateway) et google.fr

Nous avons donc deux routeurs pfSense redondants, permettant une haute disponibilité du service. En ajoutant une IP virtuelle sur le WAN, nous pouvons également garantir une haute disponibilité des accès aux services hébergés.
N’hésitez pas à poser vos questions dans les commentaires.