Cluster de Pfsense (VIP CARP)

2 pare-feux pfsense en "cluster"

Qu'est-ce que cela veut dire ?
C'est simple : Quand l'un tombe en panne (le master), le second (le backup) prend le relai, et continue à la fois de router les paquets, et d'assurer la sécurité du réseau, sans qu'il n'y ait besoin d'intervention humaine.
Un seul des 2 pares-feux joue le rôle de master en permanence. Il n'y a qu'un pare-feu qui travaille (sur les 2).
Mais dès lors qu'il tombe en panne, le second prend le relai immédiatement.

Cela suppose que ces 2 pfsense (appelons-les PFSENSE01 et PFSENSE02) doivent répondre sur une adresse IP commune (une "VIP", pas une Very Important IP, mais pas loin .. une Virtual IP), que ce soit côté WAN ou côté LAN.

La mise en cluster des PF est extrêmement simple, mais de grâce, lisez ATTENTIVEMENT ce que j'écris !
ça vous évitera un paquet d'em*****...
Le schéma doit être parfaitement maîtrisé.

Un petit schéma pour voir ce qu'on va faire :

Capture d'écran

Internet arrive par le côté WAN (qui ici, passe d'abord par un réseau non routable, pour les besoins du TP).
Les 2 pares-feux PFSENSE01 et PFSENSE02 vont donc permettre d'isoler le réseau LAN comme on isolerait le réseau LAN de l'entreprise (de façon simpliste ! c'est un TP !!)


Configuration requise

Pour les besoins de la mise en cluster :
1) chaque pare-feu doit avoir, a minima, 3 cartes réseaux :

Cette dernière est très importante pour augmenter la sécurité et la rapidité des échanges entre les 2 pares-feux.
On pourrait parfaitement s'en passer, mais ce n'est pas recommandé.

(A savoir, vous pouvez (dans le cadre du TP) utiliser un DHCP pour vos interfaces des PF côté WAN, mais vous devrez en revanche impérativement pouvoir disposer d'une IP statique pour les VIP côté WAN et LAN !
Les VIP ne s'adressent pas via DHCP, c'est du statique.)

Sur l'hyperviseur, nous parlerons de commutateurs virtuels.
Il faut donc 3 commutateurs virtuels, auxquels seront attachées les interfaces de nos pares-feux.

2) L'usurpation d'adresse MAC (MAC spoofing) DOIT IMPERATIVEMENT ETRE PERMISE SUR LES INTERFACES WAN ET LAN DE CHACUN DES PARES-FEUX.
Si vous n'activez pas cette fonctionnalité sur votre hyperviseur, la mise en cluster ne fonctionnera tout simplement pas !
Si vous êtes sur Hyper-V, voici où ça se situe :

Capture d'écran

(Je répète que cette opération doit être réalisée sur les interfaces WAN et LAN de chacun des pares-feux !)

Sur VMWare Workstation, cette opération n'est pas nécessaire.


Étape 1 : Création des VM et configuration initiale

Commençons !

1) Créez vos VM, configurez leurs interfaces et adressages IP tel que le précise le schéma.
N'oubliez pas de configurer votre CLIENT, car c'est grâce à lui que nous accéderons aux consoles Web des PF.
Dans un premier temps, mettez lui l'IP de PFSENSE01 comme passerelle. Nous changerons cela à la fin du tuto.

2) Configurez les interfaces des PF en CLI :
- Pour rappel, on commence d'abord par assigner les interfaces (1), puis on paramètre les configurations IP (2) pour chaque interface. (A titre perso, je préfère le faire ainsi, ça va beaucoup plus vite que via la console web)

Voici ce que vous devez obtenir :

Capture d'écran


Étape 3 : Connexion aux consoles Web

3) Depuis votre CLIENT, connectez vous à la console des 2 PFSENSE, côte à côte (prenez cette habitude !) !
(passez les avertissements de sécurité SSL usuels)

Entrez les identifiants par défaut de pfsense : admin/pfsense

Capture d'écran

- Faîtes la configuration du wizard de base sur les 2 PF :

Capture d'écran

Capture d'écran

Capture d'écran

(Libre à vous de mettre autre chose que CloudFlare (1.1.1.1) mais pensez à bien entrer un hostname différent sur chaque PF)

Capture d'écran

Capture d'écran

(Notre WAN dans ce TP est un réseau non routable (192.168.1.0/24), donc il faut décocher la RFC1918)

Capture d'écran

Capture d'écran

(je ne change pas le mot de passe admin pour ce TP... bien entendu, vous le ferez en vrai !)

Capture d'écran

Capture d'écran

- Nous voici sur le Dashboard. On va pouvoir commencer la configuration.

Capture d'écran


Étape 4 : Configurer les VIP

