Configuration VLAN sur pfSense

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) :

  1. Activer l’interface.
  2. Lui donner l’adresse IP indiquée ci-dessus (selon le VLAN).
  3. 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.
  4. 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!