loader image

PFSENSE : Redondance firewall

Webdesign Networking Virtualization

PFSENSE : Redondance firewall

Afin de pallier à une défaillance firewall nous allons ici créer une redondance entre 2 firewalls, actif/passif, le premier tombe, le second prend le relais

Nous allons utiliser le protocole CARP : Le protocole CARP (Common Address Redundancy Protocol) permet à plusieurs équipements réseaux de partager une même adresse IP comme le fait HSRP (propriétaire Cisco ou VRRP disponible sur la plupart des routeurs d'entreprises.
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.
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.

PRE REQUIS

  • 1 firewall pleinement configuré et avec 3 interfaces :

WAN LAN CARP (et autres si besoin)

  • 1 deuxième avec à minima la patte LAN configurée (pour accés et configuration CARP
  • Une infrastructure autour afin de faciliter les tests

SCHEMA

Dans Mon lab j'ai donc, mes 2 firewalls

Un cluster de routeurs Vyatta configuré en VRRP

Un cluster HAPROXY gérant le loadbalancing et les certificats configuré avec Heartbeat

Un cluster de Synology virtuels hebergeant AD DNS Authentification mail etc ... configuré en HA (High Availability)

MISE EN OEUVRE

Nous partons du principe que la partie WAN et LAN est configurée

Il vous faut maintenant configurer la 3 ème interface CARP

Configurer les ips pour chaque firewall, dans mon cas 10.220.0.1 et 10.220.0.2, j'ai mis /24 mais un masque beaucoup plus petit sera privilégié. L'important est que les 2 ips fassent partie du même sous réseau.

Il vous faudra ajouter une règle sur le firewall maitre afin que les flux CARP puissent se faire.

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. Dans le cas ou vous ne choisisez pas d'ip, le multicast jouera son rôle. 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.

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.

RAPPEL : Si toutefois vous ne mettez pas l'ip du peer la reconnaissance se fera en multicast

Désormais, toute configuration effectuée sur le firewall maitre est répliqué instantanément sur le firewall passif, 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.

Attention au paramètre "Skew" qui définit la priorité Master/Slave sachant que "0" est la priorité la plus haute

TEST

Nous allons commencer par vérifier l’état de la synchronisation entre nos deux routeurs dans Status / CARP.

MASTER :

SLAVE :

Pour notre test nous pingons un dns google en continu à partir d'un outil de supervision qui se trouve au niveau de mes routeurs

mes deux firewalls sont pour le moment actifs


Je coupe un firewall


Et on peut voir qu'il y a un DUP IP le temps de la bascule et la perte de quelques ping (voir : ICMP_SEQ) et c'est reparti

Le SLAVE est passé MASTER



Lorsque le premier firewall redémarre il reprendra son positionnement d'origine

Et voilo ! si questions ou besoin de précisions n'hésitez pas 🙂

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *