Una VPN (Virtual Private Network) realizza una rete privata logica su un’infrastruttura di trasporto condivisa o pubblica. A seconda della tecnologia, l’isolamento è fornito dall’operatore, la protezione è ottenuta mediante autenticazione e cifratura, oppure i due approcci vengono combinati. Dal punto di vista logico, i dispositivi collegati tramite VPN risultano “come se fossero nella stessa rete privata”, anche se in realtà sono geograficamente distanti e comunicano attraverso la rete pubblica.
Il tunneling incapsula un pacchetto in un altro per trasportarlo tra gli estremi del tunnel. L’incapsulamento, da solo, non cifra i dati. Nelle Secure VPN, per esempio con IPsec configurato per la cifratura, il traffico è anche protetto crittograficamente; il destinatario verifica la protezione, decifra e rimuove l’incapsulamento.
Schema di collegamento tra due LAN: attenzione, 10.21.44.25 è un indirizzo privato del blocco 10.0.0.0/8, anche se nell’immagine è etichettato come pubblico. Un’estremità WAN può usare un IP privato in una rete di transito o dietro NAT, con configurazione adeguata.
L’operatore fornisce una separazione logica tra le reti dei clienti, anche su infrastruttura fisica condivisa. La cifratura non è necessariamente prevista: ci si affida all’isolamento e alla corretta gestione della rete del provider.
Sfrutta il tunneling con cifratura tramite protocolli come IPsec, SSL/TLS o SSH.
Combina l’isolamento logico fornito dall’operatore con la protezione crittografica del traffico.
In ambito Trusted VPN è frequente l’uso di MPLS, una tecnologia che instrada i pacchetti utilizzando etichette (label) riconosciute dai router MPLS lungo un percorso definito. Il router di ingresso aggiunge la label, i router intermedi la utilizzano per inoltrare il traffico, e il router di uscita rimuove la label. Nelle MPLS VPN di livello 3, VRF (tabelle di routing separate) ed etichette VPN mantengono la separazione logica dei clienti. MPLS non implica un collegamento fisico esclusivo e non fornisce di per sé cifratura.
Permette a un singolo utente (da casa o da remoto) di accedere alle risorse interne di un’azienda (es. server, NAS, servizi interni) come se fosse in LAN.
Collega due reti (due sedi) attraverso Internet: i due router diventano i “gateway” della VPN e cifrano/decifrano il traffico tra le LAN.
SSL/TLS è un insieme di protocolli che permette comunicazioni sicure in architettura client-server. In ambito didattico si colloca spesso tra sessione e trasporto, perché gestisce handshake, autenticazione e cifratura dei dati applicativi sopra TCP.
IPsec opera a livello di rete ed è una suite di protocolli per autenticazione e cifratura del traffico IP. È molto usato per VPN site-to-site tra router (security gateway).
In questo esercizio realizziamo una VPN IPsec site-to-site tra due LAN aziendali. I router ai bordi (R1 e R3) svolgono il ruolo di security gateway: cifrano e incapsulano i pacchetti tra le due reti interne. Il router centrale (R2) rappresenta la rete di transito (WAN/Internet) e non partecipa alla cifratura.
Impostare gli indirizzi IPv4 statici sui PC, con subnet mask /24 e gateway l’indirizzo della porta LAN del router.
| LAN | Host | IP | Mask | Gateway |
|---|---|---|---|---|
| LAN1 | PC0 | 192.168.1.1 | 255.255.255.0 | 192.168.1.254 |
| LAN2 | PC1 | 192.168.2.1 | 255.255.255.0 | 192.168.2.254 |
| LAN3 | PC2 | 192.168.3.1 | 255.255.255.0 | 192.168.3.254 |
Configurare le route statiche come da traccia, in modo che tutte le reti siano raggiungibili anche prima della VPN. La VPN si occuperà solo di cifrare il traffico selezionato, non di “creare” connettività di base.
| Rete | Mask | Next hop |
|---|---|---|
| 192.168.2.0 | 255.255.255.0 | 10.1.1.1 |
| 192.168.3.0 | 255.255.255.0 | 10.1.1.1 |
| 10.2.2.0 | 255.255.255.252 | 10.1.1.1 |
| Rete | Mask | Next hop |
|---|---|---|
| 192.168.1.0 | 255.255.255.0 | 10.1.1.2 |
| 192.168.3.0 | 255.255.255.0 | 10.2.2.2 |
| Rete | Mask | Next hop |
|---|---|---|
| 192.168.1.0 | 255.255.255.0 | 10.2.2.1 |
| 192.168.2.0 | 255.255.255.0 | 10.2.2.1 |
| 10.1.1.0 | 255.255.255.252 | 10.2.2.1 |
In Packet Tracer, per utilizzare le funzionalità crittografiche sui router 2900 è necessario abilitare il pacchetto securityk9 sui router che faranno da gateway VPN (R1 e R3).
La licenza Cisco SecurityK9 (o SEC-K9) abilita le funzionalità di sicurezza avanzate sui router Cisco, inclusi firewall, VPN (IPsec, SSL/SSH) e crittografia.
R1> enable
R1# configure terminal
R1(config)# license boot module c2900 technology-package securityk9
R1(config)# end
R1# copy running-config startup-config
R1# reload
Dopo il riavvio, verificare con show version che il pacchetto security sia presente
(in Packet Tracer spesso risulta in modalità evaluation).
Ripetere la stessa procedura su R3.
crypto potrebbero non essere disponibili o
non funzionare correttamente.
La configurazione è composta da tre blocchi logici: (1) traffico “interessante” (ACL), (2) fase 1 (ISAKMP/IKE), (3) fase 2 (IPsec/transform-set + crypto map), e infine l’associazione della crypto map all’interfaccia WAN del router.
R1(config)# access-list 110 permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255
R1(config)# crypto isakmp policy 10
R1(config-isakmp)# encryption aes
R1(config-isakmp)# authentication pre-share
R1(config-isakmp)# group 2
R1(config-isakmp)# exit
R1(config)# crypto isakmp key cisco address 10.2.2.2
R1(config)# crypto ipsec transform-set VPN-SET esp-3des esp-sha-hmac
R1(config)# crypto map VPN-MAP 10 ipsec-isakmp
R1(config-crypto-map)# description VPN connection to R3
R1(config-crypto-map)# set peer 10.2.2.2
R1(config-crypto-map)# set transform-set VPN-SET
R1(config-crypto-map)# match address 110
R1(config-crypto-map)# exit
R1(config)# interface G0/0
R1(config-if)# crypto map VPN-MAP
R1(config)# access-list 110 permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255
Questa ACL dice:
192.168.1.0/24192.168.3.0/24Quindi: LAN1 → LAN3 = traffico cifrato; altro traffico (es. verso Internet o LAN2) = fuori dal tunnel (salvo altre configurazioni).
R1(config)# crypto isakmp policy 10
Crea la policy ISAKMP numero 10 (IKEv1 fase 1).
R1(config-isakmp)# encryption aes
Usa AES per cifrare la negoziazione IKE (fase 1).
R1(config-isakmp)# authentication pre-share
Autenticazione con chiave precondivisa (pre-shared key).
R1(config-isakmp)# group 2
Imposta il gruppo Diffie-Hellman 2 per lo scambio delle chiavi.
R1(config-isakmp)# exit
Esce dalla configurazione della policy ISAKMP.
R1(config)# crypto isakmp key cisco address 10.2.2.2
Definisce la chiave precondivisa:
chiave = cisco, valida per il peer con IP 10.2.2.2.
In pratica, R1 negozierà IKE con quel peer usando questa chiave.
R1(config)# crypto ipsec transform-set VPN-SET esp-3des esp-sha-hmac
Crea un transform set chiamato VPN-SET, cioè l’insieme
di parametri usati da IPsec per proteggere i dati in transito (fase 2):
esp-3des → cifratura dati con 3DESesp-sha-hmac → integrità/autenticazione con SHA HMACR1(config)# crypto map VPN-MAP 10 ipsec-isakmp
Crea una crypto map chiamata VPN-MAP, sequenza
10, di tipo IPsec con IKE/ISAKMP.
La crypto map è il “contenitore” che lega insieme:
R1(config-crypto-map)# description VPN connection to R3
Descrizione informativa (utile per leggibilità e troubleshooting).
R1(config-crypto-map)# set peer 10.2.2.2
Specifica il peer VPN remoto (l’altro router).
R1(config-crypto-map)# set transform-set VPN-SET
Associa il transform-set VPN-SET alla crypto map.
R1(config-crypto-map)# match address 110
Associa l’ACL 110: il traffico definito lì è quello che R1
considererà interessante e quindi da cifrare.
R1(config-crypto-map)# exit
Esce dalla configurazione della crypto map.
R1(config)# interface G0/0
R1(config-if)# crypto map VPN-MAP
Applica la crypto map VPN-MAP all’interfaccia WAN
G0/0. Da questo momento il router può intercettare il traffico
“interessante” in uscita su quell’interfaccia e trattarlo con IPsec.
Su R3 la configurazione è speculare: l’ACL si “inverte” (sorgente/destinazione), il peer è l’indirizzo WAN di R1, e la crypto map viene associata all’interfaccia WAN verso R2.
R3(config)# access-list 110 permit ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255
R3(config)# crypto isakmp policy 10
R3(config-isakmp)# encryption aes
R3(config-isakmp)# authentication pre-share
R3(config-isakmp)# group 2
R3(config-isakmp)# exit
R3(config)# crypto isakmp key cisco address 10.1.1.2
R3(config)# crypto ipsec transform-set VPN-SET esp-3des esp-sha-hmac
R3(config)# crypto map VPN-MAP 10 ipsec-isakmp
R3(config-crypto-map)# description VPN connection to R1
R3(config-crypto-map)# set peer 10.1.1.2
R3(config-crypto-map)# set transform-set VPN-SET
R3(config-crypto-map)# match address 110
R3(config-crypto-map)# exit
R3(config)# interface G0/0
R3(config-if)# crypto map VPN-MAP
Verifichiamo che la VPN stia effettivamente cifrando solo il traffico previsto. Il comando fondamentale è:
R1# show crypto ipsec sa
Osservare i contatori (es. pacchetti encaps/encrypt e
decaps/decrypt).
Poi generare traffico “interessante” con un ping PC0 (LAN1) → PC2 (LAN3) e
rieseguire show crypto ipsec sa: i contatori devono aumentare.
show ip route
show running-config