Ports access et trunk : différences et configuration
Un port d'accès transporte un VLAN, un trunk en transporte plusieurs. Modes switchport, négociation DTP, VLAN natif, élagage et sécurité : comment configurer et dépanner les liens entre commutateurs.
Sur un commutateur, chaque port joue l'un de deux rôles : accès, pour un équipement terminal appartenant à un seul VLAN, ou trunk, pour transporter plusieurs VLAN vers un autre commutateur, un routeur, un pare-feu, un hyperviseur ou un point d'accès. Une erreur sur ce choix ou sur les paramètres d'un trunk explique une grande partie des problèmes de connectivité entre VLAN.
Objectif : comprendre les modes de port, configurer des trunks robustes et sûrs, et diagnostiquer les problèmes courants.
Plateforme : Catalyst sous IOS XE 17.x / IOS 15.x. Configuration de laboratoire. Sur les plateformes récentes, seul l'encapsulation 802.1Q est prise en charge ; l'ancien protocole propriétaire ISL a disparu.
Accès et trunk en bref
| Critère | Port d'accès | Port trunk |
|---|---|---|
| VLAN transportés | Un seul (plus éventuellement un VLAN voix) | Plusieurs |
| Trames | Non étiquetées | Étiquetées 802.1Q (sauf VLAN natif) |
| Équipement connecté | Poste, imprimante, serveur simple, téléphone | Commutateur, routeur, pare-feu, hyperviseur, point d'accès multi-SSID |
| Exemple | switchport mode access |
switchport mode trunk |
Les modes switchport et DTP
Cisco propose une négociation automatique du mode trunk, DTP (Dynamic Trunking Protocol), propriétaire.
| Mode configuré | Comportement |
|---|---|
access |
Toujours accès |
trunk |
Toujours trunk (envoie encore des messages DTP, sauf nonegotiate) |
dynamic desirable |
Cherche activement à former un trunk |
dynamic auto |
Forme un trunk seulement si l'autre extrémité le demande |
Résultat de la négociation entre deux ports :
| access | trunk | desirable | auto | |
|---|---|---|---|---|
| access | accès | incohérent | accès | accès |
| trunk | incohérent | trunk | trunk | trunk |
| desirable | accès | trunk | trunk | trunk |
| auto | accès | trunk | trunk | accès |
Deux ports en dynamic auto ne forment jamais de trunk : piège classique. Le mode par défaut dépend des plateformes et des versions.
Bonne pratique : ne jamais s'en remettre à DTP. Configurez explicitement chaque port en access ou trunk, et désactivez la négociation avec switchport nonegotiate. Un port d'accès en mode dynamique permet à un poste malveillant de négocier un trunk et d'accéder à tous les VLAN (VLAN hopping par usurpation de commutateur).
Configurer un trunk
SW1(config)# interface GigabitEthernet1/0/48
SW1(config-if)# description TRUNK vers SW-DIST-01 Gi1/0/1
SW1(config-if)# switchport trunk encapsulation dot1q ! uniquement sur les plateformes qui proposent encore ISL
SW1(config-if)# switchport mode trunk
SW1(config-if)# switchport nonegotiate
SW1(config-if)# switchport trunk native vlan 999
SW1(config-if)# switchport trunk allowed vlan 10,20,30,99
SW1(config-if)# end
La commande switchport trunk encapsulation dot1q n'existe que sur les plateformes qui prennent en charge plusieurs encapsulations (certains anciens Catalyst 3560/3750) ; sur les autres, elle est inutile ou refusée.
Le VLAN natif
Le VLAN natif est transporté sans étiquette sur le trunk. Règles :
- il doit être identique aux deux extrémités : sinon, les trames non étiquetées passent d'un VLAN à l'autre, et CDP signale une erreur
Native VLAN mismatch; - il doit être un VLAN dédié et inutilisé (ici 999), pas le VLAN 1 ni un VLAN de postes, pour neutraliser l'attaque par double étiquetage ;
- sur les plateformes qui le permettent, on peut étiqueter aussi le VLAN natif (
vlan dot1q tag nativeen configuration globale).
La liste des VLAN autorisés (élagage)
Par défaut, un trunk transporte tous les VLAN (1 à 4094). Limitez-le aux VLAN nécessaires :
- moins de diffusions inutiles propagées ;
- moins de surface d'attaque ;
- domaines Spanning Tree plus petits.
Attention à la syntaxe, source d'incidents majeurs :
switchport trunk allowed vlan 10,20,30 ! REMPLACE la liste existante
switchport trunk allowed vlan add 40 ! AJOUTE le VLAN 40
switchport trunk allowed vlan remove 20 ! RETIRE le VLAN 20
switchport trunk allowed vlan none ! aucun VLAN
Saisir switchport trunk allowed vlan 40 en voulant ajouter le VLAN 40 supprime tous les autres VLAN du trunk et coupe le trafic correspondant. Utilisez toujours add pour un ajout.
Trunk vers un routeur, un hyperviseur ou un point d'accès
- Routeur (router-on-a-stick) : le trunk transporte les VLAN vers des sous-interfaces. Voir Routage inter-VLAN : méthodes et exemples.
- Hyperviseur : les VLAN des VM sont étiquetés par le commutateur virtuel ; le VLAN natif doit correspondre à la configuration de l'hôte.
- Point d'accès Wi-Fi : un VLAN par SSID, plus le VLAN de gestion du point d'accès, souvent en VLAN natif sur certaines solutions. Vérifiez les recommandations du constructeur.
Pour ces équipements, PortFast peut être activé sur le trunk (spanning-tree portfast trunk, ou spanning-tree portfast edge trunk sur les versions récentes) puisqu'il ne s'agit pas d'un commutateur, avec BPDU Guard pour protéger contre une erreur de câblage.
Vérifier
SW1# show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gi1/0/48 on 802.1q trunking 999
Port Vlans allowed on trunk
Gi1/0/48 10,20,30,99
Port Vlans allowed and active in management domain
Gi1/0/48 10,20,30,99
Port Vlans in spanning tree forwarding state and not pruned
Gi1/0/48 10,20,30,99
Lecture des quatre blocs :
- mode, encapsulation, état et VLAN natif ;
- VLAN autorisés par configuration ;
- VLAN autorisés et existants sur ce commutateur ;
- VLAN réellement en transmission (non bloqués par Spanning Tree ni élagués).
Un VLAN présent dans le bloc 2 mais absent du bloc 3 n'a pas été créé localement.
SW1# show interfaces GigabitEthernet1/0/48 switchport
SW1# show cdp neighbors detail ! repérer un VLAN natif incohérent
Dépanner
| Symptôme | Cause probable |
|---|---|
| Le trunk ne se forme pas | Modes incompatibles (auto/auto, access/trunk), encapsulation différente |
| Un VLAN ne passe pas | VLAN absent de la liste autorisée, ou non créé sur un commutateur |
Messages Native VLAN mismatch |
VLAN natif différent aux deux extrémités |
| Trafic d'un VLAN qui apparaît dans un autre | VLAN natif incohérent |
| Perte soudaine de plusieurs VLAN après une modification | allowed vlan saisi sans add |
Erreurs courantes
- Laisser les ports d'accès en mode dynamique.
- VLAN natif = VLAN 1 ou VLAN de postes.
- Oublier
addlors de l'ajout d'un VLAN à un trunk. - Trunks autorisant tous les VLAN par défaut.
- Différence de VLAN natif entre commutateur et hyperviseur ou point d'accès.
Conclusion
Un port d'accès doit être explicitement en mode accès, sans négociation ; un trunk doit être explicitement en mode trunk, sans négociation, avec un VLAN natif dédié et une liste de VLAN autorisés élaguée. Avec show interfaces trunk et ses quatre blocs, la plupart des problèmes se diagnostiquent en une commande.


