Réseau / Tutoriel

OPNsense de A à Z : installer et paramétrer un pare-feu avec VLAN, DMZ et VPN

Un parcours complet et illustré pour paramétrer OPNsense 26.7 : installation, assistant, VLAN, DHCP et DNS, alias, règles zone par zone, publication d'un serveur en DMZ, accès d'administration, VPN WireGuard, détection d'intrusion, sauvegarde et tests. Avec le même plan d'adressage que la fiche sur les pare-feu.

Réseau Tutoriel Intermédiaire Publié le 20 octobre 2026 150 min de lecture
Switch réseau avec des câbles branchés
Photo : Jonathan sur Unsplash

Avant de commencer

  • Avoir lu comprendre le pare-feu, dont ce tutoriel reprend le plan et la matrice des flux
  • Un boîtier ou une machine virtuelle avec au moins deux cartes réseau, et un switch manageable (VLAN 802.1Q)
  • La box de l'opérateur en mode bridge, ou sa DMZ pointant vers le pare-feu

En clair

OPNsense est un pare-feu libre et gratuit, basé sur FreeBSD, qui transforme un petit PC à plusieurs ports réseau en équipement de niveau professionnel. Ce tutoriel le paramètre pas à pas, comme on monterait un immeuble : les fondations (installation), les murs entre les appartements (VLAN), les adresses et l'annuaire (DHCP, DNS), puis le règlement intérieur (règles), la porte d'entrée publique (DMZ) et le badge des résidents en déplacement (VPN).

Version utilisée : OPNsense 26.7, sortie en juillet 2026 (26.7.7 au 20 octobre 2026). Les menus sont donnés en anglais, langue par défaut de l'interface ; ils se traduisent dans System › Settings › General › Language, mais les forums et la documentation sont en anglais.

Les huit étapes : installer, assistant, VLAN, DHCP et DNS, alias, règles, publier, sécuriser
Le parcours complet en huit étapes.

1. Ce qu'il faut

Élément Recommandation
Matériel Mini-PC à au moins 2 ports réseau (4 c'est mieux), cartes Intel de préférence (igc, igb, ix), 8 Go de RAM, SSD de 64 Go ou plus. Prévoyez 16 Go si vous activez la détection d'intrusion sur une connexion rapide.
Ou une VM Sur Proxmox, deux cartes VirtIO, l'une reliée au pont côté box, l'autre à un pont VLAN aware côté switch (voir installer Proxmox VE).
Switch Manageable, compatible VLAN 802.1Q
Image Sur opnsense.org, image dvd (ISO) pour une VM, vga pour une clé USB. Vérifiez l'empreinte SHA-256 fournie.

Le plan d'adressage, repris de la fiche sur les pare-feu :

Zone VLAN Interface OPNsense Adresse du pare-feu
WAN — igc0 adresse publique (box en bridge)
ADMIN non tagué igc1 10.10.10.1/24
BUREAUX 20 vlan0.20 sur igc1 10.10.20.1/24
SERVEURS 30 vlan0.30 sur igc1 10.10.30.1/24
IOT 40 vlan0.40 sur igc1 10.10.40.1/24
INVITES 50 vlan0.50 sur igc1 10.10.50.1/24
DMZ 60 vlan0.60 sur igc1 10.10.60.1/24

Le réseau ADMIN passe non tagué sur igc1 : c'est le réseau LAN d'origine d'OPNsense, renommé. Côté switch, il correspond au VLAN natif 10 du port relié au pare-feu. Ainsi, on garde toujours l'accès à l'interface pendant la création des VLAN.

2. Installer

  1. Démarrez sur l'image. À l'invite de connexion, entrez l'utilisateur installer et le mot de passe opnsense.
  2. Choisissez la disposition du clavier (French), puis Install (ZFS) : ZFS est le choix recommandé, plus robuste face aux coupures de courant.
  3. Sélectionnez le disque, confirmez son effacement.
  4. Définissez le mot de passe root : long, unique, rangé dans votre gestionnaire de mots de passe.
  5. Retirez le support d'installation et redémarrez.

Au premier démarrage, la console propose un menu. Si les cartes n'ont pas été reconnues dans le bon ordre, choisissez 1) Assign interfaces, et indiquez igc0 pour le WAN (vers la box) et igc1 pour le LAN (vers le switch). Répondez N aux questions sur les LAGG et les VLAN : on créera les VLAN dans l'interface web.

Menu de la console : 1) Assign interfaces, puis WAN igc0 et LAN igc1
L'option 1 associe les cartes réseau au WAN et au LAN ; l'option 2 change l'adresse du LAN.

