You are on page 1of 18

VLAN

LAN Tradizionale
Una rete locale, o LAN (Local Area Network), è un'infrastru9ura di rete che fornisce conne<vità a
una varietà di disposi@vi o host in una località geografica limitata, come un edificio o un campus. In
una LAN tradizionale, gli host sono aggrega@ "fisicamente", o collega@ dire9amente, a9raverso
l'uso di disposi@vi di rete come hub, switch e router.
§ L'Hub è il disposi@vo di rete più semplice. Non differenzia né il dominio di collisione né il
dominio di broadcast. Questo significa che tu< i da@ invia@ a un hub sono inoltra@ a tu< gli
altri disposi@vi collega@ all'hub. Di conseguenza, le collisioni (quando due o più disposi@vi
cercano di inviare da@ contemporaneamente) possono verificarsi frequentemente, e tu< i
disposi@vi sulla rete riceveranno tu< i messaggi di broadcast.
§ Lo Switch è un disposi@vo di rete più avanzato. Differenzia il dominio di collisione ma non il
dominio di broadcast. Ciò significa che uno switch è in grado di instradare i da@ solo al
disposi@vo des@natario, riducendo così la possibilità di collisioni. Tu9avia, come un hub, uno
switch inoltra i messaggi di broadcast a tu< i disposi@vi sulla rete.
§ Il Router è il disposi@vo di rete più sofis@cato tra i tre. Differenzia sia il dominio di collisione sia
il dominio di broadcast. Questo significa che un router è in grado di instradare i da@ solo al
disposi@vo des@natario e non inoltra i messaggi di broadcast tra le diverse re@ o so9ore@ che
collega. Questo aiuta a isolare le re@, migliorare l'efficienza e aumentare la sicurezza.
Nelle LAN tradizionali, la suddivisione delle re@ secondo indirizzi IP rappresenta una ges@one logica
della rete, ciò significa che la stru9ura e l'organizzazione della rete vengono definite e ges@te a
livello di indirizzi IP, piu9osto che sulla base della posizione fisica dei disposi@vi o delle loro
connessioni.
In altre parole, gli indirizzi IP vengono assegna@ ai disposi@vi o host in base a criteri logici e
organizza@vi, come raggruppare disposi@vi con funzioni simili, appartenen@ allo stesso
dipar@mento o situa@ nella stessa area geografica. Questo metodo di suddivisione delle re@
perme9e una ges@one più flessibile, scalabile ed efficiente della rete.
Un esempio di ges@one logica nella suddivisione delle re@ è l'u@lizzo di so9ore@. Un
amministratore di rete può dividere una rete IP più ampia in so9ore@ più piccoli per organizzare e
ges@re meglio i disposi@vi e le risorse di rete. Ad esempio, una grande azienda potrebbe avere
so9ore@ separa@ per ogni dipar@mento o edificio. Questo @po di organizzazione logica facilita il
monitoraggio, la manutenzione e l'isolamento di problemi specifici, oltre a migliorare la sicurezza e
l'efficienza della rete nel suo insieme.

1
VLAN
Routing & Dominio di Collisione
Di seguito uno scenario in cui in cui due re@ differen@ sono state configurate in domini di
broadcast differen5 (separazione tramite u@lizzo di switch differen@):

È possibile realizzare la stessa rete u@lizzando un unico switch per entrambe le re@ IP (vedi rete so9o):
§ Dal punto di vista funzionale, la nuova rete (con un unico switch) sarà analoga alla rete sopra
§ Dal punto di vista della sicurezza, le due re@ condividono lo stesso dominio di broadcast

NOTA:
Se due re@ condividono lo stesso dominio di broadcast Ethernet, significa che i messaggi di
broadcast invia@ da un disposi@vo in una delle re@ possono essere ricevu@ da disposi@vi nell'altra
rete. Dal punto di vista della sicurezza, questa configurazione può presentare delle preoccupazioni.

2
VLAN
Il termine Virtual Local Area Network (VLAN) si riferisce a un insieme di tecnologie che perme9ono
di dividere una rete locale basata su switch in diverse re@ logiche, che non comunicano tra di loro,
pur condividendo la stessa infrastru9ura fisica. La VLAN consente quindi di segmentare un unico
dominio di broadcast in più re@ indipenden@.
L'idea alla base di una VLAN è quella di raggruppare insieme disposi@vi, indipendentemente dalla
loro posizione fisica, e farli agire come se fossero sulla stessa rete. Questo è fa9o assegnando a
ciascun disposi@vo un'iden@tà VLAN specifica, che è u@lizzata per iden@ficare a quale VLAN
appar@ene.
§ Isolamento Logico: Una delle cara9eris@che chiave delle VLAN è l'isolamento logico. Ciò
significa che i disposi@vi in una VLAN non possono comunicare dire9amente con i disposi@vi in
un'altra VLAN, a meno che non sia configurato un disposi@vo di livello 3, come un router o un
Layer-3 switch. Questo isolamento può migliorare la sicurezza della rete impedendo il traffico
indesiderato tra VLAN e limitando l'effe9o di un problema di sicurezza o di prestazioni a una
singola VLAN.
§ Facilità di Ges5one/Cos5: Le VLAN possono anche semplificare la ges@one della rete e ridurre i
cos@. Senza VLAN, per creare re@ separate è necessario installare cavi e switch fisici separa@, il
che può essere costoso e complicato da ges@re. Con le VLAN, tu9avia, è possibile creare più
re@ separate u@lizzando la stessa infrastru9ura fisica, il che può risparmiare denaro e
semplificare la ges@one della rete.
§ Isolamento: Una delle principali cara9eris@che di una VLAN è il suo potere di isolamento.
All'interno di una VLAN, la comunicazione Host-to-Network (H2N) è confinata esclusivamente
all'ambito della stessa VLAN. Ciò significa che i disposi@vi presen@ in una VLAN non possono
comunicare dire9amente con quelli appartenen@ a un'altra VLAN. Questo @po di isolamento
impedisce che il traffico non autorizzato a9raversi le VLAN, migliorando la sicurezza
complessiva della rete. Inoltre, il traffico di broadcast, che si riferisce ai messaggi invia@ a tu< i
disposi@vi in una rete, è limitato agli host all'interno della stessa VLAN. Questo riduce la
quan@tà di traffico di rete inu@le e potenzialmente dannoso, migliorando l'efficienza e le
prestazioni della rete e riducendo la possibilità di cosidde< "broadcast storms", che possono
rallentare l'intera rete. In questo modo, ogni VLAN funziona come una rete indipendente e
separata, contribuendo a mantenere la stabilità e l'integrità di ciascuna rete virtuale.
Il funzionamento delle VLAN si basa sulla ges@one del protocollo ARP (Address Resolu@on
Protocol). Quando un host ha bisogno di risolvere un indirizzo IP in un indirizzo MAC, u@lizza ARP
per inviare una richiesta broadcast alla rete. Poiché una VLAN è un dominio di broadcast separato,
questa richiesta broadcast arriverà solo agli host all'interno della stessa VLAN. In questo modo, il
traffico può essere efficacemente isolato e ges@to tra diverse VLAN.

3
VLAN
Bridge VLAN-Aware
Un Bridge VLAN-aware è un disposi@vo che può dis@nguere tra differen@ VLAN all'interno di una
rete. Questo significa che il bridge è consapevole (aware) dell'esistenza di diverse VLAN e può
manipolare il traffico di rete in base a questa consapevolezza tenendo conto delle assegnazioni e
delle regole specifiche delle VLAN tramite una Access List.

Access List
Le Access List determinano quali porte del bridge possono inviare o ricevere frame da specifiche
VLAN, consentendo un controllo accurato del traffico. Questo sistema garan@sce che il traffico di
una VLAN rimanga isolato dalle altre, a meno di un'autorizzazione esplicita.

Etichettatura dei Frame


Quando un frame di da@ raggiunge un bridge (un disposi@vo che conne9e diverse re@), viene
assegnato un'e@che9a con un iden@ficatore numerico che rappresenta la VLAN di appartenenza.
Questo iden@ficatore, chiamato anche VLAN ID, è fondamentale per il funzionamento del bridge,
esso determina le regole per l'inoltro del frame all'interno della rete.
L'iden@ficatore della VLAN funge da indicatore per il bridge su come ges@re e dove indirizzare quel
frame specifico. Ad esempio, se un frame è e@che9ato con l'ID della VLAN 1, il bridge sa che deve
inoltrare quel frame solo alle porte associate a quella par@colare VLAN, mantenendo così isolato il
traffico delle diverse VLAN e garantendo la sicurezza e l'efficienza della rete.

Assegnazione della VLAN


L'assegnazione della VLAN ad un frame può essere determinata in base a diverse cara9eris@che del
pacche9o, tra cui:
§ Livello 1 - Porta di ingresso: La VLAN è assegnata al frame in base alla porta fisica del bridge da
cui il frame proviene. Questa strategia è spesso u@lizzata per suddividere i disposi@vi secondo
la loro ubicazione fisica o il loro ruolo nella rete.
§ Livello 2 - MAC Address del frame: La VLAN è assegnata in base all'indirizzo MAC del frame. In
questo modo, i disposi@vi vengono assegna@ a una specifica VLAN in base al loro indirizzo MAC
univoco.
§ Livello 3 e Livello 4 - Proprietà superiori del pacchePo: L'assegnazione della VLAN può anche
dipendere da proprietà di livello più alto del pacche9o, come gli indirizzi IP (Livello-3) o i
numeri di porta (Livello.4). Questo offre una ges@one più de9agliata e versa@le delle VLAN,
basata su poli@che di rete più sofis@cate.

4
VLAN
Bridge VLAN
Bridge - Access Link
Un Access Link è una connessione punto-punto tra un Host (come un computer o un server) e uno
Switch. Questo Link è membro di una singola VLAN e non aggiunge o rimuove e@che9e (tag) VLAN
dai pacche< che trasporta. In generale, un Access Link è u@lizzato per conne9ere disposi@vi di rete
'edge' (ad esempio, PC o server) che non sono consapevoli della VLAN, disposi@vi VLAN-Unaware.
Quando il traffico arriva al bridge da un disposi@vo a9raverso un Access Link, il bridge aggiunge un
Tag al frame che indica il VLAN ID della VLAN appartenenza. Questo processo è chiamato Tagging.
Questo Tag viene u@lizzato per ges@re e indirizzare il traffico all'interno della rete, assicurando che
il frame raggiunga solo le porte che fanno parte della stessa VLAN.
Quando il traffico esce dal bridge verso un disposi@vo a9raverso un Access Link, il bridge rimuove il
Tag dal frame. Questo processo è chiamato Untagging. In questo modo, il disposi@vo riceve il
frame senza il Tag della VLAN, dato che non è in grado di interpretarlo.
Questo processo di Tagging e Untagging avviene in modo trasparente, ovvero senza che il
disposi@vo collegato all'Access Link debba ges@re o essere consapevole di esso. Questo perme9e ai
disposi@vi non consapevoli delle VLAN di operare all'interno di una rete che u@lizza le VLAN,
mantenendo allo stesso tempo l'isolamento del traffico tra diverse VLAN.

Bridge - Trunk Link


Un Trunk Link è una connessione tra due Switch, o tra uno Switch e un Host (come un router o un
server), dispos@vi VLAN-Aware, che è capace di ges@re il traffico di molteplici VLAN. I Trunk Link
u@lizzano l'e@che9atura (Tagging) VLAN per dis@nguere il traffico proveniente da diverse VLAN.
Questo significa che ogni pacche9o che viene inviato su un Trunk Link include un Tag che indica a
quale VLAN appar@ene. L'uso di Trunk Link è essenziale in re@ di grandi dimensioni con molte
VLAN, poiché consente di ges@re il traffico di molteplici VLAN su una singola connessione fisica.
Un Trunk Link è capace di trasportare il traffico di molteplici VLAN contemporaneamente. In altre
parole, può ges@re frame provenien@ da diverse VLAN che sono e@che9a@ con diversi VLAN ID.
Questo perme9e a disposi@vi differen@ di comunicare tra diverse VLAN a9raverso lo stesso Link fisico.
Ad esempio, da@ due switch collega@ da un Trunk Link. Entrambi gli switch sono consapevoli delle
VLAN e ges@scono il traffico di diverse VLAN. Quando un frame arriva allo switch a9raverso il Trunk
Link, lo switch esamina il tag VLAN del frame e lo inoltra alla VLAN corrispondente. Questo
perme9e una ges@one efficiente del traffico tra diverse VLAN su un singolo link fisico, mantenendo
l'isolamento del traffico tra le diverse VLAN.
IEEE 802.1Q
A differenza di altri metodi, lo standard 802.1Q non incapsula il frame Ethernet originale ma modifica
dire9amente il frame aggiungendo un campo di tag VLAN. Questo campo aggiunto al frame Ethernet
con@ene un iden@fica@vo unico di 12 bit per la VLAN. Ciò consente di iden@ficare fino a 4096 VLAN
dis@nte (i numeri 0 e 4095 sono riserva@ e non vengono u@lizza@ per le VLAN normali).
Per dis@nguere un frame Ethernet con tag 802.1Q da un normale frame Ethernet, viene u@lizzato un
valore di Protocol Iden@fier (TPID) di 0x8100. Questo valore, inserito nel tag VLAN, segnala ai disposi@vi
di rete che il frame con@ene un tag 802.1Q e che dovrebbero tra9arlo di conseguenza.
EtherType/
Preamble SFD Destination MAC Source MAC Size Payload CRC / FCS Inter Frame Gap
1 2 3 4 5 6 7 8 1 2 3 4 5 6 1 2 3 4 5 6 1 2 1 . . . n 1 2 3 4 1 2 3 4 5 6 7 8 9 10 11 12
n = 46–1500

EtherType/
Preamble SFD Destination MAC Source MAC 802.1Q Header Size Payload CRC / FCS Inter Frame Gap
1 2 3 4 5 6 7 8 1 2 3 4 5 6 1 2 3 4 5 6 1 2 3 4 1 2 1 . . . n 1 2 3 4 1 2 3 4 5 6 7 8 9 10 11 12
TP ID=0x8100 PCP/DEI/VID n = 42–1500

5
VLAN
Bridge VLAN
Bridge - Hybrid Link
Il collegamento Hybrid Link è un @po par@colare di collegamento che all'interno delle VLAN ha la
capacità di collegare sia disposi@vi consapevoli (VLAN-Aware), come switch o router, sia disposi@vi
non consapevoli (VLAN-Unaware), come alcuni computer o altri disposi@vi endpoint.
Questa flessibilità è possibile grazie alla capacità dell'Hybrid Link di ges@re sia il traffico Tagged
ovvero con tag VLAN, u@lizzata dai disposi@vi VLAN-Aware sia il traffico Untagged ovvero senza tag
VLAN, @picamente u@lizzato dai disposi@vi VLAN-Unaware. Un collegamento Hybrid Link assume
un comportamento differenziato a seconda della situazione:
§ Quando un frame arriva all'Hybrid Link da un disposi@vo VLAN-Unaware, il comportamento è
simile a quello di un Access Link, il bridge aggiunge tag VLAN al frame in ingresso (Tagging) e
rimuove il tag VLAN dal frame in uscita (Untagging).
§ Quando un frame arriva da un disposi@vo VLAN-Aware, l'Hybrid Link si comporta come un
Trunk Link, il frame con il suo tag VLAN viene inoltrato come tale, senza che l'e@che9a VLAN
venga rimossa.
L'Hybrid Link è u@le in scenari in cui si ha bisogno di conne9ere diversi @pi di disposi@vi a9raverso
lo stesso link fisico, mantenendo allo stesso tempo la separazione del traffico di rete tra diverse
VLAN. Questo @po di link offre una maggiore flessibilità, poiché può ada9arsi alle esigenze di
diversi @pi di disposi@vi in una rete VLAN.

<physif> Rappresenta l'interfaccia fisica (ad es. eth0)


<virtif> Rappresenta l'interfaccia virtuale che si desidera creare (ad es. eth0.10 per la VLAN 10)
<N> Rappresenta il VLAN ID (un numero tra 1 e 4094)

6
VLAN
Configurazione VLAN
Quando si crea un'interfaccia VLAN si sta creando un'Interfaccia Virtuale figlia di un'Interfaccia Fisica:
§ All'interfaccia virtuale arriveranno solo i pacche< per la VLAN rela@va ricevu@ dall'interfaccia fisica
§ I pacche< invia@ tramite l'interfaccia virtuale avranno il tag VLAN aggiunto automa@camente e
saranno invia@ sull'interfaccia fisica
APenzione
§ Prima di configurare uninterfaccia VLAN va configurata la sua interfaccia fisica (Ad es. eth0)!
§ Prima di creare una macchina UML collegata ad uno switch VDE (Ad es. s1) va creato lo switch VDE!

Configurazione Temporanea
Rimozione di un'Interfaccia di Rete VLAN:
$ ip link del <virtif>
Creazione di un'Interfaccia di Rete VLAN:
$ ip link add link <physif> name <virtif> type vlan id <N>
§ ip link add
Questo comando consente di creare una nuova interfaccia di rete.
§ link <physif>
Specifica l'interfaccia fisica a cui è associata la nuova interfaccia VLAN, quindi, si sos@tuisce
<physif> con il nome dell'interfaccia fisica che stai u@lizzando, ad esempio eth0.
§ name <virtif>
Specifica il nome dell'interfaccia VLAN che si sta creando, quindi si sos@tuisce <virtif> con il
nome desiderato per l'interfaccia VLAN, ad esempio vlan10.
§ type vlan id <N>
Specifica che il @po di interfaccia da creare è una VLAN e definisce l'ID di questa VLAN, quindi si
sos@tuire <N> con l'ID che desidera assegnare alla VLAN, ad esempio 10.
Esempio:
Creiamo una Macchina UML collegata ad uno switch VDE:
$ vde_switch -s s1 -M $(pwd)/s1_term -d → Creazione dello switch VDE
$ ./linux ubd0=h1.cow,rootfs.ext4 eth0=vde,s1
Configuriamo l'interfaccia fisica della Macchina UML:
$ ifconfig eth0 192.168.1.1 netmask 255.255.255.0
$ ifup eth0
Configuriamo l'interfaccia di rete VLAN (vlan10) sulla interfaccia fisica eth0 con ID 10:
$ ip link add link eth0 name vlan10 type vlan id 10 → Creazione VLAN
$ ifconfig vlan10 up

