Le VLAN: progettazione, configurazione e Inter-VLAN routing

// obiettivi di apprendimento
Spiegare cos’è una VLAN, perché si usano e come segmentano logicamente una LAN fisica
Descrivere il tag 802.1Q: struttura, campi TPID/TCI e il concetto di trunk port vs access port
Configurare VLAN di base su switch Cisco: creazione VLAN, assegnazione porte access e trunk
Illustrare le tecniche di Inter-VLAN routing: router-on-a-stick e switched virtual interface (SVI)
🎬
Video
VLAN tagged e untagged
Guarda →
🎬
Video
Inter-VLAN tradizionale
Guarda →
🎬
Video
Inter-VLAN ROAS
Guarda →
📄
Slides
Schemi VLAN, 802.1Q e Inter-VLAN
🧪
Lab
Configurazione VLAN tagged
GitHub →
🧪
Lab
Configurazione VLAN untagged
GitHub →
🧪
Lab
Configurazione Inter-VLAN tradizionale
GitHub →
🧪
Lab
Configurazione Inter-VLAN ROAS
GitHub →
🔗
Risorse
PKT VLAN untagged
PKT →
🔗
Risorse
PKT VLAN tagged
PKT →
🔗
Risorse
PKT VLAN STP
PKT →
🔗
Risorse
PKT Inter-VLAN tradizionale 1
PKT →
🔗
Risorse
PKT Inter-VLAN tradizionale 2
PKT →
🔗
Risorse
PKT ROAS 1
PKT →
🔗
Risorse
PKT ROAS 2
PKT →

Cos’è una VLAN e perché la usiamo

Immagina un’azienda con uffici, sala server e reception sullo stesso piano. Tutto connesso agli stessi switch. Senza VLAN, il traffico broadcast di un PC dell’ufficio raggiunge il server di produzione e la stampante della reception: è un problema di sicurezza, prestazioni e gestione.

Una VLAN (Virtual Local Area Network) crea dei domini broadcast separati su un’infrastruttura fisica condivisa. Gli switch sanno a quale VLAN appartiene ogni porta e non fanno passare il traffico da una VLAN all’altra — neanche i broadcast.

// definizione formale
Una VLAN è un dominio broadcast logico creato su uno o più switch mediante configurazione software. I dispositivi nella stessa VLAN si comportano come se fossero su una LAN fisica separata, indipendentemente da dove sono connessi fisicamente.

Vantaggi delle VLAN

// sicurezza

Isola il traffico: la VLAN Finance non vede i frame della VLAN Engineering. Anche se un intruso si connette fisicamente allo stesso switch, non accede alle altre VLAN.

// prestazioni

Riduce il dominio broadcast: un ARP broadcast raggiunger solo i dispositivi nella stessa VLAN, non l’intera LAN aziendale.

// flessibilità

Un utente cambia ufficio? Riassegni la porta allo switch: il suo indirizzo IP e la VLAN restano invariati, senza ricablare nulla.

// gestione

Separi i dipartimenti (VLAN 10 = IT, VLAN 20 = HR, VLAN 30 = VoIP) applicando policy diverse per ciascuno.

Il tag 802.1Q — come si identifica una VLAN

Gli switch devono sapere a quale VLAN appartiene ogni frame. Sulle porte verso gli end-device non serve nulla — la porta è configurata per una VLAN specifica. Ma quando due switch si connettono tra loro, devono poter trasportare frame di più VLAN sullo stesso link fisico. Come?

La risposta è il tag 802.1Q: uno switch inserisce 4 byte aggiuntivi nel frame Ethernet, tra i campi MAC sorgente e EtherType, per “marcare” il frame con l’ID della VLAN di appartenenza.

Struttura del frame Ethernet con tag 802.1Q

// frame Ethernet 802.1Q — layout campi
┌──────────┬──────────┬──────────────┬──────────┬──────────────────────┬───────────┐
│ Preambolo│  MAC     │   MAC sorg   │ 802.1Q   │  EtherType/Length    │  Payload  │  FCS
│  8 byte  │ dest 6B  │    6 byte    │  TAG 4B  │       2 byte         │ 46-1500B  │  4B
└──────────┴──────────┴──────────────┴──────────┴──────────────────────┴───────────┘
                                          │
                          ┌───────────────┼───────────────────────┐
                          │ TPID (2B)     │    TCI (2B)           │
                          │ 0x8100        │ PCP(3b) DEI(1b) VID(12b)│
                          └───────────────┴───────────────────────┘
