Les VLAN sont l’un des concepts les plus important dans un réseau informatique.
Tout réseau un tant soit peu évolué, se doit de contenir des VLAN.
Les avantages à leur utilisation sont bien réels.
Voyons ensemble les notions à connaitre.
1) Qu’est-ce qu’un VLAN ?
Avant d’attaquer des notions plus complexes, attardons nous sur la théorie de base.
Sans l’utilisation de VLAN, un switch va permettre de connecter plusieurs machines dans un même sous réseau. On dit alors que le switch permet d’étendre le domaine de Broadcast.
Si l’on souhaite utiliser plusieurs sous réseaux, il nous faut alors plusieurs switchs.
Une topologie sans VLAN pourrait ressembler à ceci :
La création d’un nouveau sous réseau engendrera forcément l’achat d’un nouveau switch, qui sera connecté sur un port libre du routeur (si tant est qu’il en reste).
De plus, les machines d’un même sous réseau seront forcément regroupées de manière physique.
Imaginons que le sous réseau 192.168.1.0 /24 soit à l’étage 1, et le sous réseau 192.168.2.0 /24 à l’étage 2 de notre entreprise.
Comment faire si nous souhaitons placer à l’étage 2 des utilisateurs du sous réseau 192.168.1.0 /24 ?
Nous serons obligés de tirer un câble jusqu’au switch de l’étage 1, afin de placer un nouveau switch à l’étage 2.
Vous l’aurez compris, en utilisation basique (donc sans VLAN), un switch n’est pas très pratique, si nous souhaitons utiliser des sous réseaux différents.
Et il n’est pas question de mettre tout le monde dans un même sous réseau (pour des questions de sécurité, de performance, etc…).
L’idéal serait de pouvoir connecter les utilisateurs à n’importe quel switch, tout en les gardant dans leur sous réseaux respectifs.
C’est ici que les VLAN entrent en jeu.
Dans notre réseau, un VLAN va correspondre à un sous réseau.
Par exemple : 192.168.1.0 /24 sera le VLAN 10, 192.168.2.0 /24 sera le VLAN 20 (le numéro du VLAN est choisi par l’administrateur réseau).
Le principe est simple : nous configurons les ports des switchs, afin qu’ils appartiennent à un certain VLAN.
Ensuite, nous pourrons connecter les utilisateurs sur n’importe quel switch, du moment que le port associé est configuré dans le bon VLAN.
Notre réseau pourrait ressembler à ceci (le switch principal sera un switch de niveau 3):
Peu importe le switch sur lequel l’utilisateur est connecté, il pourra toujours se trouver dans le sous réseau voulu.
Avec des VLAN, les machines d’un même sous réseau ne sont plus regroupées de manière physique (connectées au même switch), mais de manière logique.
Quels sont les avantages des VLAN ?
Le regroupement des utilisateurs de manière logique, va permettre une plus grande flexibilité.
L’emplacement physique de la machine n’a alors plus d’importance.
Aussi, les VLAN permettent de réduire les coûts. Comme un switch n’est plus limité à un sous réseau, il n’est plus nécessaire d’acheter un nouveau switch pour la création d’un nouveau sous réseau.
De plus, nous verrons que cela consomme moins de port sur le routeur (un port du routeur pourra donner sur plusieurs VLAN/sous réseaux).
Au final, les VLAN permettent de profiter des avantages de la segmentation en sous réseau, sans être limités par les switchs.
Les VLAN dans l’Entreprise Composit Network Model
Pour rappel, dans l’Entreprise Composit Network Model, les VLAN sont propres au bloc.
Nous pourrions avoir un réseau de ce type :
Le routage entre les VLAN d’un même bâtiment se fera au niveau Distribution.
Le routage entre des VLAN de différents bâtiments se fera au niveau Core.
A retenir
- Un VLAN = un sous réseau
- Plusieurs VLAN, donc plusieurs sous réseaux, sur un même switch
- Un même VLAN sur plusieurs switchs
- Routage entre les VLAN grâce à un routeur (ou switch de niveau 3)
- Réduction des coûts
- Plus grande flexibilité
2) Fonctionnement
Assez parlé des principes de base d’un VLAN.
Voyons à présent comment fonctionnent les VLAN.
3 types de VLAN
Nous pouvons dénombrer trois types de VLAN, même si en général, nous n’utiliserons que le premier.
Le type de VLAN que l’on retrouve le plus souvent est le VLAN de niveau 1, ou encore appelé VLAN par port.
Il s’agit ici de configurer les ports du switch pour les placer dans le bon VLAN.
Le VLAN de niveau 2 se base sur les adresses MAC. En fonction de l’adresse MAC source des frames reçues, le switch va placer ces dernières dans un certain VLAN. Un serveur va contenir la liste de correspondance VLAN / adresse MAC.
Les VLAN de niveau 3 se basent quant à eux sur l’IP source des paquets reçus.
Les VLAN de niveau 2 et 3 permettent bien évidement de gagner en souplesse et en mobilité.
Néanmoins, ces deux types sont rarement utilisés.
Pour la suite, nous ne parlerons que du type 1 (VLAN par port)
Les ports Access
Prenons un cas concret. Nous avons un nouveau PC à connecter au réseau. Celui-ci doit être placé dans le sous réseau 192.168.1.0 /24.
D’après notre plan d’adressage, c’est le VLAN 10 qui correspond à ce sous réseau.
Il va donc falloir configurer le port de switch auquel nous souhaitons connecter le PC, de manière à ce qu’il soit dans le bon VLAN.
Les ports auxquels nous connectons des PC, sont dits des ports Access.
Ces ports-là sont configurés pour appartenir à un VLAN.
Voici l’installation que nous souhaitons obtenir :
Voici un aperçu de la configuration (nous reviendrons dessus dans un prochain article) :
Nous commençons d’abord par créer le VLAN
Switch-1(config)#vlan 10 Switch-1(config-vlan)#name support
Ensuite, nous configurons le port voulu :
Switch-1(config)#interface fastEthernet 0/5 Switch-1(config-if)#switchport mode access Switch-1(config-if)#switchport access vlan 10
A présent, toutes les frames arrivant sur le port fa0/5, seront placées dans le VLAN 10.
De manière très simple, nous pouvons assigner d’autres ports à d’autres VLAN.
Switch-1(config)#vlan 20 Switch-1(config-vlan)#name comptabilite Switch-1(config)#interface fastEthernet 0/6 Switch-1(config-if)#switchport mode access Switch-1(config-if)#switchport access vlan 20
La machine présente dans le VLAN 10 ne pourra alors plus communiquer avec celle dans le VLAN 20, sans l’aide d’un routeur.
De manière à ce que le routeur puisse router le trafic, il convient bien évidement d’assigner les bonnes IP aux machines (ou de laisser faire le DHCP). En effet, si nous assignons l’IP 192.168.2.1 à une machine dans le VLAN 10, le routeur refusera le paquet.
Les ports Trunk
Les ports Access permettent de connecter un PC à un switch, en le plaçant dans le bon VLAN.
Qu’en est-il des liens entre les switchs ?
Ces ports seront configurés en mode Trunk.
Reprenons la topologie précédente :
Les ports Fa0/1 des deux switchs devront être configurés en mode trunk de manière à supporter plusieurs VLAN.
Switch-1(config)#interface fastEthernet 0/1 Switch-1(config-if)#switchport mode trunk
Sur ce lien, pourront passer les frames du VLAN 10 et du VLAN 20.
A la sortie du lien Trunk, les switchs seront capables de savoir vers quel VLAN renvoyer la frame.
Je tiens à rappeler qu’en aucun cas les switch ne remontent au niveau 3 du modèle OSI (sauf switch de niveau 3).
Mais alors comment les switchs font pour savoir à quel VLAN appartiennent les frames ?
3) Trunk et Frames Taguées
Voici un concept important à retenir.
Afin que les switchs puissent faire la différence entre les frames des différents VLAN, ils vont les taguer.
Prenons un exemple :
PC 1 envoie un message à PC 2.
Les deux PC se trouvent dans le VLAN 10.
Quand S1 transmet la frame à S2, il faut que celui-ci sache à quel VLAN appartient la frame.
Pour cela, S1 va « taguer » la frame avant de l’envoyer dans le Trunk.
Concrètement, S1 va rajoute un champs dans l’entête de la frame.
Il existe deux protocoles pour taguer les frames :
- ISL – Inter-Switch Link
- 802.1Q
ISL
ISL est la méthode Cisco.
La frame Ethernet est encapsulée dans une nouvelle frame contenant l’identificateur de VLAN :
Pour faire simple, S1 doit envoyer une frame à S2. Cette frame provient du VLAN 10.
Pour envoyer la frame dans le trunk, il va l’encapsuler dans une nouvelle frame, sur laquelle sera indiqué le numéro de VLAN.
Vous pouvez constater qu’il y a une grande quantité de données utilisée pour pas grand-chose (30 octets pour indiquer un numéro).
Néanmoins, il n’y a pas que le numéro de VLAN dans le Header.
802.1Q
Cette méthode est la version standardisée d’ISL.
Un champ « Tag » est ajouté dans le header de la frame.
Ce champ contient les infos suivantes :
- TPID : identifie le protocole du tag inséré (pour 802.1Q : 0x8100)
- Priority : donne la priorité de la frame (de 0 à 7)
- CFI : assure la compatibilité entre Token Ring et Ethernet (valeur à 0 pour Ethernet)
- VID : tag du VLAN
Au final, en 802.1Q, seul 4 octets sont ajoutés à la frame pour un passage dans un lien Trunk.
Résumons la situation, en suivant la frame du départ à l’arrivé :
- La frame par du PC1. Il s’agit là d’une frame Ethernet tout à fait normale
- S1 reçoit la frame. Le port Fa 0/5 appartient au VLAN 10
- S1 sait que l’adresse MAC de PC2 se trouve derrière le port Fa0/1
- S1 tague la frame avec le numéro de VLAN 10 (en ISL ou 802.1Q) puis l’envoie sur Fa0/1
- S2 reçoit la frame taguée
- S2 retire le tag, et envoie la frame à PC2
Au final, les PC n’ont jamais connaissance des tags de VLAN.
4) Vlan Natif
Sur un lien trunk, il existe une notion importante : le VLAN natif.
Le VLAN natif est un VLAN dans lequel seront placées les frames non taguées reçues sur le trunk.
Les frames du VLAN natif sont envoyées sans tag dans le trunk.
Par défaut, le VLAN natif est le 1 sur un Trunk. De plus, tous les ports font partie du VLAN 1, par défaut.
La bonne pratique veut que le VLAN natif ne soit utilisé nulle part ailleurs.
Ainsi, si nous choisissons le VLAN 666 pour être le VLAN natif, celui-ci ne devra jamais être utilisé ailleurs.
De cette manière, un attaquant qui envoie des frames non-taguées sur un trunk, ne pourra atteindre aucun sous réseau.
De plus, il est important que le VLAN natif soit le même des deux côtés du trunk.
Si le VLAN natif n’est pas le même des deux côtés, le port sera en partie désactivé (car cela peut causer des boucles spanning-tree). Seules les frames taguées pourront circuler sur le Trunk.
Il est à noter que le VLAN natif est utilisé par les switchs pour les protocoles DTP (négociation de Trunk), Spanning-Tree, etc… En effet, ces frames sont envoyées non taguées.
Donc si le VLAN natif n’est pas le même des deux côtés, ces frames-là ne pourront pas circuler.
La configuration est très simple :
Switch-1(config-if)#switchport trunk native vlan 666 Switch-2(config-if)#switchport trunk native vlan 666
5) Mode de fonctionnement d’un port
Il existe plusieurs modes de fonctionnement de port pour l’utilisation de VLAN.
Les voici :
- Access
- Trunk
- Dynamique Auto
- Dynamique Desirable
Nous avons déjà vu les modes Trunk et Access
Les modes Dynamique Auto et Desirable ont pour but de négocier un trunk.
Par défaut, les ports d’un switch sont en mode Dynamique Auto.
Mais comment cela fonctionne-il ?
Simplement qu’en mode Trunk et Dynamique Desirable, le switch envoie des frames DTP – Dynamique Trunking Protocol.
Ce protocole DTP permet justement la négociation d’un Trunk.
Si un port d’un switch est configuré en Dynamique Auto ou en dynamique Desirable, et qu’il reçoit des frames DTP, il va passer en mode Trunk.
Voici un tableau qui résume cela :
Voici les commandes pour activer les différents modes (un mode à la fois):
Switch-1(config-if)#switchport mode access Switch-1(config-if)#switchport mode trunk Switch-1(config-if)#switchport mode dynamic auto Switch-1(config-if)#switchport mode dynamic desirable
Voici le résultat d’une négociation (S1 Fa0/1 Trunk / S2 Fa0/1 Dynamique Desirable):
Nous pouvons voir le mode configuré (Administrative Mode) et le mode de fonctionnement actuel (Operational Mode).
A noter qu’il est possible d’entrer la commande suivante pour désactiver l’envoie de DTP :
Switch-1(config-if)#switchport nonegotiate
De cette manière, si un switch est connecté en face, et que son port est en mode Dynamique, il ne pourra pas négocier de Trunk.
De plus, si un attaquant se connecte sur un port Trunk qui envoie des frames DTP, il lui sera possible de les analyser, et de simuler un Trunk.
Le mieux est donc du configurer le port comme suit (à faire sur les deux switchs) :
Switch-1(config-if)#switchport mode trunk Switch-1(config-if)#switchport nonegotiate
6) Conclusion
Nous voilà arrivé au terme de cet article sur la théorie des VLAN.
Voici rapidement un résumé de ce qui a été vu :
- Un VLAN = un sous réseau
- Séparation des utilisateurs de manière logique, plus de flexibilité
- Routage entre VLAN par un routeur ou un switch de niveau 3
- Port Access vers les PC / Port Trunk entre les switchs
- Les frames sur un Trunk sont taguées (ISL ou 802.1Q)
- VLAN Natif sur un lien Trunk
- Négociation d’un Trunk
Maintenant que la théorie est traitée, nous pouvons passer à la configuration.
Bonjour,
j’ai remarqué une erreur dans la ligne » Par défaut, les ports d’un switch sont en mode Dynamique Desirable. » parce que les ports d’un switch sont par défaut en mode dynamic auto et pas dynamic desirable .
Cordialement
Bonjour,
En effet, le mode par défaut est bien Auto.
J’ai corrigé l’article, merci bien.
Merci bcp
Merci beaucoup
Bonsoir,
J’en apprends tous les jours en informatique: aujourd’hui VLAN 😉
Superbe topologie mais quel logiciel utilisez vous pour les réaliser?
Bonjour,
Pour des topologies basiques, Packet Tracer suffira.
Pour des topologies plus poussées, vous pouvez utiliser GNS3.
Bonjour Valentin,
PacketTracer = Je suis obligé d’avoir déjà un réseau existant et il scanne les IP et les matérialise sous forme d’icônes ?? C’est ça, je ne me trompe pas ?
Je voudrais un outil de tracé sans avoir de LAN existant (qui ensuite si l’outil a un scan d’IP intégré)
GNS3 : je ne connais pas ?
Bonjour,
En fait, Packet Tracer est un logiciel éducatif de Cisco. Il permet de simuler un réseau et des équipements. Les équipements simulés ne disposeront pas de toutes les fonctionnalités qu’ont les vrais équipements, mais pour débuter cela suffit largement.
C’est le logiciel utilisé couramment dans les écoles pour former les élèves.
https://www.netacad.com/fr/courses/packet-tracer-download/
Quant à GNS3, c’est un logiciel qui permet de virtualiser (un peu comme VMware) des équipements réseaux (et non simuler comme avec Packet Tracer). Les équipements fonctionneront comme de vraies équipements réseau.
Cela permet de faire des configurations bien plus poussées. Je vous laisse vous renseigner sur le sujet. Le logiciel est plus compliqué à mettre en place et il faut disposer des IOS des équipements à virtualiser.