Configurazione Permanente
Per rendere la configurazione di un'interfaccia di rete VLAN permanente è necessario salvarla
all'interno del file /etc/network/interfaces:
auto <physif>.<N>
iface <physif>.<N> inet static
address <ip_address>
netmask <netmask>
gateway <ip_addr_gateway>
Con@nuazione →

7
VLAN
Configurazione VLAN
Recupero VLAN ID
Quando si crea un'Interfaccia VLAN u@lizzando il comando ip link add, non èè de9o che il
nome dell'interfaccia virtuale rifle9a l'ID della VLAN. In altre parole, nonostante sia comune
denominare le interfacce virtuali includendo l'ID della VLAN nel nome (come eth0.10 per la
VLAN 10), questo non è un requisito fondamentale. Quindi quando ci si trova in questa situazione
è possibile recuperare il VLAN ID associato ad una interfaccia con il seguente comando:
$ grep VID /proc/net/vlan/<virtif>
Dove <virtif> è il nome dato all'interfaccia.
Esempio:
Configuriamo una nuova interfaccia VLAN (pippo) sulla interfaccia fisica eth0 con ID 10:
filippo $ ip link add link eth0 name pippo type vlan id 10
Recuperiamo l'ID dell'interfaccia:
filippo $ grep VID /proc/net/vlan/pippo
pippo VID: 10 REORDER_HDR: 1 dev->priv_flags: 1

8
VLAN
VDE - Virtual Distributed Ethernet
Con VDE, puoi è possibile creare switch virtuali, router virtuali e re@ complete che possono essere
connesse tra loro. Il vde_switch include una serie di comandi per ges@re le sue varie
funzionalità, i principali sono:
§ help
Fornisce una lista di comandi disponibili e informazioni per l'u@lizzo del programma.
§ port
I comandi port sono u@lizza@ per ges@re le porte di uno switch virtuale VDE da cui è possibile
creare, rimuovere o controllare lo stato delle porte.
§ vlan
I comandi vlan sono u@lizza@ per ges@re le VLAN (Virtual Local Area Networks) all'interno
dello switch virtuale.
§ hash
I comandi hash sono u@lizza@ per ges@re la tabella hash dello switch, la tabella hash @ene
traccia delle associazioni tra gli indirizzi MAC e le porte dello switch.

Creazione VLAN
Creazione di una VLAN sullo switch:
s1_term$ vlan/create <vlan_number>
§ vlan/create <vlan_number>
Crea una nuova VLAN, iden@ficata dal numero della VLAN (VLAN ID), all'interno di una rete
virtuale creata con vde.

Configurazione
§ VLAN Untagged – Access Link
Configurare l'appartenenza di una porta di rete specifica a una VLAN specifica sullo switch:
s1_term$ port/setvlan <port_number> <vlan_number>
Questo comando viene u@lizzato per impostare l'appartenenza di una porta ad una VLAN,
esistente, come VLAN Untagged. In altre parole, la porta viene configurata per inviare e
ricevere frame di rete senza un'e@che9a VLAN. Questo significa che il traffico sulla porta viene
considerato parte della VLAN specificata senza l'aggiunta di un'e@che9a VLAN.
§ VLAN Tagged – Trunk Link
Aggiungere una porta specifica a una VLAN esistente.
s1_term$ vlan/addport <vlan_number> <port_number>
Questo comando viene u@lizzato per impostare l'appartenenza di una porta ad una VLAN,
esistente, come VLAN Tagged. Questo comando perme9e alla porta di inviare e ricevere frame
di rete con un VLAN Tag. Il VLAN Tag consente di iden@ficare e separare il traffico delle diverse
VLAN all'interno del sistema o dell'apparato di rete.
Quando un frame Ethernet viene passato da un Access Link ad un Trunk Link (che può
trasportare il traffico di più VLAN), un VLAN Tag viene aggiunto all'header del frame Ethernet.
Questo Tag con@ene l'ID della VLAN a cui il frame appar@ene, così come altre informazioni di
controllo. Quando il frame raggiunge l'altro lato del link trunk, il Tag viene rimosso prima che il
frame venga passato al Link di accesso appropriato.

Con@nuazione →

