PfSense sur Raspberry Pi : est ce possible ? (+ alternatives)


pfSense est un excellent pare-feu open-source, basé sur BSD. Il offre toutes les fonctionnalités qu’on peut attendre d’un routeur pare-feu. Je l’utilise au travail depuis de nombreuses années, et c’est une excellente alternative à ses concurrents hors de prix. Dans cet article, nous allons voir comment obtenir les mêmes fonctionnalités sur Raspberry Pi.

pfSense n’a pas de version officielle pour Raspberry Pi, il est uniquement disponible pour l’architecture AMD64, il n’y a donc aucun moyen de l’installer sur un Raspberry Pi. Mais d’autres solutions peuvent être utilisées pour transformer un Raspberry Pi en un routeur avec pare-feu.

Nous allons tout de suite découvrir d’autres options disponibles pour utiliser votre Raspberry Pi comme pare-feu.

À propos, si vous êtes novice sur Raspberry Pi et que vous souhaitez accélérer vos premiers pas (tout en vous amusant), n’hésitez pas à télécharger mon e-book « Maitrisez Raspberry Pi en 30 jours« . Il s’agit d’un défi de 30 jours au cours duquel vous apprendrez une nouvelle compétence chaque jour. Vous économiserez du temps et de l’argent et pourrez enfin apprécier cet appareil passionnant qu’est le Raspberry Pi. Je vous offre d’ailleurs 10% de remise aujourd’hui en utilisant ce lien !

pfSense peut-il fonctionner sur Raspberry Pi ?

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.

Même si FreeBSD fonctionne bien sur Raspberry Pi, et que le code source de pfSense est accessible, toutes les versions de pfSense sont limitées à l’architecture AMD64. Il n’existe aucune documentation ni aucune solution pour contourner son installation sur un Raspberry Pi.

J’ai déjà installé FreeBSD sur mon Raspberry Pi (comme vous pouvez le voir sur ce tutoriel en anglais), mais trouver un moyen pour compiler pfSense là-dessus est loin d’être évident, car cela n’a pas été prévu. De plus, je ne suis pas un expert en BSD :).

Il y a un dépôt sur la page GitHub de pfSense qui inclue des fichiers sur Raspberry Pi (vous pouvez voir les résultats des recherches ici), donc ce n’est probablement pas un cas complètement impossible que ce soit adapté un jour. Mais pour l’instant, les développeurs de pfSense n’ont pas encore publié de version pour Raspberry Pi.
En 2019, on y croyait, car un des développeurs avait dit que ça arriverait un jour, mais aucune date n’avait été communiqué (source).

En bref, il semblerait que les développeurs de pfSense aient envisagé la sortie d’une version pour Raspberry Pi, mais ce n’est toujours pas disponible aujourd’hui. Si vous êtes un expert BSD et que vous n’avez pas peur de le compiler à partir des sources, vous pouvez essayer d’installer FreeBSD et télécharger l’ensemble du dépôt pfSense pour le compiler depuis zéro. Cependant, aucune de mes recherches ne m’indique que cela pourrait fonctionner.

Donc pour l’instant, la meilleure option est de chercher une autre manière d’installer un pare-feu sur Raspberry Pi.

Maîtrisez Raspberry Pi en 30 jours
10% de remise aujourd'hui !
Téléchargez le livre numérique.
Découvrez les secrets du Raspberry Pi à travers un challenge de 30 jours.

Utiliser un Raspberry Pi comme Routeur avec Pare-feu

Il existe plusieurs façons d’utiliser un Raspberry Pi comme routeur avec pare-feu sur votre réseau. IPFire et OpenWRT ont une version disponible pour certains modèles de Raspberry Pi, mais il est également possible de configurer Raspberry Pi OS pour le faire.

Comment installer IPFire sur Raspberry Pi

IPFire est un pare-feu open-source, qui est souvent cité comme une alternative à pfSense. IPFire, en plus d’un moteur de pare-feu, dispose aussi d’autres fonctionnalités intéressantes comme un système de détection d’intrusion.

Il supporte aussi des modules complémentaires pour l’ajout d’autres fonctionnalités si nécessaire (VPN, proxy, point d’accès sans fil, etc.).
Je n’ai pas eu la même expérience avec IPFire, car je préfère pfSense lorsque j’utilise du matériel compatible. Mais, comme ils ont une version ARM disponible, ça ne coute rien d’essayer. L’installation est assez simple, puisque l’image ARM est disponible sur leur site web.

Note : ça ne marche pas sur Raspberry Pi 4 / 400.

  • Aller sur la page de téléchargement sur le site de IPFire.
  • Cliquer sur l’image ARM pour la télécharger (vous pouvez utiliser HTTP ou Torrent pour le téléchargement).
  • Utiliser Balena Etcher pour la flasher sur votre carte SD :
  • Quand c’est fait, insérer la carte SD dans votre Raspberry Pi et démarrer.