Par défaut, le LAN répond en 192.168.1.1. Changez-le tout de suite avec 2) Set interface IP address : choisissez LAN, adresse 10.10.10.1, masque 24, pas de passerelle, et acceptez d'activer le serveur DHCP sur le LAN (plage 10.10.10.100 à 10.10.10.199) pour obtenir une adresse sur votre poste d'administration.

Branchez votre poste sur le réseau ADMIN et ouvrez https://10.10.10.1. Acceptez l'avertissement du certificat autosigné et connectez-vous en root.

3. L'assistant de démarrage

L'assistant se lance à la première connexion (sinon : System › Wizard).

Écran Réglage Valeur conseillée
General Hostname / Domain fw01 / lan.exemple.fr
General DNS servers Laisser vide : Unbound interrogera directement les serveurs racine. Ou renseigner des résolveurs de votre choix.
Time server Fuseau horaire Europe/Paris
WAN Type DHCP pour la plupart des box en bridge ; PPPoE si votre opérateur l'exige (identifiants fournis par l'opérateur)
WAN Block RFC1918 Private Networks Coché… sauf si votre WAN reçoit une adresse privée de la box (double NAT) : décochez alors, sinon rien ne passera
WAN Block bogon networks Coché
LAN Adresse Déjà réglée : 10.10.10.1/24
Root password Déjà défini à l'installation ; laissez vide pour le conserver

Ensuite :

  1. Renommez le LAN : Interfaces › [LAN], champ Description : ADMIN. Enregistrez et appliquez.
  2. Mettez à jour : System › Firmware › Status › Check for updates, puis installez et redémarrez si demandé.

4. Créer les VLAN

Déclarer les VLAN

Dans Interfaces › Devices › VLAN, cliquez sur + pour chaque VLAN : Parent igc1, VLAN tag 20, 30, 40, 50 puis 60, et une Description.

Liste des cinq VLAN créés sur igc1 : vlan0.20 BUREAUX, vlan0.30 SERVEURS, vlan0.40 IOT, vlan0.50 INVITES, vlan0.60 DMZ
Les cinq VLAN, tous portés par la carte reliée au switch.

Affecter et adresser chaque VLAN

  1. Interfaces › Assignments : dans la liste « New interface », choisissez vlan0.20, saisissez la description BUREAUX, cliquez sur +, puis Save. Répétez pour chaque VLAN.
  2. Ouvrez chaque nouvelle interface (menu Interfaces › [BUREAUX]…) et réglez-la comme ci-dessous, avec l'adresse du tableau de la section 1.
Interface BUREAUX : Enable et Lock cochés, Block private networks décoché, IPv4 Configuration Type Static IPv4, adresse 10.10.20.1/24
Repère 1 : adresse fixe. Repère 2 : l'adresse du pare-feu dans ce VLAN, qui sera la passerelle des appareils.

Régler le switch

Port du switch Mode VLAN non tagué (natif) VLAN tagués
Vers OPNsense (igc1) Trunk 10 (ADMIN) 20, 30, 40, 50, 60
Bornes Wi-Fi Trunk 10 (administration des bornes) 20, 40, 50 (un SSID par VLAN)
Hyperviseur Trunk 10 30, 60
Postes de bureau Access 20 —
Caméras Access 40 —
Interface d'administration du switch — VLAN 10 —