9
VLAN
VDE - Virtual Distributed Ethernet
Visualizzazione VLAN
Il comando vlan/print viene u@lizzato per visualizzare le informazioni di configurazione
rela@ve alle VLAN presen@ nel sistema o nell'apparato di rete. Esso mostra una lista di tu9e le
VLAN configurate, insieme ai de9agli associa@, come il numero di VLAN, l'ID della VLAN, le porte
assegnate e altre opzioni di configurazione. Questo comando è u@le per o9enere una panoramica
delle VLAN presen@ e per verificare la corre9ezza delle impostazioni di configurazione VLAN.
s1_term$ vlan/print
VLAN 0000
VLAN 0010
-- Port 0001 tagged=0 active=1 status=Forwarding
-- Port 0003 tagged=0 active=1 status=Forwarding
VLAN 0020
-- Port 0002 tagged=0 active=1 status=Forwarding
-- Port 0003 tagged=1 active=1 status=Forwarding
Success
tagged=1: Trunked Link, acce9a solo pacche< tagga@ IEEE 802.1q
tagged=0: Access Link, acce9a anche pacche< non tagga@, applica il tag a quelli non tagga@

Visualizzazione Tabelle di Hash


Il comando hash/print viene u@lizzato per visualizzare le informazioni rela@ve alle tabelle di
hash u@lizzate per la ges@one dell'instradamento o altre funzionalità specifiche all'interno di un
sistema o di un apparato di rete. Le tabelle di hash sono spesso u@lizzate per associare valori di
input a valori di output in modo efficiente. Con questo comando è possibile visualizzare i de9agli
delle tabelle di hash configurate, come le dimensioni, le voci presen@ e le impostazioni di
configurazione ed è u@le per monitorare e comprendere la configurazione delle tabelle di hash
all'interno del sistema o dell'apparato di rete.
s1_term$ hash/print
Hash: 0028 Addr: 3e:d3:4d:04:ff:26 VLAN 0020 to port: 003 age 1 secs
Hash: 0041 Addr: a6:36:ea:a8:23:44 VLAN 0010 to port: 001 age 1 secs
Hash: 0075 Addr: 3e:d3:4d:04:ff:26 VLAN 0010 to port: 003 age 1 secs
Hash: 0084 Addr: fe:f7:28:af:54:ce VLAN 0020 to port: 002 age 1 secs
Success

h1$ ifconfig eth0


eth0 Link encap:Ethernet HWaddr a6:36:ea:a8:23:44
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a436:eaff:fea8:2344/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:29 errors:0 dropped:0 overruns:0 frame:0
TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2052 (2.0 KiB) TX bytes:2272 (2.2 KiB)
Interrupt:5
Il collegamento fra indirizzo MAC e numero di porta è necessario per conoscere a quali porte sono
collega@ i nodi UML quando ci si collega con stack standard UML.
APenzione
Usare il comando shutdown per spegnere lo switch VDE:
s1_term$ shutdown

10
VLAN
Connessione di 2 Reti VLAN
Configurare la rete vista all’inizio delle slide u@lizzando due VLAN differen@ per LAN1 e LAN2

Soluzione
Creiamo una VLAN Port-Based:
§ Gli host H1 e H2 sono configura@ in modalità Access Link, per loro la VLAN è trasparente e la loro
configurazione è iden@ca a prima.
§ Il Router deve avere almeno un collegamento ad una VLAN in modalità Trunk Link (è possibile
configurare anche entrambe le re@ in modalità Trunk Link). È importante sapere che è possibile
conne9ere solo una rete in modalità Access Link sulla stessa interfaccia di rete.

S1 Terminal
Creiamo lo Switch VDE
s1$ vde_switch -s s1 -M $(pwd)/s1_term -d
s1$ vdeterm ./s1_term
Configuriamo lo Switch VDE, assumendo che:
§ LAN1 ha VLAN ID 10
§ LAN2 ha VLAN ID 20
s1_term$ vlan/create 10
s1_term$ vlan/create 20
s1_term$ vlan/print
VLAN 0000
VLAN 0010
VLAN 0020
Success
Configuriamo le porte 1 e 2 dello switch VDE, impostando:
§ La LAN1 (VLAN ID 10) sulla Porta numero 1 in modalità Access Link
§ La LAN2 (VLAN ID 20) sulla Porta numero 2 in modalità Access Link
s1_term$ port/setvlan 1 10 → VLAN 10 sulla porta 1 (modalità Access Link)
s1_term$ port/setvlan 2 20 → VLAN 20 sulla porta 2 (modalità Access Link)