Le premier démarrage est un peu long (quelques minutes peut-être), mais ce sera plus rapide au démarrage suivant.
Au premier démarrage, un assistant d’installation vous permettra de configurer les paramètres du réseau. Puis, vous pouvez utiliser l’interface web pour tout le reste. Voici une courte vidéo pour vous guider dans les premiers pas :

Si cela vous intéresse, je pourrais écrire un guide complet pour configurer ce système. Le processus ne devrait pas être trop compliqué pour un réseau domestique de base avec deux interfaces.

Comment installer OpenWRT sur Raspberry Pi

OpenWRT est la seconde option à considérer pour créer un routeur pare-feu sur Raspberry Pi.

OpenWRT est un autre système d’exploitation Linux doté de fonctions de routeur et de pare-feu, gérées depuis une interface Web. On le trouve souvent sur des appareils embarqués comme les routeurs commerciaux, mais il peut aussi être installé sur un Raspberry Pi.

La bonne nouvelle avec OpenWRT est qu’il existe une version compatible avec le Raspberry Pi 4/400. Elle n’est disponible que dans la version SNAPSHOT, mais elle fonctionne.
Voici un rapide tutoriel à suivre si vous voulez l’essayer :

  • Télécharger OpenWRT firmware pour le modèle de votre Raspberry.
    Sélectionner la version dans la liste déroulante à droite et taper « Raspberry Pi » dans le formulaire.
    Vous devriez obtenir une page où vous pouvez télécharger l’image :
  • Cliquer sur le premier bouton pour télécharger le fichier Factory (EXT4).
  • Le flasher avec Etcher, comme expliqué dans la dernière section.

Et c’est tout, insérez la carte SD dans votre Raspberry Pi, et il devrait démarrer (plus rapidement que IPFire).
Vous pouvez alors accéder à l’interface web à l’adresse http://192.168.1.1.
Malheureusement, il n’y a pas d’assistant pour la changer au démarrage, vous devez donc mettre votre ordinateur sur ce sous-réseau, même si vous êtes sur une autre plage réseau.

Utiliser Raspberry Pi OS pour faire fonctionner un routeur avec pare-feu

Même si IPFire et OpenWRT sont proches de ce que pfSense peut offrir en termes de fonctionnalités, je ne les utilise pas. Je recommande toujours de construire votre routeur (avec pare-feu) sur une distribution Linux propre, comme Raspberry Pi OS.

En procédant ainsi, vous avez la garantie que le logiciel fonctionnera bien, et vous n’avez plus qu’à ajouter la couche de routage/pare-feu par-dessus.

Comme le Raspberry Pi ne possède que deux interfaces réseau (Ethernet et Wi-Fi), l’activation de la partie routage ne prendra que quelques minutes. Vous pourrez ensuite utiliser des applications comme IPTables pour filtrer le trafic qui passe par votre routeur.

Vous avez sur ce lien un guide complet pour le faire sur Raspberry Pi, donc il n’est pas nécessaire de vous donner les détails ici. Mais je pense que c’est la meilleure option pour le moment.

IPFire et OpenWRT ajoutent le support de Raspberry Pi comme projet annexe, ce n’est pas leur objectif principal, donc vous aurez probablement des problèmes techniques et un manque de documentation sur la façon de les résoudre.
IPTables (et les alternatives) fonctionnent de la même manière sur un PC avec Linux, il sera donc facile de trouver de l’aide sur la façon de le configurer.

Le tutoriel ci-dessus montre principalement comment construire un routeur avec un pare-feu, mais j’y présente également d’autres outils que vous pouvez ajouter pour vous faciliter la vie. Par exemple, Webmin ajoutera une interface web dessus, et Squid / Snort peut améliorer la sécurité globale de votre réseau.

Initiation au Raspberry Pi
10% de remise aujourd'hui !
Visionnez ma formation vidéo pour démarrer du bon pied.
Découvrez le Raspberry Pi, le matériel, ses logiciels particuliers et créez vos 5 premiers projets avec moi.

Améliorez votre réseau avec un Raspberry Pi

Prenons quelques minutes pour énumérer les autres outils que vous pouvez installer sur un Raspberry Pi, si votre objectif est d’améliorer la sécurité de votre réseau. Un Raspberry Pi peut être très utile dans ce domaine, même si pfSense n’est pas encore disponible.
En plus d’IPTables, Snort et Squid, vous avez à disposition quelques autres services qui pourraient vous intéresser.

Fail2ban

Fail2ban est principalement un outil de prévention des intrusions, mais pas seulement. Il utilise les fichiers de logs, et se sert de modèles pour détecter les activités malveillantes. Vous pouvez ainsi vérifier le fichier journal SSH pour répertorier les tentatives de connexion suspectes et mauvais mots de passe, puis bloquer l’adresse IP dans votre pare-feu.

Fail2ban peut être installé avec apt, comme pour tout paquet du de Raspberry Pi OS. Ensuite, les fichiers de configuration se trouvent sous /etc/fail2ban. Leur modification permet de définir des règles pour chaque service hébergé sur le Raspberry Pi.

