Guida VPN IPSec con Cisco Packet Tracer


Laboratorio di Sistemi e Reti

Implementare una VPN IPSec
con Cisco Packet Tracer

Una guida pratica alla configurazione di una VPN site-to-site basata su IPSec, dalla topologia di rete fino alla verifica del tunnel cifrato.

Cisco 2900 Series
IPSec / IKEv1
Livello: Intermedio

// Cos'è una VPN

Una VPN (Virtual Private Network) è una tecnologia che consente di creare una connessione sicura e cifrata tra dispositivi collegati tramite Internet. In sostanza, costruisce un tunnel virtuale attraverso la rete pubblica, proteggendo i dati in transito da occhi indiscreti.

In questa esercitazione ci concentriamo su un tipo specifico: la VPN site-to-site basata su IPSec, la soluzione più diffusa in ambito aziendale per collegare sedi geograficamente distanti come se facessero parte della stessa rete locale.

Caratteristica VPN Descrizione
Confidenzialità I dati vengono cifrati: anche se intercettati, risultano illeggibili
Mascheramento IP Il traffico sembra provenire dal server VPN, non dall'utente reale
Accesso remoto sicuro Ci si connette a reti aziendali come se si fosse fisicamente presenti
Selettività Solo il traffico specificato viene incapsulato nel tunnel
01

La topologia di rete e il cablaggio

Prima di mettere le mani sulla tastiera, vale la pena capire bene la struttura che stiamo costruendo. La topologia prevede tre router Cisco serie 2900 e tre PC distribuiti su altrettante reti locali distinte.

Figura 1
Figura 1 — Topologia di rete: tre router Cisco 2900, tre LAN e il tunnel VPN tra R1 e R3

I ruoli nella topologia sono ben definiti:

  • R1 è il gateway della LAN sinistra (192.168.1.0/24), dove risiede PC-A
  • R2 è il router intermedio che simula la rete Internet pubblica
  • R3 è il gateway della LAN destra (192.168.3.0/24), dove risiede PC-C
  • PC-B si trova sulla rete 192.168.2.0/24 collegata a R2, e resterà fuori dal tunnel VPN
// Obiettivo

Creare un tunnel VPN cifrato tra R1 e R3, in modo che PC-A e PC-C comunichino in modo sicuro attraverso la rete pubblica. Il traffico verso PC-B invece non passerà dal tunnel — è proprio questo che verificheremo alla fine per confermare il corretto funzionamento selettivo della VPN.

Il collegamento seriale tra R1 e R2 usa la subnet 10.1.1.0/30, con R1 sull'interfaccia Serial0/0/0.

Aggiungere il modulo WIC per le porte seriali

I router Cisco 2901 e 2911, nella configurazione base, non dispongono di porte seriali integrate: hanno solo porte GigabitEthernet. Per poter utilizzare i cavi seriali DCE/DTE è quindi necessario installare un modulo aggiuntivo.

1
Fare clic sul router in Packet Tracer per aprire il pannello di configurazione
2
Selezionare la scheda Physical
3
Spegnere il router cliccando il tasto di accensione (operazione obbligatoria prima di inserire moduli)
4
Trascinare il modulo HWIC-2T (o WIC-2T) in uno slot libero del router
5
Riaccendere il router e verificare che le nuove porte seriali siano disponibili
Figura 2
Figura 2 — Interfaccia Physical di Packet Tracer: inserimento del modulo HWIC-2T nello slot del router
Modulo Porte seriali Velocità max
WIC-2T 2 porte (S0/0/0, S0/0/1) 2 Mbps
WIC-1T 1 porta 2 Mbps
HWIC-2T 2 porte (S0/0/0, S0/0/1) 8 Mbps — consigliato

Ripetere l'operazione su tutti e tre i router. Nell'esercitazione utilizzeremo il modulo HWIC-2T.

// Alternativa senza cavo seriale

È possibile collegare R1 e R2 tramite GigabitEthernet con un cavo copper straight-through usando comunque la subnet 10.1.1.0/30. Tuttavia, per questa esercitazione si richiede l'uso del cavo seriale DCE/DTE per finalità didattiche.

Configurare il Clock Rate sul lato DCE

Su un link seriale, uno dei due router deve fare da DCE e fornire il segnale di clock. In Packet Tracer si può configurare direttamente nella scheda Config dell'interfaccia oppure via CLI.

Figura 3
Figura 3 — Configurazione del clock rate sull'interfaccia seriale DCE tramite interfaccia grafica
interface Serial0/3/0
 clock rate 64000
 no shutdown

Per verificare quale lato del link è DCE e quale è DTE, si usa il seguente comando:

show controllers Serial0/3/0
Figura 4
Figura 4 — Output del comando show controllers: si legge “DCE V.35, clock rate 64000” confermando che R1 è il lato DCE
Indicazione nel log Comportamento richiesto
DCE Questo router fornisce il clock → configurare clock rate
DTE Lato passivo → non serve clock rate, lo riceve dal DCE

Configurazione indirizzi del link R1–R2

Cambiamo l'hostname del router e assegniamo l'indirizzo alla seriale. Il link usa la subnet 10.1.1.0/30, una /30 che fornisce esattamente i 2 host necessari per un collegamento punto-punto.

hostname R1
interface Serial0/3/0
 ip address 10.1.1.1 255.255.255.252
 clock rate 64000
 no shutdown
// Perché /30 e perché 10.x.x.x?

L'indirizzo 10.1.1.x appartiene allo spazio RFC 1918 (Classe A privata), adatto per collegamenti interni tra router. La subnet /30 (255.255.255.252) fornisce esattamente 2 host utilizzabili — R1 con .1 e R2 con .2 — senza alcuno spreco. Questo principio si chiama VLSM (Variable Length Subnet Mask).

Sul router R2, passiamo alla configurazione speculare del lato DTE:

hostname R2
interface Serial0/3/0
 ip address 10.1.1.2 255.255.255.252
 no shutdown
Figura 5
Figura 5 — Stato dell'interfaccia seriale su R2 dopo la configurazione
Figura 6
Figura 6 — Verifica con show controllers su R2: la risposta mostra “DTE”, confermando che non serve configurare il clock rate

Collegamento degli altri apparati

Per collegare i restanti dispositivi (switch, PC) utilizziamo i cavi straight-through.

Figura 7
Figura 7 — Icona del cavo straight-through in Packet Tracer

Una volta completato il cablaggio e rinominati tutti i dispositivi (PC0 → PC-A, Switch0 → S1, ecc.), la topologia con i nomi aggiornati e le etichette CIDR deve apparire come mostrato di seguito.

Figura 8
Figura 8 — Topologia finale con nomi dei dispositivi aggiornati e annotazioni CIDR degli indirizzi IP
// Hostname vs Display Name

Hostname: è il nome configurato nell'IOS del router (hostname R1), appare nel prompt CLI e viene salvato nella startup-config. Display Name: è solo il nome visivo sull'icona nella canvas grafica di Packet Tracer — non ha alcun effetto sulla configurazione reale.

02

Tabella degli indirizzi IP

Con la topologia costruita, è il momento di assegnare gli indirizzi IP a ogni interfaccia. La figura seguente riassume il piano di indirizzamento completo.

Figura 9
Figura 9 — Tabella degli indirizzi IP per tutti i dispositivi della topologia

Procediamo con la configurazione dispositivo per dispositivo.

PC-A

Figura 10
Figura 10 — Configurazione indirizzo IP su PC-A: scheda Desktop → IP Configuration
Figura 11
Figura 11 — Indirizzo 192.168.1.3, subnet mask 255.255.255.0, gateway 192.168.1.1

Router R1 — Interfaccia seriale e GigabitEthernet

Figura 12
Figura 12 — R1: interfaccia Serial0/3/0 con IP 10.1.1.1 / 255.255.255.252
Figura 13
Figura 13 — R1: interfaccia GigabitEthernet0/1 con IP 192.168.1.1 / 255.255.255.0 — ricordarsi di attivare la scheda con ON

Router R2

Figura 14
Figura 14 — R2: Serial0/3/0 con IP 10.1.1.2 / 255.255.255.252 (lato verso R1)
Figura 15
Figura 15 — R2: Serial0/3/1 con IP 10.2.2.1 / 255.255.255.252 (lato verso R3)
Figura 16
Figura 16 — R2: GigabitEthernet0/0 con IP 192.168.2.1 / 255.255.255.0

PC-B

Figura 17
Figura 17 — PC-B: indirizzo 192.168.2.3, gateway 192.168.2.1

Router R3

Figura 18
Figura 18 — R3: Serial0/3/0 con IP 10.2.2.2 / 255.255.255.252
Figura 19
Figura 19 — R3: GigabitEthernet0/0 con IP 192.168.3.1 / 255.255.255.0

PC-C

Figura 20
Figura 20 — PC-C: indirizzo 192.168.3.3, subnet mask 255.255.255.0, gateway 192.168.3.1
03

