Provya

Expertise pfSense

Sommaire des articles  -  Liens & Actualités  -  Firewall pour pfSense

[pfSense] Configurer ses VLAN

icon 18/05/2019

Dans cet article, nous allons voir comment configurer ses VLAN avec pfSense. Nous aborderons la terminologie associée (trunk port, tagged / untagged port, etc.), puis nous prendrons un exemple concret de configuration de VLAN.



Intérêt des VLAN


L'utilisation de VLAN apporte un certain nombre d'avantages que nous ne détaillerons pas ici. Pour une bonne compréhension des VLAN, nous proposons la lecture de l'article VLAN - Réseaux virtuels sur commentcamarche.net

Les utilisations principales de VLAN sont :
  • séparation logique des réseaux Voix & Data
  • séparation logique des services d'une entreprise
  • mise en place d'un réseau invité différent du réseau local



Mode de fonctionnement des VLAN


Lorsque nous créons un VLAN, nous définissons deux éléments :
  • le subnet associé (ex : 192.168.1.0/24)
  • l'ID du VLAN (allant de 1 à 4094)

Les terminaux se trouvant sur un VLAN ne pourront communiquer qu'avec les autres terminaux se trouvant sur le même VLAN. S'ils souhaitent communiquer avec les terminaux d'un autre VLAN, les paquets passeront par pfSense. Cela nous permet de configurer au niveau de pfSense des règles fines de filtrage d'un VLAN à un autre.
Il est à noter que le routage d'un VLAN à l'autre peut également se faire au niveau du switch via la mise en place d'ACL (cas que nous n'aborderons pas dans le présent article).

Les VLANs doivent être déclarés et configurés côté pfSense d'une part, et sur les switches d'autre part (qui doivent bien-sûr être des switches supportant les VLAN).
La configuration des switches est le point le plus délicat. La terminologie employée n'étant pas toujours la même chez les constructeurs.



Terminologie


Lorsque nous souhaitons configurer les VLAN sur notre switch, nous avons deux possibilités de configuration :

  • tagged port (= trunk port chez Cisco)
  • untagged port (= access port chez Cisco)


Tagged port


Un port de switch configuré en "tagged" signifie que l'équipement branché derrière est capable de traiter les tags 802.1q et qu'il est configuré pour les traiter. C'est-à-dire qu'il faudra indiquer dans la configuration de l'équipement qu'il doit marquer ses paquets réseau avec son VLAN d'appartenance.


Untagged port


Un port de switch configuré en "untagged" signifie que la notion de VLAN est totalement transparente pour l'équipement branché derrière. C'est-à-dire qu'il ignore son VLAN de rattachement. C'est le switch qui utilise l'id VLAN associé pour son traitement interne pour la distribution des paquets sur ses ports. Les paquets ne sont pas taggués 802.1q en entrée et sortie des ports du switch configurés en "untagged".

Un switch ne peut avoir sur un port donné qu'un seul VLAN configuré en "untagged" (access). Il peut y avoir, sur ce même port, plusieurs VLANs configurés en "tagged" (trunk).



Cas concret : séparation VLAN voix / VLAN data


Un cas concret et classique d'utilisation des VLAN va être de séparer le réseau VoIP du réseau Data.

Nous prendrons l'exemple du réseau local suivant :

  • pfSense fait office de routeur/firewall et de serveur DHCP pour l'ensemble des VLAN
  • Les ordinateurs (et tous les autres équipements sauf téléphones) disposent d'une adresse IP sur la plage 192.168.1.0/24 - VLAN 10 (ce sera notre VLAN par défaut - configuré en untagged)
  • Les postes téléphoniques disposent d'une adresse IP sur la plage 192.18.2.0/24 - VLAN 20 (VLAN dédié à la téléphonie - configuré en tagged)
  • Le switch de cœur de réseau est un switch supportant les VLAN
  • Tous les ordinateurs sont branchés derrière un téléphone. C'est-à-dire que sur chaque port du switch il y aura généralement deux équipements branchés : un téléphone (dans le VLAN 20) et un ordinateur (VLAN 10) branché derrière

Le schéma réseau est le suivant :

Schéma réseau




Configuration du pfSense


Sur le pfSense, nous configurerons donc deux VLANs :
  • VLAN "LAN Data"
  • VLAN "LAN VoIP"

Pour commencer, nous allons dans le menu "Interface" > "(assign)" :

menu Interfaces > Assignments


Puis, nous nous rendons dans l'onglet "VLANs" et cliquons sur l'icône en forme de "+" se trouvant en bas à droite.

