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.
In laboratorio utilizziamo uno switch Layer 2 con tre VLAN:
La prima operazione è la creazione delle VLAN nello switch.
Switch(config)# vlan 10
Switch(config-vlan)# name VLAN10
Switch(config-vlan)# exit
Switch(config)# vlan 20
Switch(config-vlan)# name VLAN20
Switch(config-vlan)# exit
Switch(config)# vlan 30
Switch(config-vlan)# name VLAN30
Switch(config-vlan)# exit
Successivamente, le porte vengono impostate in modalità access e associate alla VLAN corretta.
Switch(config)# interface fastEthernet 0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Due PC nella stessa VLAN condividono il dominio di livello 2. Per comunicare direttamente tramite IP devono anche avere indirizzi distinti, maschere coerenti e appartenere alla stessa sottorete, con collegamenti attivi e senza filtri che blocchino il traffico.
In questo primo scenario, con il solo switch Layer 2 e senza routing tra VLAN, il ping verso un host in VLAN diversa fallisce. Il risultato riguarda questa configurazione: con un dispositivo Layer 3 e un piano IP adeguato è possibile comunicare tra VLAN.
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.
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, normalmente identificando la VLAN con un tag IEEE 802.1Q. Fa eccezione la native VLAN, il cui traffico su un trunk Cisco 802.1Q è normalmente privo di tag; la VLAN nativa deve essere coerente ai due estremi.
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
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.
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
Dopo la configurazione, controlliamo che le subinterface siano UP e abbiano un IP assegnato. Il comando più rapido è:
Router# show ip interface brief