Router Terminal
Creiamo il Router e abili@amo l'IP Forwarding in modalità permanente in /etc/sysctl.conf:
H3$ ./linux ubd0=router.cow,rootfs.ext4 eth0=vde,s1,,3
router$ nano /etc/sysctl.conf
net.ipv4.ip_forward=1
router$ sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1
Dopo aver effe9uato le modifiche riavviare il Router (preferibilmente tramite Marionnet), effe9uare check.
Con@nuazione →

11
VLAN
Connessione di 2 Reti VLAN
H1 Terminal
H1$ ./linux ubd0=h1.cow,rootfs.ext4 eth0=vde,s1,,1
h1$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.254
h1$ ifup eth0
H2 Terminal
H2$ ./linux ubd0=h2.cow,rootfs.ext4 eth0=vde,s1,,2
h2$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.2.1
netmask 255.255.255.0
gateway 192.168.2.254
h2$ ifup eth0

Configurazione Router - Access Link + Trunk Link


S1 Terminal
Configuriamo la porta 3 dello switch VDE, dove impos@amo:
§ La LAN1 (VLAN ID 10) sulla porta numero 3 in modalità Access Link
§ La LAN2 (VLAN ID 20) sulla porta numero 3 in modalità Trunk Link
s1_term$ port/setvlan 3 10 → VLAN 10 sulla porta 3 (modalità Access Link)
s1_term$ vlan/addport 20 3 → VLAN 20 sulla porta 3 (modalità Trunk Link)
s1_term$ vlan/print
VLAN 0000
VLAN 0010
-- Port 0001 tagged=0 active=1 status=Forwarding
-- Port 0003 tagged=0 active=1 status=Forwarding
VLAN 0020
-- Port 0002 tagged=0 active=1 status=Forwarding
-- Port 0003 tagged=1 active=1 status=Forwarding
Success

Router Terminal
router$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.254
netmask 255.255.255.0

auto eth0.20
iface eth0.20 inet static
address 192.168.2.254
netmask 255.255.255.0
router$ ifup eth0 eth0.20
Con@nuazione →

12
VLAN
Connessione di 2 Reti VLAN
Soluzione - Trunk Link + Trunk Link
S1 Terminal
Configuriamo la porta 3 dello switch VDE, dove impos@amo:
§ La LAN1 (VLAN ID 10) sulla porta numero 3 in modalità Trunk Link
§ La LAN2 (VLAN ID 20) sulla porta numero 3 in modalità Trunk Link
s1_term$ vlan/addport 10 3 → VLAN 10 sulla porta 3 (modalità Trunk Link)
s1_term$ vlan/addport 20 3 → VLAN 20 sulla porta 3 (modalità Trunk Link)
s1_term$ vlan/print
VLAN 0000
VLAN 0010
-- Port 0001 tagged=0 active=1 status=Forwarding
-- Port 0003 tagged=1 active=1 status=Forwarding
VLAN 0020
-- Port 0002 tagged=0 active=1 status=Forwarding
-- Port 0003 tagged=1 active=1 status=Forwarding
Success

Router Terminal
router$ ifdown eth0 eth0.20
router$ nano /etc/network/interfaces
auto eth0.10
iface eth0.10 inet static
address 192.168.1.254
netmask 255.255.255.0

auto eth0.20
iface eth0.20 inet static
address 192.168.2.254
netmask 255.255.255.0
router$ ifup eth0.10 eth0.20

13
VLAN
VLAN Access Link

switch S1 switch S2
H1: 192.168.1.1 H3: 192.168.1.2
H2: 192.168.2.1 H4: 192.168.2.2

Nella rete in ques@one abbiamo che:


§ H1 e H3 comunicano a Livello 2/3
§ H2 e H4 comunicano a Livello 2/3
Si decide a quali porte degli switch collegare i nodi della rete:
§ H1 collegato alla porta 1 dello switch S1
§ H2 collegato alla porta 2 dello switch S1
§ H3 collegato alla porta 1 dello switch S2
§ H4 collegato alla porta 2 dello switch S2
§ Switch S1 e S2 collega@ tramite la porta 4
Si decide quali tag associare a ciascuna VLAN:
§ La VLAN che collega i nodi H1 e H3 ha tag 10
§ La VLAN che collega i nodi H2 e H4 ha tag 20
Nota:
Ricorda di spuntare l'opzione "Show VDE terminal" al momento della creazione di ogni switch, nel
caso non lo si sia già fa9o:
Switch > Modify > S* > Show VDE terminal

