Una VPN (Virtual Private Network) è un servizio che permette di instaurare una connessione sicura e cifrata tra due dispositivi (o tra due reti) sfruttando Internet. 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 concetto chiave è il tunneling: il pacchetto dati originale, prima di attraversare Internet, viene incapsulato in un ulteriore pacchetto e cifrato dal software/servizio VPN. Arrivato al destinatario, viene decifrato e de-incapsulato, ripristinando il pacchetto originale.
La rete privata viene “costruita” dall’ISP tramite percorsi dedicati/non accessibili ad altri. In genere non c’è cifratura perché la “fiducia” è nel percorso riservato.
Sfrutta il tunneling con cifratura tramite protocolli come IPsec, SSL/TLS o SSH.
Combina i due approcci: percorso gestito/dedicato + cifratura.
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.
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).
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
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