Continuiamo con la nostra serie di articoli che, attraverso esempi pratici e semplificati, dimostrano l’applicazione di strumenti fondamentali nei rispettivi ambiti. In questo breve articolo introdurremo una tematica storicamente centrica nel networking, ossia l’inter-VLAN routing. In parole più semplici la comunicazione fra VLAN diverse. Sappiamo bene che attraverso le VLAN possiamo dividere una rete fisica un sottoreti logiche. Diverse VLAN corrispondono a diverse reti con diversi indirizzi. Si pone quindi la problematica di pemettere la comunicazione tra host appartenenti a VLAN diverse. Uno dei modi possibili è la tecnica del Router on a Stick. Uno dei fondamentali del networking è il concetto della necessità di servirsi di un Router per far comunicare reti diverse. (più precisamente servirsi delle sue interfacce). La tecnica Router on the stick permette di usare un unica interfaccia fisica del router sviluppando molteplici interfacce logiche da utilizzare come default gateway per le varie VLAN da far comunicare. Sappiamo che nelle moderne reti switching questa metodologie risulta desueta a fronte del più scalabile e flessibile utilizzo di switch L3 per ottenere lo stesso risultato. Detto ciò la valenza didattica del metodo di seguito descritto è indiscutibile:
Di seguito lo schema degli indirizzi che caratterizzano la topologia oggetto del laboratorio:
VLAN 2 –> 10.1.2.0/24 –> Default Gateway –> 10.1.2.1;
VLAN 3 –> 10.1.3.0/24 –> Default Gateway –> 10.1.3.1;
PC1 –> 10.10.3.10/24
PC2 –> 10.10.2.20/24
Operiamo in modo da dividere l’interfaccia Ethernet 0/1 in 2 subinterface logiche: Ethernet 0/1.2 e Ethernet 0/1.3. Rispettivamente queste interfacce rappresenteranno il default gateway per la VLAN 2 e la VLAN 3. Per realizzare questa divisione logica ci serviamo del protocollo dot1q abilitando l’encapsulation 802.1Q. Istanziamo le interfacce logiche con un suffisso che ricordi la VLAN a cui faranno capo. Questo è una buona prassi e non rappresenta un vincolo sostanziale. Dopo di che specifichiamo il VLAN identifier:
R1# conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)# int eth 0/1
R1(config-if)# no ip address
R1(config-if)# int eth0/1.2
R1(config-subif)# encapsulation dot1q 2
R1(config-subif)# ip address 10.10.2.1 255.255.255.0
R1(config-subif)# int eth0/1.3
R1(config-subif)# encapsulation dot1q 3
R1(config-subif)# ip address 10.10.3.1 255.255.255.0
R1(config-subif)# end
R1#
Adesso configuriamo lo switch con un trunk verso il Router e le porte in access sulle VLAN 2 e VLAN 3 nonchè il traffico Native che esula dalla trattazione del presente articolo. Il trunk ha lo scopo di trasportare il traffico di diverse VLAN sullo stesso Link:
SW1# conf t
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)# int e 0/2
SW1(config-if)# switchport trunk encapsulation dot1q
SW1(config-if)# switchport trunk native vlan 256
SW1(config-if)# switchport mode trunk
SW1(config-if)# end
SW1#
*Oct 30 09:55:41.399: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/2,
changed state to down
*Oct 30 09:55:44.049: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/2,
changed state to up
Switch(config-if)# interface Ethernet 1/1
Switch(config-if)# switchport access vlan 2
Switch(config-if)# interface Ethernet 1/0
Switch(config-if)# switchport access vlan 3
Attraverso gli opportuni ping, verifichiamo la comunicazione tra VLAN diverse. Per prima cosa verifichiamo la comunicazione dal router verso PC1 e PC2. Dopo verifichiamo la comunicazione tra PC1 e PC2. E infine, utilizzando il traceroute, appuriamo che il traffico tra PC1 e C2 passi effettivamente attraverso il Router R1.
R1# ping 10.10.3.10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.3.10, timeout is 2 seconds:
..!!!
Success rate is 60 percent (3/5), round-trip min/avg/max = 1/1/1 ms
R1# ping 10.10.2.20
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.2.20, timeout is 2 seconds:
.!!!!
PC1# ping 10.10.2.20
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.2.20, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
PC1# traceroute 10.10.2.20
Type escape sequence to abort.
Tracing the route to 10.10.2.20
VRF info: (vrf in name/id, vrf out name/id)
1 10.10.3.1 0 msec 0 msec 0 msec
2 10.10.2.20 0 msec * 1 msec