VLAN – Virtual LAN

Segmentazione logica della rete con switch

Perché host sulla stessa rete IP possono (o non possono) comunicare
Cos’è una VLAN

Una VLAN (Virtual Local Area Network) è una suddivisione logica di una rete fisica. Host collegati allo stesso switch possono appartenere a reti di livello 2 separate.

Due host nella stessa VLAN si comportano come se fossero collegati allo stesso switch fisico dedicato.
Due host in VLAN diverse sono isolati a livello 2.
  • Le VLAN lavorano al livello 2 (Data Link)
  • Ogni VLAN ha il proprio dominio di broadcast
  • Uno switch può gestire più VLAN contemporaneamente
Topologia di esempio: switch con 3 VLAN

In laboratorio utilizziamo uno switch Layer 2 con tre VLAN:

  • VLAN 10 – PC0, PC1
  • VLAN 20 – PC2, PC3
  • VLAN 30 – PC4, PC5
Topologia con 3 VLAN su switch
Nota importante: tutti gli host appartengono alla stessa rete IP 192.168.1.0/24, ma la comunicazione dipende dalla VLAN.
Configurazione VLAN sullo switch

La prima operazione è la creazione delle VLAN nello switch.

VLAN Database su switch
Switch(config)# vlan 10
Switch(config-vlan)# name VLAN10
Switch(config)# vlan 20
Switch(config-vlan)# name VLAN20
Switch(config)# vlan 30
Switch(config-vlan)# name VLAN30
                

Successivamente, le porte vengono impostate in modalità access e associate alla VLAN corretta.

Assegnazione porta a VLAN
Switch(config)# interface fastEthernet 0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
                
Verifica: comunicazione all’interno e tra VLAN

Quando due PC appartengono alla stessa VLAN, la comunicazione funziona normalmente.

Ping riuscito nella stessa VLAN
Ping riuscito: stesso dominio di broadcast, ARP risolto correttamente.

Quando invece un PC tenta di comunicare con un host in VLAN diversa, il ping fallisce.

Ping fallito tra VLAN diverse
ARP timeout tra VLAN diverse
L’ARP non riceve risposta: lo switch non inoltra broadcast tra VLAN diverse. Serve un dispositivo di livello 3 per comunicare tra VLAN.

Inter-VLAN Routing: perché serve un router (router-on-a-stick)

Finché usiamo solo uno switch Layer 2, le VLAN restano separate: i broadcast (ARP compreso) non attraversano il confine di VLAN. Per permettere comunicazione tra VLAN diverse, serve un dispositivo di livello 3 (router o switch L3) che faccia routing tra le reti.

La soluzione più comune in laboratorio è il router-on-a-stick:
  • una sola interfaccia fisica del router collegata allo switch
  • il collegamento switch↔router viene impostato TRUNK
  • sul router si creano subinterface (una per VLAN) con 802.1Q (dot1Q)
Topologia con router per inter-vlan routing
Nota operativa: ogni VLAN deve corrispondere a una sottorete IP diversa. In questo esempio sono state usate 3 sottoreti /26.

Impostare la porta dello switch in modalità TRUNK

Prima di tutto bisogna scegliere la porta dello switch collegata al router (es. Fa0/7) e configurarla come trunk. In modalità trunk la porta può trasportare traffico di più VLAN contemporaneamente, aggiungendo un tag 802.1Q ai frame Ethernet.

Porta switch in modalità trunk e VLAN abilitate
In Packet Tracer, se imposti una porta come Trunk, vedrai anche la selezione delle VLAN consentite. In laboratorio, per iniziare, puoi permettere VLAN 10, 20, 30.
Switch# configure terminal
Switch(config)# interface fastEthernet 0/7
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 10,20,30
Switch(config-if)# end
Consiglio pratico: la porta verso i PC resta access (una VLAN sola), la porta verso il router (o verso un altro switch) diventa trunk (più VLAN).

Configurare le subinterface sul router con dot1Q

Sul router utilizziamo una singola interfaccia fisica (es. Fa0/0). Per ogni VLAN creiamo una subinterface (Fa0/0.ID) e abilitiamo l’incapsulamento 802.1Q con il comando encapsulation dot1Q.

Configurazione subinterface con encapsulation dot1Q
L’IP assegnato alla subinterface è il gateway per quella VLAN. Ogni PC nella VLAN deve avere come default gateway l’IP della subinterface corrispondente.
Router# configure terminal
Router(config)# interface fastEthernet 0/0
Router(config-if)# no shutdown
Router(config-if)# exit

Router(config)# interface fastEthernet 0/0.10
Router(config-subif)# encapsulation dot1Q 10
Router(config-subif)# ip address 192.168.1.62 255.255.255.192
Router(config-subif)# exit

Router(config)# interface fastEthernet 0/0.20
Router(config-subif)# encapsulation dot1Q 20
Router(config-subif)# ip address 192.168.1.126 255.255.255.192
Router(config-subif)# exit

Router(config)# interface fastEthernet 0/0.30
Router(config-subif)# encapsulation dot1Q 30
Router(config-subif)# ip address 192.168.1.190 255.255.255.192
Router(config-subif)# exit

Router(config)# end
Attenzione: se tutte le VLAN sono su una sola rete /24, il routing non ha senso. Con router-on-a-stick, ogni VLAN deve essere una rete diversa (es. /26, /27, ecc.).

Verifica: subinterface attive e comunicazione tra VLAN

Dopo la configurazione, controlliamo che le subinterface siano UP e abbiano un IP assegnato. Il comando più rapido è:

show ip interface brief con subinterface attive
Router# show ip interface brief
Se le subinterface sono up/up e i PC hanno gateway corretto, allora un PC in VLAN10 può pingare un PC in VLAN20 o VLAN30: il traffico passa nel trunk e viene instradato dal router.
Problemi tipici (da controllare in ordine):
  • porta verso router non in trunk / VLAN non consentite nel trunk
  • PC con gateway sbagliato (deve puntare alla subinterface della sua VLAN)
  • IP e mask non coerenti con la sottorete assegnata alla VLAN
  • interfaccia fisica del router in shutdown
Riepilogo rapido
  • Le VLAN separano logicamente una rete fisica
  • Ogni VLAN è un dominio di broadcast distinto
  • Host nella stessa VLAN comunicano senza problemi
  • Host in VLAN diverse non comunicano senza routing
  • Uno switch L2 non instrada traffico tra VLAN