Routing statico

Con gli indirizzi assegnati, i router sanno solo com'è fatta la rete direttamente collegata a loro. Per raggiungere le reti remote è necessario configurare le rotte statiche: percorsi inseriti manualmente dall'amministratore, che restano stabili nel tempo e non richiedono protocolli di routing dinamico.

// Nota didattica

Senza le static route configurate correttamente, i router non sanno dove instradare i pacchetti e il tunnel VPN non funzionerà mai, anche se configurato alla perfezione. È un prerequisito fondamentale.

R1 — Non conosce le reti oltre R2

R1 manda tutto il traffico verso le reti remote al next-hop 10.1.1.2 (l'interfaccia seriale di R2):

Figura 21
Figura 21 — Configurazione delle rotte statiche su R1 tramite interfaccia grafica di Packet Tracer
ip route 192.168.2.0 255.255.255.0 10.1.1.2
ip route 192.168.3.0 255.255.255.0 10.1.1.2
ip route 10.2.2.0 255.255.255.252 10.1.1.2

R2 — Il router centrale: conosce entrambe le direzioni

ip route 192.168.1.0 255.255.255.0 10.1.1.1
ip route 192.168.3.0 255.255.255.0 10.2.2.2

R3 — Speculare rispetto a R1

ip route 192.168.1.0 255.255.255.0 10.2.2.1
ip route 192.168.2.0 255.255.255.0 10.2.2.1
ip route 10.1.1.0 255.255.255.252 10.2.2.1

Verifica della connettività di base

Prima di configurare la VPN, verifichiamo che la rete funzioni correttamente eseguendo un ping tra i PC.

Figura 22
Figura 22 — Test di connettività: i ping tra i vari PC hanno tutti esito positivo, confermando che il routing statico è configurato correttamente
04

Installazione del pacchetto SecurityK9

I router Cisco 2900, di default, non hanno le funzionalità crittografiche attive. I comandi crypto necessari per IPSec semplicemente non esistono finché non si abilita la licenza appropriata. Questo va fatto solo su R1 e R3, i due security gateway della VPN.

// Attenzione

R2 simula Internet — è un router pubblico che non fa parte della VPN. Non va toccato.

Pacchetto Funzionalità incluse
ipbase Routing base, ACL, NAT — attivo di default
securityk9 IPsec, VPN, Firewall, SSH, Crypto
datak9 MPLS, BGP avanzato
uck9 Voice, telefonia

Installazione su R1

enable
configure terminal
license boot module c2900 technology-package securityk9
Figura 23
Figura 23 — Messaggio di conferma dopo il comando di installazione della licenza: rispondere “Yes”
end
copy running-config startup-config
reload
Figura 24
Figura 24 — Conferma del reload su R1 per applicare la nuova licenza

Dopo il riavvio, verifichiamo che la licenza sia attiva:

show version
Figura 25
Figura 25 — Output di show version su R1: nella tabella è presente la riga “Security | securityk9” che conferma l'attivazione

Installazione su R3

enable
configure terminal
license boot module c2900 technology-package securityk9
write
exit
reload
Figura 26
Figura 26 — Installazione della licenza SecurityK9 su R3
Figura 27
Figura 27 — Verifica con show version su R3: la licenza securityk9 risulta attiva
// Un'analogia utile

Pensate al router come a uno smartphone: le app non sono tutte installate di default. SecurityK9 è come installare l'app VPN prima di poterla usare. Senza installarla, i comandi crypto semplicemente non vengono riconosciuti dall'IOS.

05

Configurazione VPN su R1

La configurazione IPSec si articola in quattro blocchi logici distinti. Seguiamoli nell'ordine corretto — saltare uno step o invertirne l'ordine porta tipicamente a errori difficili da diagnosticare.

5a — Access List: definire il traffico da cifrare

La prima cosa da fare è indicare al router quale traffico deve entrare nel tunnel VPN. Si usa un'Access Control List con wildcard mask (l'inverso della subnet mask).

access-list 110 permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255

Questa ACL dice: “Il traffico proveniente dalla rete 192.168.1.0/24 e diretto verso 192.168.3.0/24 deve essere trattato dalla VPN.”

5b — Fase 1: ISAKMP (la stretta di mano)

La Fase 1 stabilisce un canale sicuro tra i due router per negoziare i parametri della VPN. I due endpoint si autenticano e concordano gli algoritmi da usare.

crypto isakmp policy 10
 encryption aes
 authentication pre-share
 group 2
 exit
