Dans ce tutoriel, nous allons étudier comment implémenter un cluster de pare feu sous PFSENSE pour gérer la tolérance de panne et assurer la haute disponibilité des accès internet.
Configurez tout d’abord les adresses IP sur vos interfaces. Par la suite il faut définir des adresses IP virtuelles qui serviront de passerelles virtuelles pour nos flux.
Voici un exemple d’adressage que je vais utiliser
pfSense1 - WAN : 192.168.1.101
pfSense2 - WAN : 192.168.1.102
@IP virtuelle WAN : 192.168.1.110
pfSense1 - LAN : 172.16.0.1
pfSense2 - LAN : 172.16.0.2
@IP virtuelle LAN : 172.16.0.10
Configuration
Configurez tout d’abord les adresses IP virtuelles
Pour configurer l’adresse IP virtuelle, Rendez-vous dans « Firewall » > « Virtual IPs » :
Cliquez sur l’icône « Add » pour ajouter une adresse IP virtuelle.
Les éléments à configurer sont les suivants :
Choisissez « CARP »
Renseignez l’interface sur laquelle la VIP doit être configurée, ici, l’interface LAN.
Renseignez l’adresse IP virtuelle. Ici je mets 172.16.0.10 comme IP virtuelle.
Un mot de passe pour sécuriser ce failover
Cette étape doit être réalisée sur le second PFSENSE également. Sur le second la valeur skew doit être 1.
Il faudra également réaliser cette étape pour les interfaces WAN.
Nous pouvons vérifier l’état de nos adresses IP virtuelles depuis le menu « Status »> « CARP (failover) » :
Dans le cas présent, les deux adresses VIP créées ont bien le statut « master » sur le pfSense1 :
Il faut désormais configurer le NAT afin que le trafic emprunte nos IP virtuelles.
Rendez-vous dans le menu Firewall > NAT. Dans l’onglet Outbound, nous cochons la case « Hybrid Outbound NAT rule generation ».
Il faut ensuite indiquer le réseau source ainsi que l’adresse de translation comme sur l’image ci-dessous :
Cette configuration n’est à faire que sur le PFSENSE1 primaire. La configuration sera dupliquée automatiquement sur le PFSENSE2 grâce à la réplication.
Nous allons enfin configurer la haute disponibilité, pour cela, rendez-vous dans « System » > « High Avail. Sync » :
Cochez la case synchronize states. Indiquez ensuite l’interface de synchronisation, ici le LAN. Indiquez enfin l’adresse IP du LAN de votre PFSENSE2.
Par la suite indiquez à nouveau l’adresse IP du PFSENSE2. Indiquez vos identifiants de connexion pour ce second pare feu et cochez toutes les options dessous.
Il faut également autoriser la réplication des règles du pare feu.
Toujours sur PFSENSE1, allez dans « Firewall » > « Rules ».
Cliquez sur « Add » pour ajouter une nouvelle règle.
Laissez les principaux paramètres par défaut. Le plus important se situe au niveau de la source et de la destination. Pour la source indiquez votre adresse virtuelle pour le LAN. Pour la destination, choisissez This Firewall (self). Paramétrez les ports 443 pour les flux HTTPS.
Enregistrez votre règle et ajoutez en une autre via le bouton « Add » :
Laissez la plupart des paramètres par défaut, modifiez juste le protocole en PFSYNC.
Indiquez ensuite l’IP virtuelle en source pour les PFSENSE. En destination sélectionnez This Firewall(self).
Pour vérifier ce bon fonctionnement, vous pouvez vérifier si les règles de pare feu se sont synchronisées sur le Firewall de secours.
Test
Pour tester le bon fonctionnement de la configuration, lancez un ping depuis une machine cliente vers internet. Coupez PFSENSE1 et vérifiez que vous ne perdez pas votre accès internet. Vous pouvez perdre quelques paquets au cours de la déconnexion mais votre accès internet devrait revenir aussitôt.