Voir comprendre les VLAN pour la différence entre ports tagués et non tagués.

5. DHCP et DNS

Depuis la version 26.1, Dnsmasq est le serveur DHCP par défaut des nouvelles installations, et Unbound reste le DNS.

DHCP avec Dnsmasq

  1. Services › Dnsmasq DNS & DHCP › General : cochez Enable, sélectionnez dans Interface les interfaces qui distribueront des adresses, cochez DHCP fqdn pour que les noms des appareils soient enregistrés, et réglez Listen port sur 53053 pour laisser le port 53 à Unbound.
  2. Services › Dnsmasq DNS & DHCP › DHCP ranges : une plage par interface.
Plages DHCP : ADMIN 100 à 199, BUREAUX 100 à 249, IOT 100 à 249, INVITES 10 à 250 ; pas de plage pour SERVEURS et DMZ
Les serveurs et la DMZ gardent des adresses fixes : pas de plage DHCP.
  1. Réservations pour les appareils qui doivent garder la même adresse (imprimantes, caméras) : Services › Dnsmasq DNS & DHCP › Hosts, avec le nom, l'adresse IP et l'adresse MAC.
  2. Si vous avez un domaine Active Directory, les postes du VLAN BUREAUX doivent utiliser les contrôleurs de domaine comme DNS. Dans Services › Dnsmasq DNS & DHCP › DHCP options, ajoutez l'option dns-server [6] sur l'interface BUREAUX, avec la valeur 10.10.30.10,10.10.30.11. Voir créer un domaine Active Directory.

DNS avec Unbound

Services › Unbound DNS › General : cochez Enable, choisissez dans Network Interfaces toutes les interfaces internes (pas le WAN), et cochez Enable DNSSEC Support.

  • Pour résoudre les noms des appareils enregistrés par Dnsmasq, ajoutez dans Services › Unbound DNS › Query Forwarding le domaine lan.exemple.fr vers le serveur 127.0.0.1, port 53053.
  • Pour chiffrer les requêtes vers Internet, déclarez des résolveurs dans Services › Unbound DNS › DNS over TLS.
  • Les listes de blocage (publicité, logiciels malveillants) s'activent dans Services › Unbound DNS › Blocklist.

6. Les alias

Les alias donnent un nom à des groupes d'adresses ou de ports. Créez-les dans Firewall › Aliases avant d'écrire les règles.

Alias RESEAUX_PRIVES, SRV_AD, SRV_FICHIERS, PORTS_AD, PORTS_WEB et DMZ_WEB avec leur contenu
Les alias rendent les règles lisibles et faciles à maintenir.
Alias Type Usage
RESEAUX_PRIVES Network(s) Utilisé inversé pour signifier « Internet seulement »
SRV_AD Host(s) Les contrôleurs de domaine
SRV_FICHIERS Host(s) Le serveur de fichiers
PORTS_AD Port(s) Les ports nécessaires à Active Directory (DNS, Kerberos, LDAP, SMB, RPC…)
PORTS_WEB Port(s) HTTP et HTTPS
DMZ_WEB Host(s) Le serveur web en DMZ, 10.10.60.10

7. Les règles, zone par zone

Comment OPNsense lit les règles

  • Les règles s'écrivent sur l'interface par laquelle le trafic entre : pour filtrer ce que les postes ont le droit de faire, on écrit dans l'onglet BUREAUX.
  • Elles sont évaluées de haut en bas, et la première qui correspond s'applique. Ce qui n'est autorisé par aucune règle est bloqué.
  • This Firewall désigne toutes les adresses du pare-feu lui-même, y compris son adresse WAN.
  • Depuis la version 26.7, la page Firewall › Rules est la nouvelle interface (MVC) : un sélecteur permet d'afficher les règles d'une interface. Après chaque modification, cliquez sur Apply.