crypto isakmp key cisco address 10.2.2.2
Parametro Significato
encryption aes Usa AES come algoritmo di cifratura simmetrica
authentication pre-share Autenticazione con chiave pre-condivisa (PSK)
group 2 Gruppo Diffie-Hellman per lo scambio sicuro delle chiavi
key cisco address 10.2.2.2 PSK “cisco” e indirizzo del peer remoto (R3)
// Nota di sicurezza

La chiave “cisco” viene usata esclusivamente a scopo didattico. In un ambiente di produzione reale è obbligatorio utilizzare una passphrase lunga e complessa.

5c — Fase 2: IPSec (il tunnel vero e proprio)

crypto ipsec transform-set VPN-SET esp-3des esp-sha-hmac

crypto map VPN-MAP 10 ipsec-isakmp
 description VPN connection to R3
 set peer 10.2.2.2
 set transform-set VPN-SET
 match address 110
 exit

5d — Applicare la crypto map all'interfaccia

Il passo finale è applicare la configurazione VPN all'interfaccia seriale da cui escono i pacchetti verso la rete pubblica. Senza questo step, la crypto map esiste ma non viene mai attivata.

interface S0/3/0
 crypto map VPN-MAP
Figura 28
Figura 28 — Riepilogo della configurazione VPN IPSec completa su R1
06

Configurazione VPN su R3

La configurazione su R3 è speculare a quella di R1, con sorgente e destinazione invertite e il peer che punta all'indirizzo seriale di R1.

access-list 110 permit ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255

crypto isakmp policy 10
 encryption aes
 authentication pre-share
 group 2
 exit
crypto isakmp key cisco address 10.1.1.1

crypto ipsec transform-set VPN-SET esp-3des esp-sha-hmac

crypto map VPN-MAP 10 ipsec-isakmp
 description VPN connection to R1
 set peer 10.1.1.1
 set transform-set VPN-SET
 match address 110
 exit

interface S0/3/0
 crypto map VPN-MAP
Figura 29
Figura 29 — Configurazione VPN su R3: notare la simmetria con R1, con sorgente/destinazione e peer invertiti
// Differenze rispetto a R1

Nell'ACL la rete sorgente è 192.168.3.0 e la destinazione è 192.168.1.0 (invertite). Il peer ISAKMP punta a 10.1.1.1 (interfaccia seriale di R1).

07

Verifica del funzionamento

La verifica è la parte più interessante: non solo confermiamo che la VPN funziona, ma dimostriamo anche che funziona selettivamente, cifrando solo il traffico corretto.

Prima verifica — stato iniziale a zero

show crypto ipsec sa
Figura 30
Figura 30 — Stato iniziale: tutti i contatori di pacchetti cifrati/decifrati sono a zero — normale, non è ancora passato traffico VPN

Seconda verifica — traffico VPN (PC-A → PC-C)

Eseguiamo un ping da PC-A verso PC-C (192.168.3.3). Questo traffico corrisponde esattamente all'ACL 110, quindi verrà cifrato e incapsulato nel tunnel IPSec.

Figura 31
Figura 31 — Ping da PC-A (192.168.1.3) verso PC-C (192.168.3.3): il traffico attraversa il tunnel VPN
Figura 32
Figura 32 — I contatori #pkts encaps e #pkts encrypt sono aumentati: il traffico PC-A→PC-C è stato cifrato nel tunnel

Terza verifica — traffico fuori VPN (PC-A → PC-B)

Eseguiamo ora un ping da PC-A verso PC-B (192.168.2.3). Questo traffico non corrisponde all'ACL 110, quindi viaggia in chiaro senza entrare nel tunnel.

Figura 33
Figura 33 — Dopo il ping verso PC-B i contatori IPSec rimangono invariati: il traffico verso 192.168.2.0 non viene cifrato

Quarta verifica — secondo pacchetto VPN

Figura 34
Figura 34 — I contatori aumentano di nuovo: un altro pacchetto cifrato e uno decifrato confermano che il tunnel è attivo e operativo

Riepilogo concettuale

Quello che abbiamo realizzato è esattamente il modello usato dalle aziende per connettere filiali remote in modo sicuro. I PC non “sanno” di usare una VPN: ci pensano i router gateway, in modo trasparente.

// Traffico cifrato (passa dal tunnel VPN)

PC-A
R1
🔒 TUNNEL IPSEC CIFRATO
R3
PC-C

// Traffico in chiaro (bypassa il tunnel)

PC-A
R1
R2
PC-B
(no VPN)