Les éléments de configurations sont les suivants :

  1. Parent interface : l'interface physique à laquelle sera rattachée le VLAN
  2. VLAN tag : l'ID du VLAN (la valeur doit être comprise entre 1 et 4094)
  3. VLAN Priority : la priorité à appliquer au VLAN (la valeur doit être comprise entre 0 et 7)
  4. Description : champ optionnel de description du VLAN

Exemple de résultat obtenu :

Configuration VLAN pfSense


Et une fois nos deux VLANs créés, nous disposons de deux interfaces virtuelles :

Exemples VLAN pfSense


Afin de configurer nos VLANs, nous devons maintenant associer ces interfaces virtuelles à des interfaces logiques.
Pour cela, nous retournons dans l'onglet "Interface assignments", puis nous cliquons sur l'icône en forme de "+" se trouvant un bas à droite afin d'ajouter une nouvelle interface logique.

Par défaut, l'interface logique créée porte le nom "OPT1" (ou OPT2, OPT3, etc.). Nous associons cette interface logique à l'interface virtuelle du VLAN que nous avons créée précédemment :

Création interface logique pfSense


Pour modifier l'interface logique créée (et la renommer), nous cliquons sur son nom. Les éléments de configuration sont les suivants :

  1. Enable Interface : cocher cette case pour activer l'interface
  2. Description : nom de l'interface
  3. IPv4 Configuration Type : la configuration IPv4 de cette interface. Dans notre cas, nous choisissons "Static IPv4"
  4. IPv6 Configuration Type : la configuration IPv6 de cette interface. Dans notre cas, nous choisissons "None"
  5. MAC controls : par défaut, c'est l'adresse MAC de l'interface physique qui est utilisée. Elle peut être personnalisée ici
  6. MTU : la MTU pour cette interface. 1500 octets par défaut
  7. MSS : "Maximum Segment Size", devrait être inférieur au MTU. Nous laissons vide
  8. Speed and duplex : nous laissons le choix par défaut

