Passa ai contenuti principali

Linux e le VLAN - interfacciare linux con uno switch layer 3

Le VLAN: Virtual Local Area Network, sono una tecnologia che permette di definire reti indipendenti sullo stesso segmento fisico o addirittura reti di calcolatori e dispositivi che si comportano come se stessero connessi allo stesso cavo anche se nella realtà sono connessi a segmenti differenti e magari distanti tra loro attraverso il VLAN trunking.
Le VLAN banalmente spostano la definizione delle reti ad un livello logico più alto di quello fisico.
Per essere precisi, operano a livello data link (Layer 2) ma possono essere impostate per definire una rete IP, o una sottorete coinvolgendo competenze del livello network (Layer 3).
Solitamente si usano switch layer 3 per realizzare queste tecnologia: nel nostro caso avremo a che fare con uno switch Cisco Catalyst 2950.

Quello che vogliamo fare è collegare una macchina linux ad una porta trunk dello switch. Vogliamo che questa nostra postazione abbia accesso a tutte le VLAN disponibili.

Fortunatamente il kernel Linux permette di adeguarsi allo standard 802.1Q attraverso un modulo 8021q e il comando vconfig. Il procedimento sta nel creare delle nuove interfacce virtuali di rete impostate con un certo VLAN ID. Il sistema operativo non nota nessuna differenza e tratta queste interfacce come se fossero reali: regole di routing ed impostazioni vengono eseguite senza alcuna differenza, sarà il modulo kernel a garantire la giusta gestione dei pacchetti. Cerchiamo di esplicitare questo concetto con un esempio pratico.

Come condizione iniziale abbiamo collegato la linux box ad una porta trunk dello switch. Nel nostro esempio la macchina amministrativa avrà indirzzo IP 192.168.0.1 per l’interfaccia di rete eth0 mentre lo switch avrà l’indirizzo IP 192.168.0.254 e dispone di tre VLAN con indirizzi di rete 192.168.2.0, 192.168.3.0 e 192.168.4.0 e con VLAN ID rispettivamente 2,3 e 4.

Lato Cisco Catalyst 2950

Aggiungere una VLAN
Aggiungiamo tre VLAN con ID:2,3 e 4. La procedura è semplice:
> enable
# vlan database
(vlan)# vlan name
(vlan)# exit
Aggiungere una porta dello switch ad una VLAN in maniera statica
Questa è la procedura usata solitamente per impostare una porta, e quindi l’interfaccia di rete ad essa collegata ad una VLAN.
> enable
# configure terminal
(config)# interface
(config-if)# switchport mode access
(config-if)# switchport access vlan
(config-if)# end
Impostare una porta trunk che acceda a tutte le VLAN esistenti
Una porta trunk permette di collegare più switch di livello 3 tra di loro oppure come nel nostro caso collegare la macchinalinux allo switch. I pacchetti in questo tratto viaggiano con i tag relativi alle VLAN di appartenenza.
> enable
# configure terminal
(config)# interface
(config-if)# switchport mode trunk
(config-if)# switchport trunk allowed vlan all
(config-if)# end

Lato Linux

Per prima cosa dobbiamo caricare il modulo 8021q del kernel linux che ci permette di aggiungere i tag ai pacchetti che spediamo con il comando eseguito da utente root:
# modprobe 8021q
Assegniamo quindi l’indirizzo d'esempio alla linux box e impostiamo come gateway predefinito il nostro switch layer 3.
# ifconfig eth0 192.168.0.1
# route add default gw 192.168.0.254

È il momento adesso di creare delle interfacce aggiuntive per ogni VLAN: 2,3 e 4. Da queste interfacce usciranno i pacchetti con i giusti tag.
# vconfig add eth0 2
# vconfig add eth0 3
# vconfig add eth0 4

Infine dobbiamo assegnare alle nuove interfacce create degli indirizzi IP validi e coerenti con l’ambiente a disposizione.
# ifconfig eth0.2 192.168.2.1 up
# ifconfig eth0.3 192.168.3.1 up
# ifconfig eth0.4 192.168.4.1 up

Ora è possibile fare dei ping alle VLAN per testare il tutto.

Post popolari in questo blog

Se excel non aggiorna le formule

Oggi in ufficio è capitata una richiesta particolare. In un documento excel dopo aver eseguito un copia-incolla di una formula non si aggiornavano i risultati nelle celle interessate. Dopo attimi di perplessità dal fondo dell'ufficio il capo ci illumina con una funzione ai più sconosciuta e che ha risolto il problema: il tasto F9. Scusate la mia ignoranza in excel ma questo blog è pensato proprio per appuntare esperienze di vita informatica. Tutto sta nel fatto che i "calcolatori d'un tempo" non disponevano di una adeguata potenza di calcolo e nelle operazioni di copia-incolla si verificavano lunghe attese per l'aggiornamento. La soluzione adottata da MS è stata quella di inserire un'opzione per impedire l'aggiornamento automatico e forzarlo con una combinazione di tasti... il tasto F9!
Combinazioni utili per il calcolo delle formule F9 = calcola le formule modificate dall'ultimo calcolo in tutte le cartelle e fogli di lavoro aperte. MAIUSC + F9 = c…

Dove si trova il mio ISP?

Il link di oggi è My IP Address Lookup. Questo servizio spagnolo mostra dove si trova fisicamente il vostro ISP. Quando vi collegate ad internet in realtà prima fate una richiesta (il vostro modem o router) ad una macchina del vostro ISP e poi vi viene assegnato un indirizzo IP. Se volete sapere dove si trova la macchina che vi permette di accedere alla rete visitate pure
http://www.ip-adress.com/

Potrete inoltre conoscere il vostro IP e il provider che ve lo offre

RaspberryPi: Controllare il desktop da remoto con VNC

Premessa
A volte può essere utile avere l'accesso da remoto ad un desktop grafico sul nostro raspberrypi. Il metodo più diffuso è quello di installare un server VNC e collegarsi poi con un client da un altro computer. Per il raspberrypi possiamo scegliere tra due strade a seconda dell'utilizzo che se ne vuole fare:

Installare TightVNC Server: crea una sessione diversa per ogni connessione non cifrataInstallare x11vnc: permette di comandare il desktop dell'utente corrente sul raspberrypi
Tra i due metodi ho preferito il secondo visto che il mio raspi è collegato direttamente ad un televisore CRT. In questo modo posso navigare in internet su schermo grande direttamente dal tablet comodamente seduto sul divano. Unica nota negativa è che questo meccanismo non funziona per pilotare XBMC, per il quale è meglio utilizzare il client per android per esempio.

Installare TightVNC Server
1. Da linea di comando eseguire
sudo apt-get install tightvncserver
2. Avviare il server con il coman…