BUREAUX

Six règles sur BUREAUX : DNS et NTP vers le pare-feu, blocage du reste vers le pare-feu, Active Directory, fichiers, DMZ en web, puis Internet uniquement
Repère 1 : le DNS est autorisé vers le pare-feu, puis tout autre accès au pare-feu est bloqué. Repère 2 : Internet, mais pas les autres réseaux internes.

La règle 2 empêche les postes d'atteindre l'interface d'administration du pare-feu, y compris par son adresse WAN publique, que la règle 6 laisserait sinon passer.

La règle 6 est la plus importante à bien écrire : destination RESEAUX_PRIVES avec la case Invert cochée, c'est-à-dire « tout sauf les réseaux privés ».

Formulaire de règle : Pass, interface BUREAUX, source BUREAUX net, destination RESEAUX_PRIVES avec Invert coché, description Internet uniquement
Repère 1 : la case Invert transforme « réseaux privés » en « tout sauf les réseaux privés ».

Les autres zones

Même logique pour chaque interface. [zone] net désigne le réseau de l'interface, [zone] address l'adresse du pare-feu sur cette interface.

Interface # Action Source Destination Port Rôle
ADMIN 1 Pass ADMIN net any any Les administrateurs vont partout
SERVEURS 1 Pass SERVEURS net This Firewall 53, 123 DNS et NTP
2 Block SERVEURS net This Firewall any
3 Pass SERVEURS net ! RESEAUX_PRIVES PORTS_WEB Mises à jour
IOT 1 Pass IOT net This Firewall 53, 123 DNS et NTP
2 Block IOT net This Firewall any
3 Pass IOT net ! RESEAUX_PRIVES PORTS_WEB Services en ligne des objets ; à resserrer appareil par appareil
INVITES 1 Pass INVITES net INVITES address 53 DNS
2 Block INVITES net This Firewall any
3 Pass INVITES net ! RESEAUX_PRIVES any Internet seulement
DMZ 1 Pass DMZ net DMZ address 53, 123 DNS et NTP
2 Block DMZ net This Firewall any
3 Pass DMZ net ! RESEAUX_PRIVES PORTS_WEB Mises à jour
WAN 1 Pass any DMZ_WEB 443 Site publié (section 8)
2 Pass any WAN address UDP 51820 VPN WireGuard (section 9)

Tout le reste est bloqué par la règle implicite : SERVEURS, IOT, INVITES et DMZ ne peuvent ouvrir aucune connexion vers les autres réseaux internes.

Les règles DHCP sont automatiques

Les échanges DHCP entre les appareils et Dnsmasq sont autorisés automatiquement sur les interfaces sélectionnées dans Dnsmasq : inutile d'écrire des règles pour eux.

Diffusion et découverte d'appareils

Les téléviseurs, enceintes et imprimantes se découvrent par mDNS, qui ne traverse pas les VLAN. Pour « caster » depuis les BUREAUX vers l'IOT, installez le plugin os-mdns-repeater (System › Firmware › Plugins) et autorisez les ports nécessaires de BUREAUX vers les appareils concernés, jamais l'inverse.

8. Publier un serveur en DMZ

Depuis la version 26.1, la redirection de ports s'appelle Destination NAT (Firewall › NAT › Destination NAT), et elle ne crée plus de règle de pare-feu associée : il faut écrire la règle WAN soi-même.

Destination NAT : interface WAN, TCP, destination WAN address port 443, redirigé vers DMZ_WEB port 443
Repère 1 : la cible de la redirection, le serveur web en DMZ.
  1. Créez la redirection : WAN, TCP, destination WAN address port 443, redirection vers DMZ_WEB port 443.
  2. Créez la règle sur l'interface WAN : Pass, TCP, source any, destination DMZ_WEB, port 443 (règle 1 du tableau WAN). La règle porte sur l'adresse après traduction, celle du serveur.
  3. Pour que les postes internes joignent le site par son nom public, ne comptez pas sur la réflexion NAT : ajoutez un Host override dans Services › Unbound DNS › Overrides qui donne directement 10.10.60.10 pour www.exemple.fr.