CampoDimensioneValore / Significato
TPID2 byte0x8100 — identifica il frame come tagged 802.1Q
PCP3 bitPriority Code Point — QoS/CoS (0=best effort, 7=massima priorità)
DEI1 bitDrop Eligible Indicator — il frame può essere scartato in caso di congestione
VID12 bitVLAN ID — identifica la VLAN (0–4095). 0 e 4095 riservati, quindi 1–4094 usabili
// nota — frame size

Il tag 802.1Q aumenta la dimensione massima del frame Ethernet da 1518 a 1522 byte. Alcuni vecchi dispositivi non gestiscono frame “jumbo” tagged. Gli switch moderni riconoscono automaticamente il TPID 0x8100 e gestiscono il tag senza problemi.

Porte Access vs Porte Trunk

In un’infrastruttura VLAN ci sono due tipi fondamentali di porte sullo switch:

Tipo portaConnessa aTag 802.1QVLAN trasportate
Access PortEnd-device (PC, stampante, AP, VoIP)❌ — il device non vede il tagUna sola VLAN (la “untagged VLAN”)
Trunk PortSwitch–switch, switch–router✅ — ogni frame viene taggatoPiù VLAN (configurabili con allow list)
// accesso e trunk — schema
  PC-HR          PC-IT          PC-VoIP
  VLAN 20        VLAN 10        VLAN 30
    │               │               │
  Access          Access          Access
  port (20)       port (10)       port (30)
    │               │               │
  ┌─┴───────────────┴───────────────┴──────┐
  │          Switch A                       │
  └─────────────────────────────────────────┘
                      │
               Trunk port
            (VLAN 10,20,30)
            Tagged 802.1Q
                      │
  ┌─────────────────────────────────────────┐
  │          Switch B                       │
  └─────────────────────────────────────────┘
    │               │               │
  Access          Access          Access
  port (20)       port (10)       port (30)
    │               │               │
  PC-HR          PC-IT          IP-Phone

Configurazione VLAN su switch Cisco (IOS)

1 — Creare le VLAN e assegnare nomi

Switch# configure terminal
Switch(config)# vlan 10
Switch(config-vlan)# name IT
Switch(config-vlan)# exit
Switch(config)# vlan 20
Switch(config-vlan)# name HR
Switch(config-vlan)# exit
Switch(config)# vlan 30
Switch(config-vlan)# name VoIP
Switch(config-vlan)# exit

2 — Configurare porte Access

Switch(config)# interface fastEthernet 0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# exit

! Porta VoIP: access VLAN dati + voice VLAN
Switch(config)# interface fastEthernet 0/5
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# switchport voice vlan 30

3 — Configurare porta Trunk

Switch(config)# interface gigabitEthernet 0/1
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport trunk allowed vlan 10,20,30
Switch(config-if)# switchport trunk native vlan 99
Switch(config-if)# exit
// attenzione — native VLAN

La native VLAN è l’unica VLAN su un trunk che viaggia senza tag. Di default è la VLAN 1. Per sicurezza conviene cambiarla in una VLAN dedicata non usata da nessun host (es. VLAN 99). Se le due estremità del trunk hanno native VLAN diverse, si genera un VLAN mismatch — traffico non taggato “salta” di VLAN senza volerlo (VLAN hopping attack).

Verificare la configurazione

! Mostra tutte le VLAN e le porte associate
Switch# show vlan brief

! Mostra stato e configurazione dei trunk
Switch# show interfaces trunk

! Mostra la configurazione di una singola interfaccia
Switch# show interfaces fa0/1 switchport

Inter-VLAN Routing

Le VLAN separano il traffico a livello 2. Ma se un PC nella VLAN 10 deve comunicare con un server nella VLAN 20, serve un routing a livello 3 — le VLAN si comportano come sottoreti distinte e il traffico tra di esse deve passare da un router (o da un dispositivo L3).

Esistono tre approcci principali:

1 — Legacy: Router con interfacce fisiche separate

Un’interfaccia fisica del router per ogni VLAN. Semplice ma costoso: richiede tanti link fisici quante sono le VLAN. Non scalabile oltre 3–4 VLAN.

2 — Router-on-a-Stick (ROAS)

