Skip to the content.

Torna a reti ethernet

VPN di reti Ethernet

Ruolo del tunneling

Realizza una connessione virtuale punto-punto cifrata tra utenti remoti attraverso una rete pubblica (Internet). Trasporta pacchetti privati (trusted) incapsulati all’interno di pacchetti pubblici (untrusted). I pacchetti prima di essere incapsulati all’interno del tunnel vengono cifrati per garantire la confidenzialità dei dati in essi contenuti.

alt text

In genere, il tunnelling si può considerare un imbustamento fuori ordine che incapsula pachetti del livello N su pacchetti di livello N o superiore.

Interfacce virtuali tun e tap

Nelle reti Informatiche, TUN e TAP sono driver che permettono la creazione di periferiche di rete virtuali. Rispetto alle comuni periferiche (ad es. eth0) che sono controllate direttamente dalle schede di rete, i pacchetti spediti da o verso dispositivi TUN/TAP sono spediti da o verso programmi software che si occupano dello sbustamento in ricezione e dell’imbustamento in trasmissione:

alt text

Le interfacce TAP e tun sono quindi delle ulteriori interfacce che possono essere utilizzate tutte le volte che si desidera instradare il traffico di rete attraverso il tunnel VPN.

VPN L3

In questo tipo di VPN i pacchetti con indirizzo IP privato, appartenenti ad una subnet in cui è partizionata una rete LAN, vengono imbustati all’interno dei pacchetti IP pubblici della rete Internet, realizzando così un tunnel L3 su L3. Il processo di imbustamento del tunnel avviene per tutti i pacchetti che vengono inoltrati verso l’interfaccia viruale tun.

Infatti, le interfacce virtuali tun compaiono nella routing table come interfacce locali verso cui inoltrare pacchetti IP destinati ad una subnet direttamente connessa.

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0

Canale virtuale e canale reale

L’interfaccia virtuale realizza un canale virtuale diretto tra i due router con il ruolo di client e server della connessione VPN dove viene inoltrato il pacchetto interno trasportato. In realtà il canale reale, quello dove viene inoltrato il pacchetto esterno vettore, passa per il router di confine di ogni LAN remota che utilizza Internet, da lì il pacchetto esterno viene ulteriormente inoltrato verso il server VPN.

Esempio officina 1

  1. Realizzare l’interconnessione tra una sede centrale di una officina multimarca che ha sedi sparse in tutta Italia. Le officine devono poter consultare i lsistema informativo centrale per vedere la disponibilità di pezzi di ricambi da parte di altre officine e per la consultazione dei listini di lavorazioni e ricambi.
  2. Negare ad un PC della subnet officina di entrare nella subnet ufficio.

alt text

ACL per negare accesso alla rete ufficio dalle reti officina

Per risolvere il quesito 2, cioè negare ad un PC della subnet officina di comunicare con un PC della subnet ufficio, si può creare una ACL nel router firewall centrale per ogni interfaccia tun.

Le ACL si dividono in:

! Definizione lista di regole (blacklist)
(config)# access-list 101 deny 10.0.1.0 0.0.0.255
(config)# access-list 101 deny 10.0.2.0 0.0.0.255
(config)# access-list 101 deny 10.0.3.0 0.0.0.255
(config)# access-list 101 permit any 
! Selezione interfaccia tun0
(config)# interface tun0 
! Applicazione in ingress su tun0
(config-if)# ip access-group 101 in
(config-if)# exit
! Selezione interfaccia tun1
(config)# interface tun1 
! Applicazione in ingress su tun1
(config-if)# ip access-group 101 in
(config-if)# exit
! Selezione interfaccia tun2
(config)# interface tun2 
! Applicazione in ingress su tun2
(config-if)# ip access-group 101 in
(config-if)# exit

Una volta inviato inviato verso l’interfaccia tun con un ip privato, il pacchetto esce da un’altra interfaccia del client VPN imbustato dentro un pacchetto con IP pubblico che, per questo motivo, viene inoltrato verso il default gateway 10.0.1.254 oppure 10.0.2.254 oppure 10.0.3.254, a seconda della della LAN remota di appartenenza.

VPN L2

In questo tipo di VPN le trame MAC con indirizzo locale, appartenenti ad una LAN remota in cui è partizionata una rete LAN, vengono imbustate all’interno dei pacchetti IP pubblici della rete Internet, realizzando così un tunnel L2 su L3. Il processo di imbustamento del tunnel avviene per tutti i pacchetti che vengono inoltrati verso l’interfaccia viruale tap.

Le interfacce virtuali tap compaiono nella tabella di inoltro del bridge come interfacce locali verso cui inoltrare trame MAC destinate ad host raggiungibili attraverso quella interfaccia.

ARP su interfacce tap