Si plusieurs sites partagent le port 443, publiez un proxy inverse en DMZ (Caddy, Traefik, Nginx Proxy Manager, ou le plugin HAProxy d'OPNsense) qui répartit selon le nom demandé.

9. Sécuriser le pare-feu lui-même

Limiter l'accès à l'interface

System › Settings › Administration :

Paramètres d'administration : HTTPS port 443, Listen Interfaces ADMIN et WG_NOMADES, Disable anti-lockout coché, SSH désactivé
Repère 1 : l'interface web n'écoute que sur ADMIN et le VPN. Repère 2 : l'anti-blocage se désactive en dernier.
  1. Listen Interfaces : ADMIN et l'interface WireGuard uniquement.
  2. HTTP Redirect décoché, Secure Shell désactivé (ou limité à ADMIN avec des clés).
  3. La règle anti-lockout autorise toujours l'accès à l'interface depuis le LAN d'origine. Ne la désactivez qu'après avoir vérifié que la règle ADMIN (« Pass ADMIN net → any ») fonctionne, depuis un autre onglet.
  4. Double authentification : System › Access › Servers, ajoutez un serveur de type Local + Timebased One Time Password, puis générez le secret TOTP de chaque compte dans System › Access › Users. Basculez l'authentification de l'interface sur ce serveur dans System › Settings › Administration. Voir la double authentification.
  5. Créez un compte nominatif (par exemple spo) avec les droits d'administration, et réservez root aux urgences.

VPN WireGuard pour les nomades

  1. VPN › WireGuard › Instances, + : nom nomades, port 51820, adresse de tunnel 10.10.99.1/24. Enregistrez, rouvrez l'instance et générez la paire de clés avec la roue dentée.
Instance WireGuard nomades : port 51820, tunnel 10.10.99.1/24, pairs pc-spo et tel-spo
Repère 1 : le réseau du tunnel, distinct de tous les réseaux internes.
  1. VPN › WireGuard › Peers, + : un pair par appareil (pc-spo en 10.10.99.2/32, tel-spo en 10.10.99.3/32) avec la clé publique de l'appareil. Le Peer generator fait tout en une fois et produit un QR code pour le téléphone.
  2. Ajoutez les pairs à l'instance, puis activez WireGuard dans VPN › WireGuard › General.
  3. Interfaces › Assignments : affectez wg0 sous le nom WG_NOMADES, activez-la, cochez Lock, sans adresse IP.
  4. Règle WAN : Pass, UDP, destination WAN address, port 51820.
  5. Règles WG_NOMADES : par exemple Pass WG_NOMADES net → SERVEURS net (ports utiles) et → ADMIN net pour les administrateurs.

Configuration du client (application WireGuard officielle) :

[Interface]
PrivateKey = <clé privée de l'appareil>
Address = 10.10.99.2/32
DNS = 10.10.99.1

[Peer]
PublicKey = <clé publique de l'instance nomades>
Endpoint = vpn.exemple.fr:51820
AllowedIPs = 10.10.0.0/16
PersistentKeepalive = 25

AllowedIPs = 10.10.0.0/16 n'envoie dans le tunnel que le trafic vers les réseaux de l'entreprise. Mettez 0.0.0.0/0 pour y faire passer tout le trafic, en ajoutant alors une règle de NAT sortant pour le réseau du tunnel. Voir aussi l'accès à distance.

Détection d'intrusion (facultatif)

Services › Intrusion Detection › Administration : activez le service, choisissez l'interface WAN, téléchargez les jeux de règles (onglet Download, par exemple ET open), et commencez en mode détection seule quelques semaines avant de passer en blocage (IPS mode). La détection consomme du processeur : surveillez la charge.

Sauvegarder et mettre à jour

  • System › Configuration › Backups : téléchargez la configuration (fichier XML), chiffrée avec un mot de passe, après chaque modification importante. Le plugin os-git-backup l'envoie automatiquement vers un dépôt Git privé.
  • System › Firmware : appliquez les mises à jour mineures dès leur sortie (plusieurs par mois), et attendez quelques jours pour les versions majeures (janvier et juillet), le temps des premiers correctifs.
  • La console (option 13) Restore a backup) permet de restaurer une configuration sur une installation neuve en quelques minutes.

