Back to the Basics : les VLAN

Je prévoyais de publier un article complet sur la configuration de VLAN dans un réseau hétérogène (materiel Netgear et Ubiquiti/Unifi). Au moment de rédiger celui-ci, je l'ai trouvé un peu trop long. J'ai donc dissocié la partie "rapel / vulgarisation" des VLAN de la configuration à proprement parler.

Avant de se lancer dans la configuration d'un switch manageable, il est bon de rappeler les bases.

Dans un réseau simple, l'ensemble des machines utilise le même plan d'adressage IP pour communiquer. Il n'y a qu'un réseau. Pour disposer d'un second réseau, il faut installer des switchs supplémentaires et le câblage qui convient.

Qu'est-ce qu'un VLAN ?

Un VLAN est un réseau virtuel. Les VLAN permet d'utiliser un même matériel pour plusieurs réseaux. Chaque VLAN représente un réseau avec son propre plan d'adressage IP et ses propres règles.
Chaque VLAN est identifié par un numéro. On parle alors de Tag. Le premier VLAN porte le Tag 1. Le nombre de VLAN utilisable dépend des capacités de votre matériel. Toutes les trames réseau associées à un VLAN portent le Tag du VLAN par lequel elles passent. Ceci permet d'avoir un routage clair des trames vers les matériels potentiellement concernés par celle-ci.

Pour pouvoir gérer des VLAN, il faut disposer de switchs managés (switch de niveau 2, à minima).

Contrairement à une idée reçue, les VLAN n'isolent pas des réseaux. C'est le routeur (ou switch de niveau 3) que vous utiliserez qui déterminera si le routage est possible entre les VLAN (dans quel sens, et si le matériel est sérieux quels ports sont autorisés vers quels IPs ou plages d’IPs).

Avec un seul switch

Quand on ne dispose que d'un seul switch, les choses sont relativement simples. Pour chaque port, on indique le VLAN utilisé et le tour est joué. Il existe une petite subtilité relative aux Tags, mais j'en parlerai un peu plus tard.

Avec plusieurs switchs

L'utilisation de plusieurs switchs implique la compréhension de quelques concepts supplémentaires :

  1. Tagged : un port tagué permet de faire passer passer les communications du VLAN associées au Tag.
  2. PVID (Port LAN Identifier) : désigne le Tag associé à défaut par toutes les trames réseau qui passent par un port d'un switch. Ceci permet donc de désigner le VLAN associé par défaut à un port.
  3. Untagged : le port du swith n'a pas de Tag. Le PVID est utilisé pour désigner le VLAN autorisé à passer par ce port.
  4. Trunk : Port du switch qui est utilisé pour communiquer avec un autre switch. Il autorise la communication sur plusieurs VLAN (voir la totalité des VLAN).

La partie la moins drôle réside dans le fait que chaque constructeur en fait un peu à sa tête. Chacun a donc sa propre manière d'implémenter ou de documenter ces principes. Même si actuellement, on observe une certaine convergence (ex: VLAN 1 Untagged par défaut).

L'élément le plus important est de comprendre que deux switchs doivent autoriser les mêmes VLAN sur les ports qu'ils ont en commun. Ce Trunk n'est peut-être pas configuré de la même manière de chaque côté, mais il doit aboutir au même comportement.

Vous l'aurez compris, la véritable difficulté arrive quand on mélange les notions de Tagged, Untagged, PVID, Trunk.

Exemple : Un port a le PVID 2 est marqué Untagged avec le VLAN 2 et Tagged sur le VLAN 3.

  • Il est donc autorisé à laisser passer les VLAN 2 et 3.
  • Une trame réseau sans Tag passera sur le VLAN 2.
  • Une trame réseau destinée au VLAN 3 devra forcément avoir un Tag 3 (ajouté par un client compatible, ou un autre switch qui a ce port Tagged avec le Tag 3).

Vous pourriez vous dire que la solution la plus simple consisterait à ne pas utiliser la notion Untagged sur un Trunck entre switchs. Malheureusement, cela n'est pas toujours possible. La plupart des switchs utilisent le PVID 1 par défaut sur chaque port et l'option Untagged sur le VLAN 1. Le trunck “All” finit donc souvent avec Untagged 1 + Tagges 2 + Tagged 3, etc.

Promis, dans mon prochain article nous partirons dans le dur du sujet ;)

Jérémy Jeanson

Comments

You have to be logged in to comment this post.