Cisco, Routage et Switching

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.

Port d'accès vers un poste et lien trunk 802.1Q entre deux commutateurs Cisco

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 native en 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 :

  1. mode, encapsulation, état et VLAN natif ;
  2. VLAN autorisés par configuration ;
  3. VLAN autorisés et existants sur ce commutateur ;
  4. 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 add lors 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.

Références