Configurazione Switches
Switch S1/S2
Date le preceden@ scelte implementa@ve, si eseguono su entrambi gli switch i medesimi comandi:
s*_term$ vlan/create 10 → Creazione VLAN10
s*_term$ vlan/create 20 → Creazione VLAN20
s*_term$ port/setvlan 1 10 → VLAN 10 sulla porta 1 (modalità Access Link)
s*_term$ port/setvlan 2 20 → VLAN 20 sulla porta 2 (modalità Access Link)
s*_term$ vlan/addport 10 4 → VLAN 10 sulla porta 4 (modalità Trunk Link)
s*_term$ vlan/addport 20 4 → VLAN 20 sulla porta 4 (modalità Trunk Link)
Con@nuazione →

14
VLAN
VLAN Access Link
Configurazione Hosts
H1 Terminal
h1$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
h1$ ifup eth0
H2 Terminal
h2$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.2.1
netmask 255.255.255.0
h2$ ifup eth0
H3 Terminal
h3$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
h3$ ifup eth0
H4 Terminal
h4$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.2.2
netmask 255.255.255.0
h4$ ifup eth0

Test di Connessione (Livello-2)


§ LAN 1
H1 Terminal
h1$ arping -B -i eth0
H3 Terminal
h3$ tcpdump -n -i eth0

§ LAN 2
H2 Terminal
h2$ arping -B -i eth0
H4 Terminal
h4$ tcpdump -n -i eth0

15
VLAN
VLAN Trunk Link
Data la rete precedente aggiungere un Host H5 al secondo Switch e fare in modo che comunichi
tramite VLAN solo con con l'Host H1.

Nella rete in ques@one abbiamo che:


§ H1 e H3 comunicano a Livello 2/3
§ H2 e H4 comunicano a Livello 2/3
§ H1 e H5 comunicano a Livello 2/3
Date le porte degli switch precedentemente assegnate:
§ H1/H1 collegato alla porta 1 dello switch S1
§ H2 collegato alla porta 2 dello switch S1
§ H3 collegato alla porta 1 dello switch S2
§ H4 collegato alla porta 2 dello switch S2
§ H5 collegato alla porta 3 dello switch S2
§ Switch S1 e S2 collega@ tramite la porta 4
Da@ i tag delle due preceden@ VLAN si decide che:
§ La VLAN che collega i nodi H1 e H3 ha tag 10
§ La VLAN che collega i nodi H2 e H4 ha tag 20
§ La VLAN che collega i nodi H1 e H5 ha tag 30

Quindi è necessario aggiungere un'interfaccia virtuale di @po VLAN sull'Host H1 e configurare i due
switch per propagare corre9amente i frame della VLAN30.

Con@nuazione →

16
VLAN
VLAN Trunk Link
Configurazione Switches
Switch S1
s1_term$ vlan/create 10 → Creazione VLAN10
s1_term$ vlan/create 20 → Creazione VLAN20
s1_term$ vlan/create 30 → Creazione VLAN30
s1_term$ port/setvlan 1 10 → VLAN 10 sulla porta 1 (modalità Access Link)
s1_term$ vlan/addport 30 1 → VLAN 30 sulla porta 1 (modalità Trunk Link)
s1_term$ port/setvlan 2 20 → VLAN 20 sulla porta 2 (modalità Access Link)
s1_term$ vlan/addport 10 4 → VLAN 10 sulla porta 4
s1_term$ vlan/addport 20 4 → VLAN 20 sulla porta 4
s1_term$ vlan/addport 30 4 → VLAN 30 sulla porta 4
Switch S2
s2_term$ vlan/create 10 → Creazione VLAN10
s2_term$ vlan/create 20 → Creazione VLAN20
s2_term$ vlan/create 30 → Creazione VLAN30
s2_term$ port/setvlan 1 10 → VLAN 10 sulla porta 1 (modalità Access Link)
s2_term$ port/setvlan 2 20 → VLAN 20 sulla porta 2 (modalità Access Link)
s2_term$ port/setvlan 3 30 → VLAN 30 sulla porta 3 (modalità Access Link)
s2_term$ vlan/addport 10 4 → VLAN 10 sulla porta 4
s2_term$ vlan/addport 20 4 → VLAN 20 sulla porta 4
s2_term$ vlan/addport 30 4 → VLAN 30 sulla porta 4

Configurazione Hosts
Host H5
h5$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.3.2
netmask 255.255.255.0
h5$ ifup eth0
Host H1
h1$ ifdown eth0
h1$ nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0

auto eth0.30
iface eth0.30 inet static
address 192.168.3.1
netmask 255.255.255.0
h1$ ifup eth0 eth0.30

17
VLAN
VLAN Trunk Link
Test di Connessione (Livello-2)
§ LAN 3
H1 Terminal
h1$ arping -B -i eth0.30
H5 Terminal
h5$ tcpdump -n -i eth0

18

You might also like