Enfin, nous appliquons les paramètre de configuration IP (adresse IP de l'interface et masque réseau associé).
Exemple de résultat obtenu :

Configuration interface logique pfSense


Sur cette interface, nous activons le service DHCP. Pour davantage de détails sur la manière de procéder pour l'activation du service DHCP, se référer à notre article dédié : [pfSense] Configurer son serveur DHCP.

Enfin, nous créons une règle de firewall sur notre nouvelle interface logique ("VLAN_voix") afin d'autoriser le trafic.

La configuration côté pfSense est terminée. Il reste à procéder à la configuration côté Switch.



Configuration du Switch


La configuration des VLAN sur le switch dépend du constructeur. Cependant, les étapes à suivre seront toujours les mêmes :

  1. Déclaration des VLAN sur le switch - sur la plupart des switches, il faut déclarer les VLANs avant de pouvoir les configurer sur n'importe quel port (dans notre cas, nous déclarons 2 VLAN : vlan_data avec l'ID 10 et vlan_voix avec l'ID 20)
  2. Configuration du port du switch sur lequel est branché le pfSense en mode trunk (ou tagged) sur les VLAN 10 et 20
  3. Configurer les ports du switch sur lesquels seront branchés les PC en mode access (ou untagged) - dans notre cas sur le VLAN 10
  4. Configurer les ports du switch sur lesquels seront branchés les téléphones en mode trunk (ou tagged) - dans notre cas sur le VLAN 20

Exemple sur un switch Cisco :

Déclaration des VLANs :
sw# vlan database
sw(vlan)# vlan 10 name "vlan_data"
sw(vlan)# vlan 20 name "vlan_voix"
sw(vlan)# exit

Configuration du port trunk :
sw# configure terminal
sw(config)# interface FastEthernet0/24
sw(config-if)# switchport mode trunk

Ajouter les ports au VLAN :
sw# configure terminal
sw(config)# interface FastEthernet0/12
sw(config-if)# switchport mode access
sw(config-if)# switchport access vlan 20


Nos VLANs sont configurés et prêts à fonctionner.



Peut-on configurer un VLAN sur le port LAN ?


Réponse succincte : oui.

Sur les anciennes versions de pfSense (antérieures à la version 2.4.5), il était très fortement recommandé par l'éditeur de ne pas configurer un VLAN sur un port réseau qui était déjà associé à une interface logique.
Si les notions de port réseau, interface physique, interface virtuelle et interface logique ne vous sont pas familières, nous vous invitons à consulter notre article [pfSense] Comprendre la gestion des interfaces réseaux.

Cette configuration entraînait des anomalies de fonctionnement pour un certain nombre de services (dont le portail captif).

Ce n'est plus du tout le cas aujourd'hui. On peut donc tout à fait configurer ses VLAN sur un port réseau déjà associé à une interface logique !



Pour aller plus loin


[pfSense] Comprendre la gestion des interfaces réseaux
[pfSense] Configurer son serveur DHCP
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez un support professionnel ? Alors contactez-nous.


Retrouvez nos services et firewall pour pfSense & OPNsense



Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Soho pour pfSense et OPNsense         Firewall pro-Maxi pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :

21 commentaires

nla - 23/10/2017 à 16:46:42

j'ai un switch layer 2, c'est pas suffisant pour faire des vlan au niveau du pfsense, le type de switch, c'est un switch cisco WS-CE500-24TT IOS 12.2(25)SEG6, il supporte jusqu'a 32 VLAN (sur pfsense j'ai configuré lan et vlan sur la meme carte réseau),

@répondre #lien

Guillaume - 02/11/2017 à 09:58:46

@nla : Bonjour,
Votre switch supporte bien les VLAN.
Comme indiqué dans l'article, il ne faut pas créer vos VLAN sur une interface physique déjà associée à une interface logique. Y'en a qu'ont essayé, ils ont eu des problèmes... ;-)

Cordialement,

Guillaume
--
Provya

@répondre #lien

nla - 02/11/2017 à 11:36:13

@Guillaume :

Bonjour,

merci pour ces informations, mais pour le CE500 je pense que c'est un switch layer 2, vous trouveerez sur le lien les spécifications de ce serveur [https://newsroom.cisco.com/dlls/2005/eKits/cisco_catalyst_express_500_series_switches.pdf] dans le cas d'un switch layer 2, peut on utiliser les vlan sur pfsense ?

@répondre #lien

nla - 23/11/2017 à 11:03:19

@Guillaume :

Bonjour,

merci pour ces informations, je veux savoir comment faire le InterVlanRouting, par exemple je veux pas qu'un vlan visiteur peut router les autres Vlan a partir de ce dernier (Vlan visiteur)

@répondre #lien

Guillaume - 23/11/2017 à 11:14:23

@nla :
Bonjour,

Cela se définit au niveau du pfSense comme n'importe quelle règle de filtrage, ou au niveau de votre switch par la mise en place d'ACL (ce que nous déconseillons).

Cordialement,

Guillaume
--
Provya

@répondre #lien

Alexis BC - 20/03/2018 à 16:09:55

Bonjour,

J'ai quelques petits soucis avec le DHCP configuré sur une interface virtuelle pour un VLAN.

Je virtualise pfsense sur une machine avec VMWare.
J'ai deux interfaces physiques qui sont en bridge pour les besoins de la production :
- 1 interface physique pour WAN en DHCP ;
- 1 interface physique pour LAN en ip statique ;

J'ai créé mon VLAN, je l'ai associé à mon interface parent "LAN". J'ai configuré l'interface pour le VLAN et activé le DHCP. Afin de tester le bon fonctionnement, j'ai donc branché mon interface physique LAN sur un port d'un switch Cisco. Ce port en mode Trunk (tous les vlan sont autorisés). Puis j'ai pris une seconde machine physique (client 1) que j'ai relié à un autre port du switch. Cette fois ci j'ai tagué mon port avec le numéro du VLAN correspondant. Et c'est à ce moment-ci que rien ne fonctionne. J'ai effectué une capture de trame, la carte réseau de mon client 1 envoi un DHCP Discover, mais aucune réponse.

J'ai lu beaucoup de choses à propos de la configuration des VLAN: il ne faut pas configurer l'interface physique du LAN mais seulement associé les VLAN à l’interface physique; d'autre configure l'interface physique du LAN et ajoute les VLAN.

Pouvez-vous m'éclairer ?

@répondre #lien

Guillaume - 21/03/2018 à 14:00:08

@Alexis BC :
Bonjour Alexis,

Comme écrit dans l'article, il ne faut pas associer interface logique et VLAN à une même interface physique. Sinon, cela crée des problèmes et c'est une configuration officiellement non-supportée par pfSense (la documentation est très claire sur le sujet).

Respectez ce pré-requis et vous verrez que ça fonctionne sans problème.

Cordialement,

Guillaume
--
Provya

@répondre #lien

Tap - 05/04/2018 à 20:25:36

Salut !
Très bonne article merci !

Cependant je ne comprends pas tous...
Tu dis: "il est indispensable que le VLAN soit associé à une interface physique qui ne soit pas déjà associée à une interface logique."

Je fais comment pour accéder à l'interface de configuration si elle ne doit pas être utilisée afin de lui affecter mes deux VLANs ?
En effet, je possède deux interfaces, WAN et LAN, et cette dernière me permet d'accéder à la configuration de mon routeur.

Autre petite question au niveau du switch : je n'ai pas besoin d'affecter mes adresses IP à mes VLANs, celle du pfSense sont directement reconnues par le switch ?

Merci

@répondre #lien

Guillaume - 08/04/2018 à 08:54:38

@Tap :
Bonjour,

Vous pouvez ouvrir temporairement l'interface d'administration sur le WAN. Pour plus de sécurité, vous pouvez durant le même temps couper l'accès Internet.

Je ne pense pas avoir compris votre question sur l'affectation des adresses IP aux VLANs. Pouvez-vous préciser ?

Cordialement,

Guillaume
--
Provya

@répondre #lien

Bertrand - 18/04/2018 à 11:46:31

Bonjour

Je ne suis pas un expert de pfsense (c'est dit). Mes questions sont les suivantes :

J'ai des switchs qui font du niveau 2 et je souhaiterais que PFSENSE fasse le niveau 3, Est ce possible?
Je voudrait implémenter le 802.1x, est il supporté par Pfsense?
Merci
Cordialement
Bertrand

@répondre #lien

Guillaume - 20/04/2018 à 07:42:54

@Bertrand :
Bonjour Bertrand,

C'est la fonction première de pfSense : routeur-firewall. Donc, la réponse est oui pour le niveau 3.

802.1X est supporté par pfSense.

Cordialement,

Guillaume
--
Provya

@répondre #lien

Intra1910 - 17/07/2018 à 22:22:02

Bonjour, je n'arrive pas à faire communiquer 2 VLANs entre eux qui sont donc deux interfaces, mais qui sont tous les deux sur bce1 (re1 dans ton exemple).

Comment faire s'il te plaît ?

Les règles sur ces deux VLANs sont pourtant bonnes...


Merci beaucoup !

@répondre #lien

Guillaume - 18/07/2018 à 13:58:22

@Intra1910 :
Bonjour,

Vous devriez vérifier la configuration de votre switch (vos vlan sont-ils correctement configurés dessus ?) ainsi que vous ayez bien ajouté une règle de firewall permettant à vos deux vlan de communiquer entre eux.

Si après ces vérifications, ça ne fonctionne toujours pas, je vous invite à poster directement sur le forum officiel pfSense dans la section francophone : https://forum.netgate.com/.

Cordialement,

Guillaume
--
Provya

@répondre #lien

Intra1910 - 18/07/2018 à 14:12:28

@Guillaume :
Merci de ta réponse ! :)

Au final, c'était la passerelle du poste d'un des VLAN qui était mal renseignée ^^

@répondre #lien

pietro - 23/11/2018 à 18:41:43

Bonjour,
En terme de bande passante comment ca se passe avec une carte physique sur 2 vlan?
Il y a t il une perte de vitesse sur Re1.
J'aurais précisé que le pfsense comporte 2 cartes reseaux physiques Re0 coté WAN (à préciser sur le schéma) et une seule coté LAN (re1) divisée en 2 carte virtuels

@répondre #lien

Guillaume - 26/11/2018 à 09:42:07

@pietro :
Bonjour,

Si votre carte supporte un débit de 1 Gbps par exemple, alors c'est le débit maximum total que vous aurez pour l'ensemble des VLAN configurés sur cette carte réseau.

Cordialement,

Guillaume
--
Provya

@répondre #lien

Pascal MELOT - 24/10/2020 à 13:54:10

bonjour, merci pour vos tutos super bien faits. Ici, j'ai une question : comment un PC (vlan10) peut-il être branché en cascade derrière un tel (vlan20), si le port du switch est en mode access sur un seul des deux vlan ? pour ce mode de fonctionnement ne faut il pas que le port sw soit en mode taggé avec les deux vlan ? (et dans ce cas j'imaginerais que le téléphone doit faire le "detag"). Qu'en dites vous ?

@répondre #lien

Guillaume - 25/10/2020 à 10:34:09

@Pascal MELOT :
Bonjour Pascal,

Dans le cas d'un PC branché derrière un téléphone, il faut déclarer les deux VLAN sur le port du switch.
Dans l'univers Cisco, la configuration ressemblera à ceci :

sw# configure terminal
sw(config)# interface FastEthernet0/12
sw(config-if)# switchport mode access
sw(config-if)# switchport access vlan 10
sw(config-if)# switchport voice vlan 20

Le port 12 est en mode "access" sur le VLAN 10 et vous déclarez le VLAN 20 comme étant le VLAN "voice". Ensuite, il faut soit forcer le VLAN 20 dans la configuration du téléphone, soit configurer le protocole LLDP sur votre switch.

Si vous n'utilisez pas du Cisco, sur votre switch, il faut configurer le port en "tagged" pour le VLAN 20 et en "untagged" pour le VLAN 10.

Cordialement,

Guillaume
--
Provya

@répondre #lien

icon Flux RSS des commentaires de cet article