Le but
Depuis quelques temps je souhaitais ajouter le mode HA (High Availability) à mon routeur PFSense. Mais avec ma connexion Free (ou une autre) qui n’a qu’une seule IP publique, cela me semblait impossible. Car en effet, dans une HA de type « Carp » il faut toujours 3 IPs (deux IP réelles et une virtuelle). Je vous propose donc de vous expliquer en quelques mots le moyen que j’ai utilisé pour y arriver.
Je précise qu’il faut une IP publique fixe et que la freebox (ou modem opérateur) soit en mode « pont » (bridge).
Avant de commencer, pensez à noter votre IP publique et votre passerelle de votre opérateur.
Explications
Il y a donc deux PFSense (chacun sur un de mes noeuds Proxmox). La HA côté LAN est très simple (avec 3 IP). Mais pour le côté WAN là où Free ne vous envoie qu’une seule IPv4 publique par DHCP, ça se corse.
Voici mon schéma qui résume la solution:
En détails
L’interface de HA
Cette interface va servir au process PFSense pour envoyer l’ensemble de la configuration au second noeud.
Il suffit de lui donner un nom (Ex: HA ou SYNC) puis de mettre deux IPv4 privées (Ex: 10.10.10.1/30 pour le master, puis 10.10.10.2/30 pour le backup).
Il faudra bien séparer ces interfaces dans un VLAN à part de votre LAN ou WAN (ici VLAN 111).
Activation de la HA (Sytem / High Availability Sync)
Sur le master:
- Activation de « Synchronize states »
- Choix de l’interface « Synchronize Interface » (ici elle se nomme HA)
- Choix du backup « pfsync Synchronize Peer IP » (ici 10.10.10.2)
- Choix du backup « Synchronize Config to IP » (ici 10.10.10.2)
- Login et mot de passe du backup « Remote System Username » & « Remote System Password » (vous pouvez créer un compte spécial pour la HA sur le backup)
- Choix des options de synchronisation (tout cocher).
Création des interfaces LAN
Il suffit de créer toutes vos interfaces, comme vous le feriez habitellement. Mais ne pas utiliser l’IP « finale » souhaitée sur ces interfaces. Ici je souhaite que les IP terminant par .254, soient les passerelles pour mes réseaux.
J’ai donc choisi d’autres IPs comme par exemple .253 pour le master et .252 pour le backup. Mais vous pourriez utiliser n’importe quelles autres IP, à partir du moment où elles sont présentes dans votre plage IP et non utilisées par un équipement du réseau.
Création des interfaces LAN (Firewall / Virtual IPs)
Pour créer les interfaces dites virtuelles (celles qui vont « flotter » entre vos deux noeuds), il suffit de créer l’interce .254
- Type d’interface « Carp »
- Choisir la bonne interface (vous avez créé les IPs 192.168.0.253 et .252 sur l’interface nommée VLAN 1 ou LAN), la .254 doit être sur cette même interface.
- Un mot de passe qui servira au process carp pour l’échange d’informations
- « Advertising frequency » pour le master 1/0, le bakup 1/100 pour déterminer qui sera master.
Création des interfaces WAN
J’ai choisi de tester le mode CARP sur mon interface WAN. Sachant qu’il lui faut 3 IPs (2 réelles sur les interfaces + 1 virtuelle). J’ai donc travaillé avec des IP privées sur les interfaces réelles (172.17.50.1 et .2 / 30).
Les puristes réseau me pardonneront le fait de faire « apparaitre » des IP privées dans un VLAN destiné à une adresse publique, en l’occurence l’adresse WAN que Free m’envoie habituellement par DHCP. Mais comme vous pouvez le voir, il n’y a plus de DHCP sur les interfaces WAN de chaque PFSense.
Création des interfaces WAN (Firewall / Virtual IPs)
Idem que pour le LAN, sauf que l’on ne va pas garder la logique des IPs qui se suivent. On va y mettre son IP publique (pour la trouver, vous pouvez vous rendre sur l’interface free.fr).
A partir de ce moment là, l’IP publique est bien présente et la HA fonctionne parfaitement. Mais nous n’avons toujours pas Internet 😦
Création de la passerelle (System / Routing / Gateways)
Il faut donc créer une passerelle manuellement, car celle-ci n’est plus automatiquement distribuée par le DHCP sur l’interface WAN.
Toujours pas Internet 😦
Création du NAT (Firewall / NAT / Outbound)
Sachant que par défaut, un PFSense nate de façon automatique sur l’IP de l’interface WAN. Mais nos interfaces WAN ont comme IP 172.17.50.1 et .2. On ne va pas surfer beaucoup avec ces IPs privées ;).
Il faut donc créer manuellement les règles de NAT.
Avez-vous Internet ? Personellement vu que j’utilise des règles spécifiques pour router mon trafic sortant, à ce moment là Internet ne fonctionnait toujours pas.
Règles de routage sortant (Firewall / Rules / VLAN1 ou 2)
Créer des règles de routage pour forcer le trafic à utiliser la passerelle par défaut créée juste avant.
- La première règle va forcer le trafic provenant du VLAN 2 vers tout (sauf VLAN1) à emprunter la GWFREE pour sortir vers Internet.
- La seconde règle autorise le trafic entre mes VLANs
- Ne pas en tenir compte car IPv6
Voilà, maintenant nous avons Internet et la HA est correctement configurée et fonctionnelle. Vous pouvez voir le statut dans (Status / CARP).
[…] (Source: Journal du hacker) […]