Capture d'écran

Capture d'écran

- Nous allons créer la VIP côté WAN. Cette VIP aura l'IP 192.168.1.246.
Bien entendu, cette IP doit être libre (et ne pas figurer sur une étendue DHCP... par exemple).

Pour créer une VIP commune aux 2 PF, PFsense va créer un groupe VHID.
Ce VHID doit évidement être le même sur les 2 PF pour la même VIP.

Il faut créer un mot de passe pour ce groupe VHID 1, et mettre le même sur les 2 PF !
(d'où l'intérêt de la configuration des 2 côtés en même temps !).
Prenez soin de ne pas mettre de caractères spéciaux ou d'espaces dans les mots de passe.. ça pose régulièrement des problèmes sur pfsense.

A noter : le skew !! C'est lui qui détermine qui jouera le rôle du master, et qui jouera le rôle du backup !
Le master doit avoir le skew le plus bas (0). Ici, nous alternerons simplement entre 0 et 1.
PFSENSE01 (à gauche) sera donc le master !
PFSENSE02 (à droite) sera donc le backup

Capture d'écran

(Inutile d'appliquer les changements tout de suite, créez tout de suite votre seconde VIP (côté LAN).)

Capture d'écran

- même topo pour la VIP du côté LAN. A ceci près que le VHID n'est plus le même que sur la VIP WAN ! (logique) et que vous avez pris soin de choisir l'interface LAN.

Pour le skew : on ne s'amuse pas à changer de rôle selon une VIP ou l'autre !
Nous avions décrété que PFSENSE01 serait le master, donc on remet le skew à 0 pour PFSENSE01 et à 1 pour PFSENSE02.

Capture d'écran

- Appliquez à présent les changements.

Capture d'écran

- Les VIP sont à présent configurées.

Capture d'écran


Étape 5 : Configurer l'interface de Synchronisation

Comme la configuration a été effectuée au tout début en CLI, nous allons simplement la renommer plutôt que de garder le nom de la première interface optionnelle (OPT1) par défaut de pfsense.

Capture d'écran

- Changez simplement la description puis descendez tout en bas pour sauvegarder, puis appliquez la configuration.

Capture d'écran

Capture d'écran

Capture d'écran

Capture d'écran


Étape 6 : Configurer le cluster

Nous devons maintenant expliquer aux PF comment ils devront communiquer leurs informations de statut et les services configurés
Attention, la configuration n'est pas la même sur les 2 nœuds !

Capture d'écran

Capture d'écran

- Cochez la synchronisation des identifiants admin, puis cliquez sur "Toggle All" en bas pour sélectionner tous les services à synchroniser d'un coup (ou choisissez uniquement ce que vous voulez synchroniser !)

Capture d'écran

La validation prend plus de temps sur PFSENSE02 que sur PFSENSE01, c'est normal. Patientez.
A l'issue de la sauvegarde, vous voici de retour en haut de la page

Capture d'écran


Étape 7 : Visualisez le statut CARP

Capture d'écran

Vous pouvez constater que chaque PF a bien son statut. PFSENSE01 est le master, PFSENSE02 est en backup.
La configuration de la redondance CARP est terminée.

Capture d'écran

Si vous coupez PFSENSE01, vous verrez que PFSENSE02 deviendra le master.


Étape 8 : Règle de pare-feu sur PFSYNC

Il nous reste une règle de pare-feu à mettre en place sur l'interface PFSYNC pour permettre la réplication automatique des configurations de PFSENSE01 sur PFSENSE02.
Une fois cette règle mise en place sur l'interface PFSYNC des 2 pare-feux, toutes les autres règles des autres interfaces (LAN/WAN/OPT etc.) se synchroniseront automatiquement

Capture d'écran

Capture d'écran

Capture d'écran

Capture d'écran

Capture d'écran

Capture d'écran

Voilà.
A présent, XMLRPC va pouvoir répliquer les configurations de PFSENSE01 sur PFSENSE02.

Le meilleur moyen de le tester, c'est de créer une règle à la noix ou de faire un DNAT redirection de ports sur PFSENSE01 et de regarder tout de suite après l'application, si la règle est bien répliquée...
Exemple ici, avec un DNAT rdp sur PFSENSE01... répliqué aussitôt appliqué sur PFSENSE02 :

Capture d'écran


Étape 9 : Configuration de la passerelle

Indiquez la VIP LAN en tant que nouvelle passerelle pour le réseau LAN.
Configurez l'adressage IP de votre CLIENT, afin que la passerelle soit désormais la VIP LAN (10.10.10.3)

Capture d'écran


Conclusion

Le tuto est terminé....
Mais la configuration du cluster peut aller BEAUCOUP plus loin... Je vous laisse explorer.


⬆️ Retour en haut de la page