Quando due reti sono collegate tramite un tunnel bridged L2 OpenVPN, la risoluzione degli indirizzi MAC (ARP - Address Resolution Protocol) attraverso il tunnel avviene in modo simile a una rete locale fisica, ma con alcune differenze dovute alla natura del tunnel VPN. Ecco come funziona una richiesta ARP tra due reti collegate da un tunnel bridged L2 OpenVPN:

  1. Richiesta ARP da parte del mittente: Supponiamo che un dispositivo su una delle reti VPN voglia comunicare con un dispositivo sull’altra rete VPN. Il mittente invierà una richiesta ARP broadcast per ottenere l’indirizzo MAC del dispositivo di destinazione.
  2. Trasmissione attraverso il tunnel VPN: La richiesta ARP broadcast, insieme a tutte le altre trame Ethernet, viene incapsulata in pacchetti VPN dal router VPN locale e inviata attraverso il tunnel VPN al router VPN remoto.
  3. Decapsulamento al router VPN remoto: Una volta che i pacchetti VPN raggiungono il router VPN remoto, vengono decapsulati per esporre le trame Ethernet originali.
  4. Trasmissione sulla rete locale: Le trame Ethernet originali, compresa la richiesta ARP broadcast, vengono inoltrate sulla rete locale del router VPN remoto.
  5. Risposta ARP dalla destinazione: Il dispositivo di destinazione sulla rete VPN remota riceve la richiesta ARP e risponde con il proprio indirizzo MAC.
  6. Inoltro della risposta attraverso il tunnel VPN: La risposta ARP, insieme a tutte le altre trame Ethernet, viene incapsulata in pacchetti VPN dal router VPN remoto e inviata attraverso il tunnel VPN al router VPN locale.
  7. Decapsulamento al router VPN locale: Una volta che i pacchetti VPN raggiungono il router VPN locale, vengono decapsulati per esporre le trame Ethernet originali.
  8. Inoltro della risposta alla sorgente: Il router VPN locale inoltra la risposta ARP alla sorgente originaria attraverso la sua rete locale.

In questo modo, la risoluzione degli indirizzi MAC tra le due reti collegate da un tunnel bridged L2 OpenVPN avviene attraverso il tunnel VPN, consentendo la comunicazione tra dispositivi su reti distinte come se fossero sulla stessa rete locale.

Canale virtuale e canale reale

L’interfaccia virtuale realizza un canale virtuale diretto tra i due bridge con il ruolo di client e server della connessione VPN dove viene inoltrata il la trama MAC. In realtà il canale reale, quello dove viene inoltrato il pacchetto esterno vettore, passa per il router di confine di ogni LAN remota che utilizza Internet da lì il pacchetto esterno viene ulteriormente inoltrato verso il server VPN.

Esempio officina 2

Realizzare l’interconnessione tra una sede centrale di una officina multimarca che ha sedi sparse in tutta Italia. Le officine devono poter consultare i lsistema informativo centrale per vedere la disponibilità di pezzi di ricambi da parte di altre officine e per la consultazione dei listini di lavorazioni e ricambi. Inoltre le officine sono divise in due reparti, l’officina vera e propria dove si effettuano le riparazioni e l’ufficio amministrativo e contabile dove si gestiscono i rapporti con fornitori e clienti. Officina e amministrazione devono poter consultare server dedicati allo svolgimento delle rispettive funzioni che sono dislocati presso la sede centrale e ciascuna delle due funzioni non dovrebbe poter avere accesso ai server dell’altra.

alt text

Una volta inviato inviato verso l’interfaccia tap, la trama esce da un’altra interfaccia del client VPN imbustata dentro un pacchetto con IP pubblico che, per questo motivo, viene inoltrato verso il default gateway 10.0.3.254della LAN.

I server dei due gruppi di utenti (officina e uffici) sono collegati a porte di accesso associate ad una sola vlan, quella del gruppo di appartenenza, per cui sono visibili direttamente (senza intervaln routing) solo dai PC di quella vlan.

Porte dei bridge

Le porte dei bridge che collegano ad altri dispostivi L2 (bridge o switch) sono tutte tagged, cioè di trunk, e trasportano, in maniera isolata tra loro, tutte le VLAN della rete. Le VLAN sono condivise tra sede centrale e remote e, essendo queste mappate sulla loro subnet, accade che dispositivi di sedi remote possono condividere la stessa subnet.

Le porte dei bridge che collegano ai PC o al router sono tutte untagged, cioè di accesso, e trasportano i pacchetti dell’unica VLAN a cui sono associate e a cui, quindi, i dispositivi ad esse collegati appartengono.

Inter vlan routing

L’inter vlan routing è realizzato dal solo router nella sede centrale, l’unico che, avendo porte di trunk, possiede interfacce su tutte le vlan e, quindi, su tutte le subnet ed, essendo le dorsali verso il router realizzate con un trunk terminato su tre interfacce virtuali 802.1q, la configurazione dell’inter vlan routing è di tipo router on a stick. Poichè l’intervlan routing di tipo router on a stick si realizza con subnet direttamente connesse ad un solo router, allora la definizione manuale delle tabelle di routing non è necessaria.

ACL per negare accesso alla rete ufficio dalle reti officina

Per risolvere il quesito 2, cioè negare ad un PC della subnet officina di comunicare con un PC della subnet ufficio, si può creare una ACL nel router firewall centrale per l’interfaccia vlan 10.

Le ACL si dividono in:

! Definizione lista di regole (blacklist)
(config)# access-list 101 deny 10.0.1.0 0.0.0.255
(config)# access-list 101 deny 10.0.2.0 0.0.0.255
(config)# access-list 101 deny 10.0.3.0 0.0.0.255
(config)# access-list 101 permit any 
! Selezione interfaccia vlan 10
(config)# interface vlan 10 
! Applicazione in ingress su vlan 10
(config-if)# ip access-group 101 in
(config-if)# exit

VPN commerciali

In entrambe le soluzioni la comunicazione tra client VPN e macchina remota si articola in un tratto cifrato nel percorso in Internet e in un tratto in chiaro nel percorso in LAN. Il server, posto a cavallo tra i due percorsi, è in entrambi i casi, una macchina interna alla rete LAN (il firewall nel caso di OpenVPN, il gateway HTTPS-RDP nel caso di Guacamole). In nessun caso vengono inviati dati a piattaforme terze all’esterno della LAN, in particolare, neppure in cloud.

alt text

In dettaglio:

Schermata di accesso di un utente che è autorizzato ad accedere 2 desktop remoti:

alt text

Torna a reti ethernet

Sitografia: