VLAN: segmentare il dominio di broadcast

Una VLAN (Virtual LAN) suddivide uno switch fisico in più domini di broadcast logici. Due host in VLAN diverse, pur connessi allo stesso switch, non comunicano a livello 2: serve un dispositivo di livello 3 (router o SVI) per instradare il traffico. La segmentazione migliora sicurezza, riduce il broadcast e organizza la rete per funzione anziché per posizione fisica.

Le VLAN si dividono per ID:

Range ID Note
Normal range 1–1005 Salvate in vlan.dat, propagabili via VTP
Extended range 1006–4094 Richiede VTP transparent o VTP v3
Riservate 0, 4095 Non utilizzabili

La VLAN 1 è quella di default: tutte le porte vi appartengono all’origine, ed è anche la native VLAN e la VLAN di management di default. Per buona pratica non si usa VLAN 1 per il traffico produttivo.

Punto critico: una VLAN deve esistere nel database dello switch prima di poter trasportare traffico. Se assegni una porta a una VLAN non ancora creata, la porta passa in stato inactive e il traffico non viene inoltrato.

Access port

Una access port appartiene a una sola VLAN e trasporta traffico untagged verso l’host finale (PC, stampante, server). L’host non sa nulla del tagging: è lo switch che associa internamente il frame alla VLAN configurata.

Switch(config)# vlan 20
Switch(config-vlan)# name UTENTI
Switch(config)# interface gi0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 20

Il comando switchport mode access disattiva DTP sulla porta, eliminando ogni rischio di negoziazione indesiderata di trunk: scelta consigliata su tutte le porte verso gli end host.

Trunk 802.1Q e propagazione del tagging

Per estendere le VLAN su più switch serve un trunk: un collegamento che trasporta più VLAN contemporaneamente. Lo standard 802.1Q inserisce un tag di 4 byte nell’header Ethernet; il campo VLAN ID è di 12 bit, da cui il massimo di 4094 VLAN utilizzabili. Ogni frame che entra nel trunk viene taggato con la propria VLAN, così lo switch remoto sa a quale dominio appartiene.

Switch(config)# interface gi0/24
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 10,20,30

Native VLAN

L’unica eccezione al tagging è la native VLAN: il suo traffico attraversa il trunk senza tag (default VLAN 1). Serve retrocompatibilità con dispositivi che non comprendono 802.1Q. Entrambi gli estremi del trunk devono concordare sulla native VLAN, altrimenti il traffico untagged finisce nella VLAN sbagliata (VLAN hopping) e STP segnala l’errore.

Switch(config-if)# switchport trunk native vlan 99

Voice VLAN

La voice VLAN permette a una porta di comportarsi come access per il PC e, contemporaneamente, di taggare il traffico del telefono IP:

Switch(config-if)# switchport access vlan 20
Switch(config-if)# switchport voice vlan 40

Lo switch comunica al telefono, via CDP (o LLDP-MED), di taggare la voce con VLAN 40; i dati del PC collegato dietro al telefono restano untagged in VLAN 20. Si ottiene così separazione di dati e voce su un unico cavo, senza un trunk esplicito.

DTP: auto vs desirable

Il Dynamic Trunking Protocol negozia automaticamente la formazione del trunk. Le modalità:

Modalità Comportamento
dynamic auto Passiva: non inizia, ma risponde se l’altro chiede
dynamic desirable Attiva: invia richieste per formare un trunk
trunk Forza trunk e invia DTP
access Forza access, DTP disattivato

La combinazione chiave: due porte entrambe in dynamic auto restano access, perché nessuna delle due avvia la negoziazione. Serve almeno un lato desirable (o trunk) per far salire il collegamento.

Trappole tipiche d’esame

  • Native VLAN mismatch → lato A native VLAN 1, lato B native VLAN 99: il trunk sale ma STP genera un errore %CDP-4-NATIVE_VLAN_MISMATCH e le VLAN native non comunicano correttamente. Risposta: allinea la native VLAN su entrambi gli estremi.
  • VLAN mancante nel database → porta assegnata con switchport access vlan 50 ma VLAN 50 mai creata: la porta va inactive e l’host perde connettività. Risposta: crea la VLAN con vlan 50.
  • Doppio dynamic auto → il link resta access e le VLAN remote non passano. Risposta: imposta un lato su trunk o dynamic desirable.
  • VLAN non nella allowed list → il trunk è su, ma switchport trunk allowed vlan non include quella VLAN: il traffico viene scartato. Risposta: aggiungila con switchport trunk allowed vlan add.
  • PC in voice VLAN → confusione tra switchport access vlan (dati/PC) e switchport voice vlan (telefono): il traffico dati taggato nella VLAN voce non riceve indirizzo. Risposta: dati sempre sulla access VLAN untagged.