Provya

Sécurité et téléphonie

Articles & Tutoriaux  -  Liens & Actualités

[pfSense] Configurer ses VLAN

icon 18/05/2016

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



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
Attention : cette interface physique ne doit pas avoir d'interface logique d'associée, autrement les VLAN ne fonctionneront pas correctement. Nous vous invitons à (re)lire l'article [pfSense] Comprendre la gestion des interfaces réseaux pour bien comprendre ce qu'est une interface physique, une interface virtuelle ou une interface logique.

Cela signifie que soit ce VLAN doit être associé à une interface physique différente de l'interface physique déjà associée à l'interface logique "LAN", soit qu'il faut supprimer l'interface logique "LAN" pour ne créer que des VLANs pour le réseau local.
Nous insistons sur le fait que pour un bon fonctionnement, il est indispensable que le VLAN soit associé à une interface physique qui ne soit pas déjà associée à une interface logique.
  1. VLAN tag : l'ID du VLAN (la valeur doit être comprise entre 1 et 4094)
  2. VLAN Priority : la priorité à appliquer au VLAN (la valeur doit être comprise entre 0 et 7)
  3. 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.
La principale subtilité à connaître est de ne pas configurer les VLAN sur la même interface physique que le LAN.



Pour aller plus loin

[pfSense] Comprendre la gestion des interfaces réseaux
[pfSense] Configurer son serveur DHCP


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

icon Tags de l'article :

16 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

icon Flux RSS des commentaires de cet article