Dans le tutoriel précédent, je vous ai montré comment réaliser la configuration initiale de pfSense en mode graphique, avec quelques notions de dépannage et de configuration en mode texte.
Aujourd’hui, nous allons passer à l’étape suivante : la mise en place de VLANs sur pfSense.
Pourquoi est-ce important ? Parce qu’un réseau unique où tout le monde est mélangé n’est ni pratique ni sécurisé. Les VLAN permettent de diviser le réseau en segments logiques (IT, comptabilité, employés, etc.) et d’appliquer des règles de sécurité adaptées à chaque usage.
Avec cette approche, il est aussi possible de créer une zone DMZ pour héberger des serveurs accessibles depuis Internet, ou encore un réseau séparé pour les clients/visiteurs, totalement isolé du réseau de l’entreprise. Tout cela peut fonctionner en utilisant un seul port LAN de pfSense, à condition de le relier à un switch L2 capable de gérer le 802.1Q (VLAN tagging).
C’est une fonctionnalité qu’on retrouve dans toutes les entreprises, mais qui peut être tout aussi utile dans une petite structure ou même dans un labo d’apprentissage.
Et surtout, dans ce tutoriel je vais utiliser pfSense, une solution open source qui joue le rôle de routeur/pare-feu professionnel — une excellente alternative gratuite face aux solutions propriétaires comme Cisco.
Prérequis
pfSense est déjà installé et la configuration de base a été effectuée.
Le LAN actuel est en 192.168.1.1/24 avec un serveur DHCP actif (ou une autre adresse, peu importe, du moment qu’elle est différente des adresses que nous allons attribuer aux VLANs afin d’éviter les conflits).
Switch L2, je vais utiliser Cisco 2960
Objectif
Nous allons utiliser le réseau 172.16.1.0/24 et le découper en trois VLANs :
VLAN 10 – IT : 62 adresses (pfSense sera la passerelle de ce VLAN).
VLAN 20 – Comptabilité : 62 adresses.
VLAN 30 – Employés : 124 adresses (toutes les adresses restantes).
Étape 1 : Créer les VLAN
Premièrement il faut créer 3 VLAN sur l’interface physique LAN (par ex. ue0, vtnet1, ou em0 selon installation).
Dans le webGUI, aller dans Interfaces > Assignments > VLAN.
Cliquer sur Add pour créer chaque VLAN:
– Nom VLAN: VLAN10_IT
– Parent interface : LAN (ex. ue0)
– VLAN tag : 10
Pour VLAN 20
– Nom VLAN: VLAN20_Compta
– Parent interface : LAN (ex. ue0)
– VLAN tag : 20
Pour VLAN 30
– Nom VLAN: VLAN30_Employes
– Parent interface : LAN (ex. ue0)
– VLAN tag : 30
Étape 2 : Assigner les VLAN comme interfaces
Aller dans Interfaces > Assignments.
Ajouter chaque VLAN créé → ils apparaissent comme OPT1, OPT2, OPT3.
À ce stade, les VLANs existent dans pfSense, mais ils ne sont pas encore configurés. La prochaine étape sera de leur attribuer une adresse IP et d’activer le DHCP.
Étape 3 : Définir les adresses IP des VLAN
Attribuer une adresse IP à chaque VLAN, à l’intérieur du réseau 172.16.1.0/24, en le découpant en blocs 25 % / 25 % / 50 %.
Plan d’adressage :
– VLAN 10 (IT) – 25 % : 172.16.1.0/26 (64 adresses)
pfSense = 172.16.1.1
DHCP = 172.16.1.20 – 172.16.1.60
– VLAN 20 (Comptabilité) – 25 % : 172.16.1.64/26 (64 adresses)
pfSense = 172.16.1.65
DHCP = 172.16.1.66 – 172.16.1.120
– VLAN 30 (Employés) – 50 % : 172.16.1.128/25 (128 adresses)
pfSense = 172.16.1.129
DHCP = 172.16.1.130 – 172.16.1.250
Configuration dans pfSense :
Pour chaque interface VLAN (Interfaces > OPT1, OPT2, OPT3) :
- Activer l’interface.
- Lui donner l’adresse IP indiquée ci-dessus (selon le VLAN).
- Décocher les options Block private networks et Block bogon networks.
Ces options sont utiles uniquement sur l’interface WAN afin de bloquer automatiquement le trafic provenant de réseaux privés (RFC1918) ou de plages bogon (adresses non attribuées sur Internet), mais sur les interfaces LAN/VLAN internes ce trafic est légitime puisque nous utilisons justement des adresses privées 172.16.x.x ; si on laisse ces cases cochées, pfSense risque alors de bloquer les communications internes du VLAN. - Sauvegarder et appliquer.
Étape 4 : Activer le DHCP sur chaque VLAN
Aller dans Services > DHCP Server et activer pour chaque interface :
- VLAN10_IT : Range 172.16.1.20 – 172.16.1.60
- VLAN20_Compta : Range 172.16.1.66 – 172.16.1.120
- VLAN30_Employes : Range 172.16.1.130 – 172.16.1.250
Cliquer sur Save puis Apply Changes.
Et dans la section Server Options, il faut aussi définir le serveur DNS pour chaque réseau VLAN.
Dans mon cas, j’utilise des serveurs DNS publics comme 1.1.1.1 (Cloudflare) et 8.8.8.8 (Google).
Mais si vous préférez utiliser votre propre serveur DNS installé dans votre réseau privé (par exemple sur Windows ou Linux), vous pourrez modifier cette option plus tard pour que les clients du VLAN utilisent directement ce serveur interne.
⚠️ Sans configuration de DNS, les machines pourront uniquement pinguer des adresses IP sur Internet, mais pas résoudre de noms de domaine (par ex. google.com), ce qui revient à dire qu’Internet ne fonctionnera pas réellement.
Étape 5 : Règles Firewall
Par défaut, aucun trafic ne circule entre VLAN.
Aller dans Firewall > Rules.
Pour chaque VLAN (VLAN10_IT, VLAN20_Compta, VLAN30_Employes) → ajouter une règle :
- Action : Pass
- Source : [réseau du VLAN]
- Destination : Any
- Sauvegarder et Appliquer
Cela permet aux machines de chaque VLAN d’accéder à Internet via le pare-feu.
Pour des raisons de test, on commence par une règle “tout autoriser”. Dans un environnement de production, il faudra affiner la configuration.
Par la suite, tu pourras préciser : bloquer l’accès entre VLAN, autoriser seulement certains services (DNS, HTTP/HTTPS), ou définir des restrictions horaires.
👉 Dans l’interface pfSense, pour ajouter une règle clique sur Add : la flèche vers le bas suffit (la règle sera ajoutée à la fin), la flèche vers le haut sert uniquement si tu veux placer la règle en tout premier dans la liste.
Étape 6 : Préparer le switch L2
Pour que les VLAN fonctionnent, il faut connecter le switch L2 au port LAN de pfSense.
Ensuite, il est nécessaire de :
- créer les VLAN sur le switch ;
- configurer le port trunk vers pfSense ;
- configurer les ports access pour les clients et leur attribuer le VLAN correspondant.
Pour la démonstration, j’utilise l’affectation suivante :
- Gi0/1 → trunk (uplink vers pfSense)
- Gi0/2 → VLAN10 (IT)
- Gi0/3 → VLAN20 (Comptabilité)
- Gi0/4 → VLAN30 (Employés)
Configuration du switch Cisco 2960 :
Créer les VLAN
conf t vlan 10 name IT vlan 20 name Compt vlan 30 name Empl exit
Configurer l’uplink vers pfSense
interface gi0/1 description Uplink-to-pfSense switchport mode trunk switchport trunk allowed vlan 10,20,30 exit
Configurer les ports d’accès
interface gi0/2 description IT switchport mode access switchport access vlan 10 exit interface gi0/3 description Compt switchport mode access switchport access vlan 20 exit interface gi0/4 description Empl switchport mode access switchport access vlan 30 exit end write memory
Étape 7 : Vérification
Pour tester, j’ai connecté mon laptop sur un port du switch configuré en VLAN 10 (IT).
Le poste a bien reçu une adresse IP via DHCP dans la plage 172.16.1.20 – 172.16.1.60, avec comme passerelle 172.16.1.1.
👉 Cela confirme que :
- le trunk entre pfSense et le switch fonctionne,
- le DHCP est opérationnel sur le VLAN10,
- le routage vers Internet est assuré par pfSense.
Vérification de l’accès Internet
Pour valider la configuration, connectez un poste client dans chaque VLAN et testez la connectivité :
ping google.com
Si la résolution DNS et le routage fonctionnent correctement, vous devriez obtenir des réponses.
Après toutes les configurations, il est conseillé de laisser l’interface LAN activée mais sans la raccorder au switch. De cette façon, tout le trafic passera uniquement par les VLAN, tandis que l’interface LAN restera disponible comme accès de secours direct au pare-feu en cas de problème avec la configuration.
Pour plus de sécurité, il est recommandé de bloquer tout accès à ce réseau depuis le switch, afin qu’aucun client ne puisse l’utiliser directement.
Voilà, les VLANs sont maintenant configurés sur pfSense et reliés au switch. Chaque réseau (IT, Comptabilité, Employés) dispose de sa propre plage d’adresses, de son serveur DHCP et d’un accès Internet sécurisé via le pare-feu.
Bonne chance!