Un unico link fisico trunk tra switch e router. Il router crea subinterface logiche (una per VLAN), ognuna con IP gateway di quella VLAN. Economico in hardware, ma il link trunk diventa collo di bottiglia se il traffico inter-VLAN è intenso.

// router-on-a-stick
  VLAN 10          VLAN 20
  192.168.10.0/24  192.168.20.0/24
       │                │
  ┌────┴────────────────┴────┐
  │         Switch            │
  └─────────────┬─────────────┘
                │ Trunk (VLAN 10+20)
          ┌─────┴──────┐
          │   Router    │
          │  Gi0/0.10   │ 192.168.10.1/24  ← gateway VLAN 10
          │  Gi0/0.20   │ 192.168.20.1/24  ← gateway VLAN 20
          └─────────────┘

Configurazione ROAS su Cisco IOS:

Router(config)# interface gigabitEthernet 0/0
Router(config-if)# no shutdown
Router(config-if)# exit

! Subinterface per VLAN 10
Router(config)# interface gigabitEthernet 0/0.10
Router(config-subif)# encapsulation dot1Q 10
Router(config-subif)# ip address 192.168.10.1 255.255.255.0
Router(config-subif)# exit

! Subinterface per VLAN 20
Router(config)# interface gigabitEthernet 0/0.20
Router(config-subif)# encapsulation dot1Q 20
Router(config-subif)# ip address 192.168.20.1 255.255.255.0
Router(config-subif)# exit

3 — Switched Virtual Interface (SVI) — soluzione enterprise

Lo switch di livello 3 (Distribution o Core) crea internamente un’interfaccia virtuale per ogni VLAN. Il routing inter-VLAN avviene dentro lo switch, senza toccare router fisici. Massime prestazioni, nessun collo di bottiglia.

// SVI — Switched Virtual Interface
Una SVI è un’interfaccia logica su uno switch L3, associata a una VLAN specifica. Riceve un indirizzo IP che diventa il default gateway per tutti gli host in quella VLAN. Il routing tra SVI avviene nel piano di forwarding hardware dello switch — velocità di linea.
! Configurazione SVI su switch L3 Cisco
Switch-L3(config)# ip routing          ← abilita il routing L3

Switch-L3(config)# interface vlan 10
Switch-L3(config-if)# ip address 192.168.10.1 255.255.255.0
Switch-L3(config-if)# no shutdown
Switch-L3(config-if)# exit

Switch-L3(config)# interface vlan 20
Switch-L3(config-if)# ip address 192.168.20.1 255.255.255.0
Switch-L3(config-if)# no shutdown
Switch-L3(config-if)# exit

Confronto tra i tre approcci

MetodoHardware richiestoPrestazioniScalabilitàUso tipico
Router interfacce fisicheRouter + N porte fisicheMedia❌ ScarsaLaboratorio, legacy
Router-on-a-StickRouter + 1 link trunkMedia (bottleneck)✅ BuonaPMI, scenari con traffico inter-VLAN ridotto
SVI (Switch L3)Switch L3✅ Molto alta✅ OttimaEnterprise, Distribution layer
// VLAN hopping attack

Un attaccante può cercare di “saltare” da una VLAN all’altra sfruttando switch mode trunk negoziato automaticamente (DTP) o la native VLAN. Contromisure: disabilita DTP su tutte le porte (switchport nonegotiate), cambia la native VLAN a una VLAN dedicata e inutilizzata, disabilita le porte non usate (shutdown) e mettile in una VLAN vuota.

📌 Riepilogo — Punti chiave
  • Le VLAN separano logicamente il traffico L2 su un’infrastruttura fisica condivisa, riducendo i domini broadcast e aumentando la sicurezza.
  • Il tag 802.1Q (4 byte: TPID + TCI con VID a 12 bit) permette di trasportare più VLAN su un unico link fisico trunk.
  • Le porte Access connettono end-device a una singola VLAN; le porte Trunk trasportano più VLAN tra switch e verso router/switch L3.
  • Il Router-on-a-Stick usa subinterface su un unico trunk — soluzione economica per scenari con traffico inter-VLAN moderato.
  • Le SVI su switch L3 eseguono inter-VLAN routing in hardware — soluzione enterprise ad alte prestazioni e massima scalabilità.
  • La sicurezza VLAN richiede: native VLAN dedicata, DTP disabilitato, porte inutilizzate in shutdown.

Lascia un commento