10. Tester

Ne supposez pas que les règles fonctionnent : vérifiez-les depuis chaque zone.

Depuis Test Résultat attendu
BUREAUX nslookup www.exemple.fr puis ouvrir un site web Fonctionne
BUREAUX Ouvrir https://10.10.10.1 Échoue (délai dépassé)
BUREAUX Test-NetConnection 10.10.30.20 -Port 445 TcpTestSucceeded : True
INVITES ping 10.10.20.1 puis ping 10.10.30.10 Échoue
IOT Joindre un poste des BUREAUX Échoue
DMZ curl -I https://www.debian.org Fonctionne
DMZ nc -zv 10.10.30.10 445 Échoue
Internet (4G) https://www.exemple.fr Le site de la DMZ répond
Internet (4G) Scanner l'adresse publique (nmap -Pn depuis une machine extérieure) Seuls 443/TCP et 51820/UDP répondent

Les blocages sont visibles en direct dans Firewall › Log Files › Live View, avec un filtre sur l'interface ou l'adresse.

11. En cas de problème

Symptôme Cause probable Solution
Plus d'accès à l'interface web Anti-blocage désactivé trop tôt, ou mauvaise règle ADMIN Depuis la console : 8) Shell, puis pfctl -d désactive le filtrage le temps de corriger ; pfctl -e le réactive
Rien ne sort sur Internet WAN avec adresse privée et « Block private networks » coché Décocher l'option sur le WAN en cas de double NAT
Un VLAN n'obtient pas d'adresse Port du switch mal tagué, ou interface absente de Dnsmasq Vérifier le trunk et le VLAN natif ; sélectionner l'interface dans Dnsmasq
Les noms internes ne se résolvent pas Unbound ne transmet pas le domaine local à Dnsmasq Query Forwarding vers 127.0.0.1:53053
La redirection de port ne répond pas Règle WAN manquante (non créée automatiquement depuis 26.1) Ajouter la règle Pass vers l'adresse du serveur
Le VPN se connecte mais rien ne passe Pas de règle sur WG_NOMADES, ou AllowedIPs incomplet Ajouter les règles ; vérifier AllowedIPs côté client

12. Liste de contrôle

Point Fait ?
OPNsense installé en ZFS, à jour, mot de passe root rangé ☐
LAN renommé ADMIN en 10.10.10.1/24, VLAN 20 à 60 créés, affectés et adressés ☐
Switch configuré : trunk vers le pare-feu, VLAN natif 10, ports access par zone ☐
Dnsmasq distribue les adresses, Unbound résout et transmet le domaine local ☐
Alias créés avant les règles ☐
Règles écrites zone par zone selon la matrice des flux, avec descriptions ☐
Accès au pare-feu bloqué depuis BUREAUX, SERVEURS, IOT, INVITES et DMZ ☐
Redirection Destination NAT et règle WAN pour le seul serveur publié ☐
Interface d'administration limitée à ADMIN et au VPN, double authentification active ☐
VPN WireGuard opérationnel avec un pair par appareil ☐
Configuration sauvegardée, chiffrée, hors du pare-feu ☐
Tests réalisés depuis chaque zone et depuis Internet ☐

À lire aussi