Si besoin, vous avez ici un tutoriel qui montre comment installer Fail2ban sur votre Raspberry Pi.

VPN

Un pare-feu va protéger l’accès externe à votre réseau (ou même les réseaux locaux sécurisés), mais un VPN peut aller un peu plus loin dans certains cas.
En fait, vous pouvez utiliser un VPN de deux façons :

  • Pour cacher vos données de navigation à l’intérieur d’un tunnel crypté. Une solution comme NordVPN sera parfaite pour ça.
    Ça marche bien sur Raspberry Pi, vous pouvez voir le tutoriel ici.
  • Ou pour vous donner un accès à distance à votre réseau domestique. Dans ce cas, OpenVPN sera le moyen le plus rapide pour le mettre en place.
    OpenVPN est disponible dans le dépôt officiel, il peut donc être installé avec apt comme pour tout autre paquetage. (plus de détails ici).

Pour la deuxième option, WireGuard est un autre logiciel que vous pouvez essayer. Vous pouvez lire la comparaison OpenVPN vs WireGuard ici (en anglais).

Ad-Blocker

La dernière application est probablement moins importante que le VPN et Fail2ban, mais elle pourrait être aussi utile pour le même projet.

Utiliser un Raspberry Pi comme bloqueur de publicité pour l’ensemble du réseau est un projet populaire (vous pouvez utiliser Pi-Hole pour le faire). L’installer sur le pare-feu de votre routeur est le moyen le plus simple, et cela ne devrait pas nécessiter de dispositif supplémentaire.

Une fois qu’il est installé et configuré comme serveur DNS primaire sur tous vos appareils, vous ne verrez plus les publicités apparaître. Si les publicités ne vous dérangent pas, vous pouvez aussi utiliser votre Raspberry Pi comme serveur DNS uniquement. C’est une bonne alternative si Pi-Hole et le routeur/pare-feu créent des conflits sur le même appareil.

Maîtrisez Python sur Raspberry Pi
10% de remise aujourd'hui !
Téléchargez le livre numérique.
Envie d'aller un peu plus loin que faire clignoter une LED ? Vous avez besoin de ce livre pour passer à des projets plus avancés.

Matériel recommandé pour utiliser le Raspberry Pi comme pare-feu

Je n’ai pas écrit sur ce sujet pour l’instant, mais il y a une limite majeure dans l’utilisation d’un Raspberry Pi comme routeur/pare-feu : il ne possède qu’un seul port Ethernet. Dans mon tutoriel, j’utilise l’adapteur Wi-Fi pour créer une deuxième interface, mais ce n’est peut-être pas exactement ce dont vous avez besoin.

Si vous voulez d’autres options, voici quelques composants supplémentaires envisageables :

  • Ethernet HAT : Même si la carte Raspberry Pi ne possède qu’un seul port Ethernet, vous pouvez ajouter d’autres en installant un HAT par-dessus. Celui-ci, disponible sur Amazon devrait être une excellente option. Il est de la taille d’un Raspberry Pi Zero, mais peut fonctionner avec n’importe quel modèle.
  • Adapteur USB/Ethernet : J’avais testé il y a quelques années, et ça fonctionnait très bien. Vous pouvez brancher un adaptateur USB vers Ethernet (comme celui-ci) sur votre Raspberry Pi et brancher un deuxième câble Ethernet. Comme il existe de nombreux modèles, je ne peux pas garantir que ça marchera avec toutes les solutions mentionnées dans cet article, mais pour mon cas, mon modèle fonctionnait sur RPI OS.
  • Une carte SIM et la 4G: Pour des scénarios spécifiques, vous pouvez aussi utiliser un HAT 4G pour éviter d’avoir à utiliser un autre adaptateur Ethernet. Vous pouvez brancher ce module, y insérer votre carte SIM et vous connecter à Internet, où que vous soyez. Ça fonctionnera probablement sur Raspberry Pi OS, mais je n’ai pas testé le support IPFire et OpenWRT.
Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.

Conclusion

Pour résumer, utiliser un Raspberry Pi comme dispositif de sécurité sur votre réseau est une excellente idée, mais les logiciels ne sont pas encore au rendez-vous. pfSense n’est pas disponible sur l’architecture ARM et les autres alternatives ne sont pas parfaites.

Pour l’instant, je recommande toujours d’utiliser Raspberry Pi et de le configurer comme un routeur avec pare-feu, comme expliqué dans cet article.

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets ou je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Patrick Fromaget

Je suis l'auteur principal et le créateur de RaspberryTips. Mon but est de vous aider sur tous vos problèmes qui concernent Raspberry Pi en publiant des guides détaillés et des tutoriels rapides. Dans la vraie vie, je suis administrateur système (Linux principalement) avec une solide expérience dans le développement web.

Recent Posts

Black Friday Week: Tout à -40%