En montant mon homelab, je cherchais une solution open source, stable et didactique, capable de m'aider à comprendre comment fonctionnent réellement un pare-feu et le routage. Le parcours m'a mené à travers trois solutions : IPFire, pfSense, puis VyOS. Chacune a correspondu à une étape d'apprentissage différente, et aujourd'hui chaque service est isolé dans son propre VLAN.
IPFire : la simplicité, et la découverte de Netfilter
IPFire a été ma première véritable expérience d'un pare-feu complet sous Linux. Il m'a servi de porte d'entrée dans cet univers et m'a permis de mettre en place mes premiers services réseau — notamment un point d'accès Wi-Fi avec son serveur DHCP.
Sa compatibilité matérielle est un atout réel quand on débute avec du matériel hétérogène, en l'occurrence un vieux portable. L'interface est claire, et son système à quatre zones rend la segmentation intuitive sans imposer d'emblée la complexité des VLAN.
Mais son apport principal a été ailleurs : il m'a fait découvrir Netfilter en profondeur, en particulier le suivi d'état des connexions. C'est cette logique-là — une règle qui raisonne sur l'état d'un flux et pas seulement sur ses adresses — qui m'a servi partout ensuite.
Ce qui fonctionne bien
- une installation et une prise en main simples ;
- une interface lisible pour la gestion des règles et des zones ;
- de nombreux paquets préconfigurés — proxy, détection d'intrusion, VPN — qui donnent accès à des fonctions avancées sans configuration manuelle.
Cette richesse a toutefois un coût : elle augmente considérablement la charge de maintenance du projet. C'est probablement l'une des raisons pour lesquelles il stagne en version majeure 2, malgré sa solidité.
Les limites que j'ai rencontrées
- Des journaux incohérents : certaines règles IGMP marquées comme filtrées apparaissent malgré tout dans les journaux. J'ai signalé le problème à l'époque, et le ticket ouvert ne reflète pas la description que j'en avais faite — Bugzilla IPFire #11977.
- La philosophie des quatre zones devient restrictive dès que l'infrastructure se complexifie, même s'il reste possible d'ajouter des VLAN.
- Une architecture figée, qui gagnerait à raisonner en VLAN plutôt qu'en zones fixes.
- Des règles de traduction d'adresses automatiques dont je n'ai jamais vu la valeur ajoutée.
IPFire reste une excellente solution pour découvrir Linux, Netfilter et les bases d'un pare-feu. Ses limites structurelles se font sentir dès que l'architecture dépasse ce que quatre zones savent décrire.
pfSense : la puissance, et sa contrepartie
Avec un homelab plus conséquent, virtualisé, j'ai voulu passer à l'échelle supérieure. pfSense s'est imposé naturellement : riche, stable, bien documenté.
Ce qui m'a convaincu
- La gestion des règles par VLAN, nettement plus souple que le découpage en zones ;
- une interface complète : VPN, multi-WAN, détection d'intrusion, portail captif, tout au même endroit ;
- un pare-feu central et mature, pensé pour le routage entre VLAN et la séparation des services ;
- un proxy robuste avec analyse antivirus déportée, qui permet un contrôle centralisé efficace ;
- peu de paquets, et ceux qui existent sont orientés sécurité et réseau plutôt que fonctions annexes ;
- une répartition de charge bien intégrée.
Les limites
- Pas de support SR-IOV, contrairement aux deux autres, ce qui bride les performances réseau en environnement virtualisé.
- Le moteur de détection d'intrusion, pourtant intégré, s'est révélé instable sur ma configuration — plantages fréquents, et une interface qui devient lourde.
- Une version commerciale existe en parallèle, ce qui fait grincer une partie de la communauté. Je n'ai personnellement jamais vu ce qu'elle apportait.
- La gestion en masse des règles est délicate : la configuration est un fichier XML fragile, et une erreur minime peut empêcher le système de démarrer, avec un diagnostic très difficile.
pfSense m'a permis de structurer mon réseau et de comprendre pour de bon la gestion des VLAN. Son côté monolithique et l'absence de SR-IOV finissent par peser, mais pour centraliser sécurité et routage, la solution est solide.
VyOS : un système réellement pensé pour le réseau
Dernière étape du parcours. Ce qui m'a convaincu tient à sa légèreté, à sa philosophie en ligne de commande — proche des routeurs professionnels — et à sa compatibilité complète avec la virtualisation.
Ce que j'apprécie
- Le support natif du SR-IOV, qui tire réellement parti de l'hyperviseur ;
- une logique d'interfaces et de VLAN claire et lisible ;
- un fichier de configuration complet, qui permet d'appliquer une vraie politique de moindre privilège : chaque règle est explicite, traçable et versionnable ;
- des fonctions réseau avancées — VRF, routage par politique, espaces de noms réseau, gestion de certificats — qui montrent un produit conçu pour le réseau, même si je suis loin de tout exploiter ;
- la délégation des services applicatifs à des conteneurs, qui a rendu la migration depuis pfSense bien moins brutale : j'ai pu réimporter des configurations déjà prêtes et éprouvées.
C'est ce dernier point qui a décidé du reste. Le pare-feu fait du pare-feu, et tout ce qui est applicatif — analyse de trafic, proxy, répartition de charge — vit dans un conteneur que je construis et met à jour séparément.
Les limites
Le manque de recul, d'abord : il faut un temps d'adaptation, et je pourrai mieux en parler dans quelque temps. Cela dit, je ne regrette pas le changement.
La validation d'une configuration peut être longue, ce qui est frustrant quand on teste rapidement une modification.
Où j'en suis
Chaque solution a correspondu à une étape. IPFire m'a ouvert les portes de Linux et de Netfilter, pfSense a structuré mon réseau de façon robuste, et VyOS m'apporte aujourd'hui l'équilibre que je cherchais entre performance, modularité et contrôle complet de la configuration.
Le point commun des trois étapes, rétrospectivement, c'est que chacune a buté sur la même chose : le moment où la façon dont l'outil décrit le réseau ne correspond plus à la façon dont on le pense. Quatre zones, puis un fichier XML monolithique, et enfin une configuration structurée et versionnable.