VLAN et trunks expliqués : 802.1Q, VLAN natif, DTP
Un commutateur, trois services, et un seul broadcast atteint toutes les machines du bâtiment. La comptabilité entend l'ingénierie, l'ordinateur portable invité entend les serveurs, et chaque broadcast consomme chaque port. Les VLAN découpent ce commutateur unique en réseaux distincts qui partagent le même matériel.
Cette page couvre le tag 802.1Q, les ports access, trunk et hybrid, le piège du VLAN natif, les listes de VLAN autorisés, pourquoi Cisco recommande de désactiver DTP, et comment Cisco, Huawei, Aruba et Juniper traitent chacun les trames non taguées.
Un commutateur, plusieurs réseaux
Un VLAN est un domaine de broadcast. Les hôtes d'un même VLAN communiquent entre eux en couche deux. Les hôtes de VLAN différents ne le peuvent pas, même lorsqu'ils sont sur le même commutateur, et un broadcast ne quitte jamais son VLAN.
Pour passer d'un VLAN à un autre, le trafic doit être routé : une interface VLANIF chez Huawei, une interface IRB chez Juniper, une interface routée ou un routeur partout ailleurs.
Le tag 802.1Q
Entre commutateurs, le VLAN voyage à l'intérieur de la trame. IEEE 802.1Q insère un tag de quatre octets juste après l'adresse MAC source.
Deux octets d'identifiant de protocole de tag, 0x8100. Trois bits de priorité, de zéro à sept. Un bit autrefois appelé CFI, aujourd'hui drop eligible indicator. Et douze bits de VLAN ID. Douze bits donnent 4 096 valeurs, mais zéro et 4 095 sont réservées : la plage utilisable va donc de 1 à 4 094.
Access, trunk et hybrid
Un port access appartient à un seul VLAN et fonctionne sans tag : les trames arrivent sans tag, le commutateur leur ajoute le VLAN du port, et le retire en sortie. Un trunk transporte plusieurs VLAN entre commutateurs, chaque trame étant taguée avec son VLAN.
Huawei ajoute un troisième type, le port hybrid, où l'on choisit VLAN par VLAN si les trames sortent taguées ou non. Juniper est strict sur la différence : une interface access n'accepte que des paquets non tagués.
Le VLAN natif
Un trunk doit tout de même décider quoi faire d'une trame qui arrive sans tag. Chez Cisco, Huawei et Aruba, elle tombe dans le VLAN natif, le VLAN 1 par défaut, et les trames de ce VLAN sortent sans tag. Huawei l'appelle le PVID.
Le guide de Cisco est sans détour : assurez-vous que le VLAN natif est le même aux deux extrémités du trunk, car une incohérence peut provoquer des boucles de spanning tree.
Juniper adopte le comportement par défaut inverse : un trunk ELS rejette les données non taguées tant que vous n'avez pas configuré un native VLAN ID et rendu le trunk membre de ce VLAN.
Les listes de VLAN autorisés
Par défaut, un trunk Cisco autorise tous les VLAN, de 1 à 4 094, et un trunk Huawei créé avec allow pass all fait de même. Huawei recommande lui-même d'éviter allow pass all et de ne lister que les VLAN nécessaires.
Attention à la syntaxe chez Aruba : retirer le dernier VLAN d'une liste autorisée ne laisse pas le trunk vide, il transporte alors tous les VLAN actuellement définis, ainsi que tous les nouveaux. Chez Cisco, allowed vlan none signifie réellement aucun. La même intention, des résultats opposés.
DTP, et pourquoi Cisco conseille de le désactiver
Les commutateurs Cisco peuvent négocier les trunks avec DTP. Sur un Catalyst 9300, chaque port démarre en dynamic auto, qui devient un trunk si l'autre côté le demande. Dynamic desirable, lui, le demande.
Cisco recommande lui-même de désactiver la négociation là où elle n'est pas nécessaire : switchport mode access sur les ports d'hôtes, et switchport nonegotiate sur les trunks, car certains équipements relaient mal les trames DTP et laissent un côté en trunk tandis que l'autre ne l'est pas.
Huawei a sa propre négociation, LNP, activée par défaut ; Huawei avertit qu'elle peut faire monter fortement le CPU avec de nombreux VLAN.
Le VLAN 1
Le VLAN 1 est particulier chez tous les constructeurs. Il existe dès le premier démarrage, ne peut pas être supprimé, et tous les ports y commencent. Chez Cisco, CDP, LACP, DTP et VTP continuent d'utiliser le VLAN 1 même si vous le retirez d'un trunk.
Huawei le dit directement : n'utilisez pas le VLAN 1 comme VLAN d'administration ni comme VLAN de service, car toutes les interfaces y appartiennent par défaut et des tempêtes de broadcast s'ensuivent. Placez les utilisateurs, les serveurs et l'administration dans des VLAN que vous avez choisis.
Les VLAN voix
Les téléphones IP disposent de leur propre VLAN sur le même port access : la voix taguée, le PC derrière le téléphone non tagué. Cisco le configure avec switchport voice vlan et s'appuie sur CDP pour indiquer au téléphone quel VLAN utiliser.
Huawei peut reconnaître les téléphones par leur adresse MAC ou par VLAN. Aruba marque un VLAN comme VLAN voix, et Juniper utilise les réglages VoIP avec LLDP MED.
La configuration sur quatre constructeurs
Le même port access et le même trunk, quatre syntaxes.
Cisco : switchport mode access, switchport access vlan, et pour le trunk, switchport mode trunk avec une liste de VLAN autorisés. Huawei : port link-type access et port default vlan, puis port link-type trunk et port trunk allow-pass vlan. Aruba : vlan access, et vlan trunk allowed. Juniper : interface mode access avec vlan members, et interface mode trunk.
La vérification
Pour vérifier, Cisco propose show vlan et show interfaces trunk, Huawei display vlan et display port vlan, Aruba show vlan et show vlan port, et Juniper show vlans et show ethernet switching interfaces.
La question est toujours la même : quels VLAN existent, et quels ports les transportent, avec ou sans tag.
Ce que NacTrack montre
Vérifier chaque trunk à la main, c'est là que les erreurs se cachent. NacTrack lit les VLAN et les trunks de chaque commutateur en SSH, quel que soit le constructeur, et montre où chaque VLAN est présent, quels VLAN chaque trunk autorise, et les VLAN qui ne sont présents sur aucun port.
Voir ce protocole sur votre réseau
NacTrack lit ces protocoles sur vos équipements, en SSH et en lecture seule.
