OPNsense est un pare-feu et routeur open source basé sur FreeBSD qui remplace avantageusement les appliances commerciales. Il offre une interface web complète, du filtrage stateful (pf), du VPN (IPsec, OpenVPN, WireGuard), un IDS/IPS (Suricata), un résolveur DNS (Unbound) et un serveur DHCP (Kea). Ce guide présente son architecture, ses composants et ses cas d’usage pour vous aider à décider si OPNsense convient à votre infrastructure.
Qu’est-ce qu’OPNsense ?
Section intitulée « Qu’est-ce qu’OPNsense ? »OPNsense est un système d’exploitation réseau spécialisé, conçu pour fonctionner comme pare-feu, routeur et passerelle de sécurité. Imaginez un vigile posté à l’entrée de votre réseau : il vérifie chaque paquet de données, autorise ceux qui sont légitimes et bloque les autres. OPNsense joue ce rôle, mais avec une couche d’intelligence supplémentaire : détection d’intrusions, VPN, DNS sécurisé et bien plus.
Le projet est né en 2015 comme un fork de pfSense, avec l’objectif d’offrir un développement plus ouvert, des mises à jour plus fréquentes et une interface modernisée. OPNsense est développé par Deciso B.V. (Pays-Bas) et distribué sous licence BSD-2-Clause, ce qui signifie que vous pouvez l’utiliser librement, y compris en entreprise, sans coût de licence.
Pourquoi choisir OPNsense ?
Section intitulée « Pourquoi choisir OPNsense ? »Avant de plonger dans l’architecture, voici les raisons principales qui poussent des milliers d’organisations à adopter OPNsense :
- Gratuit et open source : pas de licence par utilisateur, par fonctionnalité ou par débit. Tout est inclus.
- Mises à jour fréquentes : deux versions majeures par an (janvier et juillet) avec des correctifs réguliers entre les deux.
- Interface web moderne : toute la configuration se fait via un navigateur, sans ligne de commande obligatoire.
- Écosystème de plugins : plus de 80 plugins communautaires (FRR pour BGP/OSPF, CrowdSec, Caddy, WireGuard, Zabbix Agent, etc.).
- API REST complète : chaque action réalisable via l’interface web est aussi disponible par API, ce qui facilite l’automatisation.
- Support commercial disponible : Deciso propose des appliances matérielles et du support professionnel pour les entreprises.
Architecture interne
Section intitulée « Architecture interne »OPNsense est un assemblage cohérent de composants open source éprouvés, orchestrés par une interface web unifiée. Voici comment ils s’articulent.
Le noyau : FreeBSD + pf
Section intitulée « Le noyau : FreeBSD + pf »Au cœur d’OPNsense se trouve pf (Packet Filter), le pare-feu natif de FreeBSD. C’est lui qui gère le filtrage des paquets, le suivi de connexions (stateful inspection) et la translation d’adresses (NAT).
| Concept | Ce que ça signifie concrètement |
|---|---|
| Stateful | pf se souvient des connexions en cours. Si vous autorisez une requête sortante, la réponse est automatiquement acceptée. |
| First match | Les règles sont évaluées dans l’ordre. La première règle qui correspond au paquet s’applique (contrairement à iptables qui utilise la dernière). |
| Tables | Des listes d’adresses IP chargées en mémoire pour un filtrage ultra-rapide (alias, GeoIP, blocklists). |
Services intégrés
Section intitulée « Services intégrés »OPNsense embarque nativement plusieurs services réseau essentiels :
| Service | Composant | Rôle |
|---|---|---|
| DNS | Unbound | Résolveur DNS récursif avec support DNSSEC et DNS-over-TLS |
| DHCP | Kea / Dnsmasq | Attribution automatique d’adresses IP (IPv4 et IPv6) |
| IDS/IPS | Suricata | Détection et prévention d’intrusions en temps réel |
| VPN | StrongSwan (IPsec), OpenVPN, WireGuard | Tunnels chiffrés pour accès distant ou site-to-site |
| Proxy | Squid (plugin) | Proxy cache et filtrage web |
| Routage dynamique | FRR (plugin) | BGP, OSPF, IS-IS pour les infrastructures avancées |
Le modèle d’interfaces
Section intitulée « Le modèle d’interfaces »OPNsense identifie chaque carte réseau physique (ou virtuelle) et lui assigne un rôle :
- WAN (Wide Area Network) : l’interface connectée à Internet ou au réseau amont. Par défaut, tout le trafic entrant est bloqué.
- LAN (Local Area Network) : le réseau local. Par défaut, tout le trafic sortant est autorisé.
- OPTx (Optional) : interfaces supplémentaires pour créer des zones (DMZ, Wi-Fi invité, IoT, serveurs, etc.).
Chaque interface peut porter des VLANs (802.1Q) pour segmenter un même lien physique en plusieurs réseaux logiques. Par exemple, un seul câble réseau vers un switch managé peut transporter du trafic LAN, IoT et invité, chacun isolé par un VLAN.
L’interface web
Section intitulée « L’interface web »L’interface web d’OPNsense est accessible en HTTPS (port 443 par défaut) sur l’adresse LAN. Elle est organisée en menus thématiques :
| Menu | Ce qu’on y trouve |
|---|---|
| Lobby | Dashboard, widgets personnalisables |
| System | Utilisateurs, certificats, HA, firmware, cron |
| Interfaces | Configuration WAN/LAN/OPT, VLANs, bridges |
| Firewall | Règles, NAT, alias, schedules, shaper |
| Services | DNS, DHCP, IDS, proxy, NTP |
| VPN | IPsec, OpenVPN, WireGuard |
| Reporting | Insight, NetFlow, logs |
L’API REST
Section intitulée « L’API REST »Chaque page de l’interface web correspond à un endpoint API. L’authentification se fait par clé + secret (générés dans Système > Accès > Utilisateurs). Quelques exemples :
# Lister les alias du firewallcurl -k -u "$KEY:$SECRET" https://192.168.1.1/api/firewall/alias/searchItem
# Recharger les règles du firewallcurl -k -u "$KEY:$SECRET" -X POST https://192.168.1.1/api/firewall/filter/applyCette API ouvre la porte à l’automatisation : scripts Bash, playbooks Ansible, pipelines CI/CD pour gérer l’infrastructure réseau comme du code.
Composants en détail
Section intitulée « Composants en détail »pf — le moteur de filtrage
Section intitulée « pf — le moteur de filtrage »pf (Packet Filter) est le composant le plus critique d’OPNsense. Hérité d’OpenBSD et porté sur FreeBSD, c’est un pare-feu éprouvé depuis plus de 20 ans. Il gère :
- Le filtrage des paquets (allow/deny par IP source, IP destination, port, protocole)
- Le NAT (masquerading, port forwarding, NAT 1:1)
- Le traffic shaping (QoS via ALTQ ou les pipes/queues internes)
- Le suivi d’état (state table) qui mémorise les connexions actives
- Les tables pour charger des milliers d’adresses IP sans impact sur les performances
Unbound — le résolveur DNS
Section intitulée « Unbound — le résolveur DNS »Unbound est un résolveur DNS récursif et validant. Contrairement à un simple forwarder (qui transmet les requêtes à un DNS tiers), Unbound résout les noms de domaine en interrogeant directement les serveurs racine et les serveurs autoritaires. Les avantages :
- DNSSEC : validation cryptographique des réponses DNS pour éviter l’empoisonnement de cache
- DNS-over-TLS (DoT) : chiffrement des requêtes DNS sortantes
- Blocklists : blocage natif des domaines publicitaires et malveillants (équivalent d’un Pi-hole intégré)
- Overrides : réécriture locale de noms DNS (Split DNS pour les services internes)
Suricata — la détection d’intrusions
Section intitulée « Suricata — la détection d’intrusions »Suricata est un moteur IDS/IPS (Intrusion Detection/Prevention System) multi-threadé et haute performance. Intégré nativement dans OPNsense, il analyse le trafic réseau en temps réel pour détecter :
- Les scans de ports
- Les tentatives d’exploitation de vulnérabilités connues
- Le trafic vers des domaines malveillants
- Les exfiltrations de données suspectes
En mode IDS, Suricata alerte sans bloquer. En mode IPS, il bloque automatiquement le trafic correspondant aux règles déclenchées. OPNsense permet d’utiliser plusieurs sources de règles (ET Open, Abuse.ch, Snort) et de les mettre à jour automatiquement.
Kea / Dnsmasq — le DHCP
Section intitulée « Kea / Dnsmasq — le DHCP »Depuis la version 25.7, OPNsense propose deux options pour le DHCP :
- Kea (ISC) : serveur DHCP moderne, performant, avec support IPv4 et IPv6 (y compris la délégation de préfixe). C’est le choix recommandé pour les nouveaux déploiements.
- Dnsmasq : serveur léger combinant DNS forwarder et DHCP. Idéal pour les petits réseaux ou quand on veut un outil tout-en-un simple.
OPNsense vs pfSense vs VyOS
Section intitulée « OPNsense vs pfSense vs VyOS »Une question fréquente est : pourquoi OPNsense plutôt qu’un autre pare-feu open source ? Voici un comparatif factuel :
| Critère | OPNsense | pfSense CE | VyOS |
|---|---|---|---|
| Base | FreeBSD 14.3 | FreeBSD 12.x | Debian Linux |
| Licence | BSD-2-Clause | Apache 2.0 | GPL |
| Interface | Web moderne (MVC) | Web legacy (PHP) | CLI (comme Junos) |
| IDS/IPS natif | Suricata intégré | Suricata (package) | Pas natif |
| WireGuard | Natif (kernel) | Package | Natif |
| API REST | Complète | Limitée (package) | CLI REST |
| Mises à jour | 2x/an + correctifs | Irrégulières (CE) | Rolling release |
| Plugins | 80+ communautaires | Packages limités | Pas de système de plugins |
| Support pro | Deciso B.V. | Netgate | VyOS Networks |
En résumé : OPNsense est le meilleur choix si vous cherchez une interface web complète, un IDS/IPS intégré et des mises à jour régulières. pfSense CE reste populaire mais souffre d’un rythme de mises à jour plus lent. VyOS convient mieux aux ingénieurs réseau qui préfèrent la CLI et ont besoin de routage avancé (BGP, MPLS).
Cas d’usage
Section intitulée « Cas d’usage »OPNsense est un choix de prédilection pour les homelabs. Installé sur un mini-PC (type Intel N100) ou une VM KVM/Proxmox, il offre un pare-feu de qualité professionnelle pour :
- Segmenter le réseau domestique (IoT, serveurs, invités)
- Bloquer les publicités et trackers via les blocklists DNS
- Monter un VPN WireGuard pour l’accès à distance
- Superviser le trafic avec Insight et NetFlow
PME / TPE
Section intitulée « PME / TPE »Pour une petite ou moyenne entreprise, OPNsense remplace avantageusement un Fortinet, Sophos ou Palo Alto à moindre coût :
- Filtrage stateful + IDS/IPS sur le périmètre
- VPN site-to-site entre plusieurs sites
- Haute disponibilité CARP pour la continuité de service
- Conformité facilitée avec les logs détaillés et l’export syslog
Datacenter edge / DMZ
Section intitulée « Datacenter edge / DMZ »En bordure de datacenter, OPNsense peut servir de :
- Pare-feu de périmètre avec NAT et port forwarding
- Bridge transparent (mode inline) pour l’IDS/IPS sans modification du routage
- Passerelle VPN pour les accès d’administration
Pièges courants
Section intitulée « Pièges courants »- Confondre OPNsense avec un routeur classique : c’est avant tout un pare-feu avec des capacités de routage. Pour du BGP/OSPF complexe, il faut le plugin FRR.
- Sous-dimensionner le matériel : 3 Go de RAM est le minimum absolu. Avec Suricata activé, prévoyez 4 à 8 Go selon le débit.
- Oublier de désactiver le hardware offloading en VM : dans un environnement virtualisé, désactivez le (Interfaces > Paramètres) pour éviter les problèmes de performance.
- Négliger les mises à jour : OPNsense publie des correctifs de sécurité régulièrement. Configurez les mises à jour automatiques ou planifiez-les mensuellement.
À retenir
Section intitulée « À retenir »- OPNsense est un pare-feu/routeur open source basé sur FreeBSD et le moteur de filtrage pf, distribué sous licence BSD-2-Clause.
- L’architecture repose sur des composants éprouvés : Unbound (DNS), Suricata (IDS/IPS), Kea (DHCP), StrongSwan (IPsec).
- Le modèle d’interfaces WAN/LAN/OPT avec support VLAN permet de segmenter finement le réseau.
- L’interface web et l’API REST couvrent 100 % des fonctionnalités, de la configuration manuelle à l’automatisation complète.
- OPNsense convient aussi bien au homelab qu’à la PME et au datacenter edge.
- Par rapport à pfSense CE, OPNsense offre un développement plus actif, un IDS/IPS natif et une API complète.