In questo documento vengono descritti i concetti e la configurazione di una VPN tra Cisco ASA e Cisco Secure Firewall e i servizi cloud di Microsoft Azure.
Cisco raccomanda la conoscenza dei seguenti argomenti:
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
L'intervallo di indirizzi IP con IPSec consente la partecipazione al tunnel VPN. Il dominio di crittografia viene definito utilizzando un selettore di traffico locale e remoto per specificare gli intervalli di subnet locale e remota acquisiti e crittografati da IPSec.
Per definire i domini di crittografia VPN, è possibile procedere in due modi: selettori di traffico basati su route o su policy:
Basato su route:
Il dominio di crittografia è impostato in modo da consentire il traffico in entrata nel tunnel IPSec. I selettori di traffico locale e remoto di IPSec sono impostati su 0.0.0.0. Ciò significa che tutto il traffico instradato nel tunnel IPSec viene crittografato indipendentemente dalla subnet di origine/destinazione.
Cisco Adaptive Security Appliance (ASA) supporta VPN basate su route con l'utilizzo di VTI (Virtual Tunnel Interfaces) nella versione 9.8 e successive.
Cisco Secure Firewall o Firepower Threat Defense (FTD) gestiti da Firepower Management Center (FMC) supportano VPN basate su route con l'utilizzo di VTI nelle versioni 6.7 e successive.
Basato su regole:
Il dominio di crittografia è impostato per crittografare solo intervalli IP specifici sia per l'origine che per la destinazione. I selettori di traffico locale e remoto basati su criteri identificano il traffico da crittografare tramite IPSec.
ASA supporta VPN basate su criteri con mappe crittografiche nella versione 8.2 e successive.
Microsoft Azure supporta selettori di traffico basati su route, criteri o route con simulatori basati su criteri. Azure attualmente limita la versione di Internet Key Exchange (IKE) che è possibile configurare in base al metodo VPN selezionato. La versione basata su route richiede IKEv2 e la versione basata su criteri richiede IKEv1. Se si utilizza IKEv2, è necessario selezionare la versione basata su route in Azure e l'appliance ASA deve utilizzare una VTI.
Se l'appliance ASA supporta solo mappe crittografiche a causa della versione del codice, è necessario configurare Azure per la route basata su selettori di traffico basati su criteri. Questa operazione viene eseguita nel portale di Azure tramite la distribuzione di script PowerShell per implementare un'opzione che Microsoft chiama UsePolicyBasedTrafficSelectors, a cui è possibile fare riferimento: Connettere un gateway VPN a più dispositivi VPN basati su criteri locali.
Per riepilogare i dati dalla prospettiva di configurazione ASA e FTD:
Completare la procedura di configurazione. Scegliere se configurare IKEv1, route IKEv2 basata su VTI o route IKEv2 basata su selettori del traffico basati su policy (mappa crittografica su ASA).
Per una VPN IKEv1 da sito a sito da ASA ad Azure, implementare la successiva configurazione ASA. Assicurarsi di configurare un tunnel basato su criteri nel portale di Azure. Per questo esempio, le mappe crittografiche vengono usate sull'appliance ASA.
Per informazioni complete sulla configurazione dell'ASA, consultare la sezione Configurazione dei tunnel IPsec IKEv1 da sito a sito con ASDM o CLI su ASAv.
1. Abilitare IKEv1 sull'interfaccia esterna.
Cisco-ASA(config)#crypto ikev1 enable outside
2. Creare un criterio IKEv1 che definisca gli algoritmi o i metodi da utilizzare per l'hash, l'autenticazione, il gruppo Diffie-Hellman, la durata e la crittografia.
Cisco-ASA(config)#crypto ikev1 policy 1
Cisco-ASA(config-ikev1-policy)#authentication pre-share
Cisco-ASA(config-ikev1-policy)#encryption aes
Cisco-ASA(config-ikev1-policy)#hash sha
Cisco-ASA(config-ikev1-policy)#group 14
Cisco-ASA(config-ikev1-policy)#lifetime 28800
3. Creare un gruppo di tunnel con gli attributi IPsec e configurare l'indirizzo IP del peer e la chiave precondivisa del tunnel.
Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l
Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes
Cisco-ASA(config-tunnel-ipsec)#ikev1 pre-shared-key cisco
4. Creare un elenco degli accessi che definisca il traffico da crittografare e tunneling.
Nell'esempio, il traffico di interesse proviene dal tunnel che ha origine dalla subnet 10.2.2.0 a 10.1.1.0. Può contenere più voci se tra i siti sono coinvolte più subnet.
Nelle versioni 8.4 e successive è possibile creare oggetti o gruppi di oggetti che fungono da contenitori per reti, subnet, indirizzi IP host o più oggetti. Creare due oggetti che hanno le subnet locali e remote e usarli sia per l'istruzione Crypto Access Control List (ACL) che per l'istruzione Network Address Translation (NAT).
Cisco-ASA(config)#object network 10.2.2.0_24
Cisco-ASA(config-network-object)#subnet 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.1.1.0_24
Cisco-ASA(config-network-object)#subnet 10.1.1.0 255.255.255.0
Cisco-ASA(config)#access-list 100 extended permit ip object 10.2.2.0_24 object 10.1.1.0_24
5. Configurare il set di trasformazioni (TS), che deve includere la parola chiave IKEv1. È necessario creare un TS identico anche sull'estremità remota.
Cisco-ASA(config)#crypto ipsec ikev1 transform-set myset esp-aes esp-sha-hmac
Passaggio 6. Configurare la mappa crittografica e applicarla all'interfaccia esterna, che ha i seguenti componenti:
Un'impostazione PFS facoltativa crea una nuova coppia di chiavi Diffie-Hellman utilizzata per proteggere i dati (entrambi i lati devono essere abilitati PFS prima dell'attivazione della Fase 2). È possibile abilitare questa impostazione eseguendo il comando seguente: mappa crittografica outside_map 20 set pfs.
Cisco-ASA(config)#crypto map outside_map 20 match address 100
Cisco-ASA(config)#crypto map outside_map 20 set peer 192.168.1.1
Cisco-ASA(config)#crypto map outside_map 20 set ikev1 transform-set myset
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime seconds 3600
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime kilobytes 102400000 Cisco-ASA(config)#crypto map outside_map interface outside
7. Verificare che il traffico VPN non sia soggetto ad altre regole NAT. Creare una regola di esenzione NAT:
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.2.2.0_24 10.2.2.0_24 destination static 10.1.1.0_24 10.1.1.0_24 no-proxy-arp route-lookup
Cisco-ASA(config)#object-group network 10.x.x.x_SOURCE
Cisco-ASA(config-network-object-group)#network-object 10.4.4.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.x.x.x_DESTINATION
Cisco-ASA(config-network-object-group)#network-object 10.3.3.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.1.1.0 255.255.255.0
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.x.x.x_SOURCE 10.x.x.x_SOURCE destination static 10.x.x.x_DESTINATION 10.x.x.x_DESTINATION no-proxy-arp route-lookup
Per una VPN basata su route IKEv2 da sito a sito su codice ASA, utilizzare questa configurazione. Verificare che Azure sia configurato per la VPN basata su route e non configurare UsePolicyBasedTrafficSelectors nel portale di Azure. Sull'appliance ASA è configurata una VTI.
Vedere la guida di riferimento alla CLI 3: Cisco ASA Series VPN CLI Configuration Guide, 9.8 per informazioni complete sulla configurazione della VTI ASA.
1. Abilitare IKEv2 sull'interfaccia esterna:
Cisco-ASA(config)#crypto ikev2 enable outside
2. Aggiungere un criterio IKEv2 fase 1.
Cisco-ASA(config)#crypto ikev2 policy 1 Cisco-ASA(config-ikev2-policy)#encryption aes-256 Cisco-ASA(config-ikev2-policy)#integrity sha256 Cisco-ASA(config-ikev2-policy)#group 14 Cisco-ASA(config-ikev2-policy)#lifetime seconds 28800
3. Aggiungere una proposta IPSec fase 2 IKEv2. Specificare i parametri di sicurezza nella modalità di configurazione della proposta IPSec IKEV2 di crittografia:
protocollo esp crittografia {des | 3des | aes | aes-192 | aes-256 | aes-gcm | aes-gcm-192 | aes-gcm-256 | aes-gmac | aes-gmac-192 | aes-gmac-256 | null}
protocollo integrità esp {md5 | sha-1 | csa-256 | csa-384 | csa-512 | null}
Cisco-ASA(config)#crypto ipsec ikev2 ipsec-proposal SET1
Cisco-ASA(config-ipsec-proposal)#protocol esp encryption aes-256
Cisco-ASA(config-ipsec-proposal)#protocol esp integrity sha-256
4. Aggiungere un profilo IPSec che specifichi:
Cisco-ASA(config)#crypto ipsec profile PROFILE1
Cisco-ASA(config-ipsec-profile)#set ikev2 ipsec-proposal SET1
Cisco-ASA(config-ipsec-profile)#set security-association lifetime seconds 27000
Cisco-ASA(config-ipsec-profile)#set security-association lifetime kilobytes unlimited
Cisco-ASA(config-ipsec-profile)#set pfs none
5. Creare un gruppo di tunnel con gli attributi IPsec e configurare l'indirizzo IP del peer e la chiave precondivisa del tunnel locale e remoto IKEv2:
Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l
Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes
Cisco-ASA(config-tunnel-ipsec)#ikev2 local-authentication pre-shared-key cisco
Cisco-ASA(config-tunnel-ipsec)#ikev2 remote-authentication pre-shared-key cisco
6. Creare una VTI che specifichi:
Cisco-ASA(config)#interface tunnel 100 Cisco-ASA(config-if)#nameif vti Cisco-ASA(config-if)#ip address 169.254.0.1 255.255.255.252 Cisco-ASA(config-if)#tunnel source interface outside Cisco-ASA(config-if)#tunnel destination [Azure Public IP] Cisco-ASA(config-if)#tunnel mode ipsec ipv4 Cisco-ASA(config-if)#tunnel protection ipsec profile PROFILE1
7. Creare un percorso statico per indirizzare il traffico nel tunnel. Per aggiungere una route statica, eseguire questo comando:
route if_name dest_ip mask gateway_ip [distanza]
dest_ip e mask sono gli indirizzi IP per la rete di destinazione nel cloud di Azure, ad esempio 10.0.0.0/24. gateway_ip deve essere un indirizzo IP (esistente o inesistente) nella subnet dell'interfaccia del tunnel, ad esempio 169.254.0.2. Lo scopo di gateway_ip è quello di indirizzare il traffico nell'interfaccia del tunnel, tuttavia l'indirizzo IP specifico del gateway non è importante.
Cisco-ASA(config)#route vti 10.0.0.0 255.255.255.0 169.254.0.2
Per una VPN da sito a sito IKEv1 da FTD ad Azure, è necessario aver registrato in precedenza il dispositivo FTD in FMC.
1. Creare un criterio da sito a sito. Passare al dashboard di FMC > Dispositivi > VPN > Sito in sito.

2. Creare un nuovo criterio. Fare clic sul menu a discesa Add VPN (Aggiungi VPN) e selezionare Firepower Threat Defense Device.

3. Nella finestra Crea nuova topologia VPN, specificare il nome della topologia, selezionare la casella di controllo Protocollo IKEV1 e fare clic sulla scheda IKE. In questo esempio, le chiavi già condivise vengono utilizzate come metodo di autenticazione. Fare clic sul menu a discesa Tipo di autenticazione e scegliere Chiave manuale già condivisa. Digitare la chiave precondivisa manuale nei campi di testo Chiave e Conferma chiave.

4. Configurare la policy ISAKMP o i parametri della fase 1 con la creazione di una nuova policy. Nella stessa finestra, fare clic sul pulsante + verde per aggiungere un nuovo criterio ISAKMP. Specificare il nome del criterio e scegliere i valori desiderati per Crittografia, Hash, Gruppo Diffie-Hellman, Durata e Metodo di autenticazione, quindi fare clic su Salva.

5. Configurare il criterio IPSec o i parametri della fase 2. Passare alla scheda IPsec, quindi selezionare Static nella casella di controllo Crypto Map Type (Tipo di mappa crittografica). Fare clic sull'icona Modifica matita in Proposte IPSec IKEV1 nell'opzione Set trasformazioni.
6. Creare una nuova proposta IPSec. Nella finestra Proposta IPSec IKEv1 fare clic sul pulsante + verde per aggiungerne uno nuovo. Specificare il nome del criterio e i relativi parametri desiderati per gli algoritmi di crittografia ESP e hash ESP e fare clic su Salva.
7. Nella finestra Proposta IPSec IKEV1 aggiungere il nuovo criterio IPSec alla sezione Set di trasformazioni selezionati e fare clic su OK.

8. Tornare alla scheda IPSec, configurare la durata e le dimensioni desiderate.

9. Scegliere il dominio di crittografia/selettori traffico/reti protette. Passare alla scheda Endpoints. Nel nodo A, fare clicgreen + buttonsu per aggiungerne uno nuovo. In questo esempio, il nodo A viene usato come subnet locali dell'FTD.

10. Nella finestra Add Endpoint, specificare l'FTD da usare nell'elenco a discesa Device (Dispositivo) insieme all'interfaccia fisica e all'indirizzo IP da usare.
11. Per specificare il selettore di traffico locale, passare all'opzione Reti protette e fare clic sul pulsante + verde per creare un nuovo oggetto.
12. Nella finestra Oggetti di rete, fare clic sul pulsante + verde accanto al testo Reti disponibili per creare un nuovo oggetto selettore di traffico locale.

13. Nella finestra Nuovo oggetto di rete, specificare il nome dell'oggetto e scegliere di conseguenza; host/rete/intervallo/FQDN. Quindi, fare clic su Salva.

14. Aggiungere l'oggetto alla sezione Reti selezionate della finestra Oggetti di rete e fare clic su OK. Fare clic su OK nella finestra Aggiungi endpoint.
15. Definire il nodo B, che in questo esempio è l'endpoint di Azure. Nella finestra Create New VPN Topology (Crea nuova topologia VPN), passare alla sezione Nodo B e fare clic sul pulsante + verde per aggiungere il selettore del traffico dell'endpoint remoto. Specificare Extranet per tutti gli endpoint peer VPN non gestiti dallo stesso FMC del nodo A. Digitare il nome del dispositivo (solo significativo a livello locale) e il relativo indirizzo IP.
16. Creare l'oggetto selettore traffico remoto. Passare alla sezione Reti protette e fare clic sul pulsante + verde per aggiungere un nuovo oggetto.
17. Nella finestra Oggetti di rete, fare clic sul pulsante + verde accanto al testo Reti disponibili per creare un nuovo oggetto. Nella finestra Nuovo oggetto di rete, specificare il nome dell'oggetto e scegliere di conseguenza host/intervallo/rete/FQDN e fare clic su Salva.

18. Tornare alla finestra Oggetti di rete, aggiungere il nuovo oggetto remoto alla sezione Reti selezionate e fare clic su OK. Fare clic su OK nella finestra Aggiungi endpoint.

19. Nella finestra Crea nuova topologia VPN, è ora possibile visualizzare entrambi i nodi con i selettori di traffico e le reti protette corretti. Fare clic su Save (Salva).
20. Nel dashboard di FMC, fare clic su Distribuisci nel riquadro in alto a destra, scegliere il dispositivo FTD e fare clic su Distribuisci.
21. Dalla CLI, la configurazione VPN è simile a quella dei dispositivi ASA.
Per una VPN IKEv2 da sito a sito su ASA con mappe crittografiche, utilizzare questa configurazione. Verificare che Azure sia configurato per la VPN basata su route e che UsePolicyBasedTrafficSelectors sia configurato nel portale di Azure tramite PowerShell.
Per connettere un gateway VPN a più dispositivi VPN basati su criteri locali di Microsoft, viene descritta la configurazione di UsePolicyBasedTrafficSelectors in combinazione con la modalità VPN di Azure basata su route. Senza completare questo passaggio, ASA con mappe crittografiche non riesce a stabilire la connessione a causa di una mancata corrispondenza nei selettori di traffico ricevuti da Azure.
Vedere la guida di riferimento alla CLI 3: Guida alla configurazione della CLI della VPN della serie Cisco ASA, 9.8 per ASA IKEv2 completo con informazioni di configurazione della mappa crittografica.
1. Abilitare IKEv2 sull'interfaccia esterna:
Cisco-ASA(config)#crypto ikev2 enable outside
2. Aggiungere un criterio IKEv2 fase 1.
Cisco-ASA(config)#crypto ikev2 policy 1 Cisco-ASA(config-ikev2-policy)#encryption aes-256 Cisco-ASA(config-ikev2-policy)#integrity sha256 Cisco-ASA(config-ikev2-policy)#group 14 Cisco-ASA(config-ikev2-policy)#lifetime seconds 28800
3. Creare un gruppo di tunnel con gli attributi IPsec e configurare l'indirizzo IP del peer e la chiave precondivisa del tunnel locale e remoto IKEv2:
Cisco-ASA(config)#tunnel-group 192.168.1.1 type ipsec-l2l
Cisco-ASA(config)#tunnel-group 192.168.1.1 ipsec-attributes
Cisco-ASA(config-tunnel-ipsec)#ikev2 local-authentication pre-shared-key cisco
Cisco-ASA(config-tunnel-ipsec)#ikev2 remote-authentication pre-shared-key cisco
4. Creare un elenco degli accessi che definisca il traffico da crittografare e tunneling. Nell'esempio, il traffico di interesse è il traffico proveniente dal tunnel che ha origine dalla subnet 10.2.2.0 a 10.1.1.0. Può contenere più voci se tra i siti sono coinvolte più subnet.
Nelle versioni 8.4 e successive, è possibile creare oggetti o gruppi di oggetti che fungono da contenitori per le reti, le subnet, gli indirizzi IP dell'host o più oggetti. Creare due oggetti che hanno le subnet locali e remote e usarli per le istruzioni crypto ACL e NAT.
Cisco-ASA(config)#object network 10.2.2.0_24
Cisco-ASA(config-network-object)#subnet 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.1.1.0_24
Cisco-ASA(config-network-object)#subnet 10.1.1.0 255.255.255.0
Cisco-ASA(config)#access-list 100 extended permit ip object 10.2.2.0_24 object 10.1.1.0_24
5. Aggiungere una proposta IPSec fase 2 IKEv2. Specificare i parametri di sicurezza nella modalità di configurazione della proposta IPSec IKEV2 di crittografia:
protocollo esp crittografia {des | 3des | aes | aes-192 | aes-256 | aes-gcm | aes-gcm-192 | aes-gcm-256 | aes-gmac | aes-gmac-192 | aes-gmac-256 | null}
protocollo integrità esp {md5 | sha-1 | csa-256 | csa-384 | csa-512 | null}
Cisco-ASA(config)#crypto ipsec ikev2 ipsec-proposal SET1
Cisco-ASA(config-ipsec-proposal)#protocol esp encryption aes-256
Cisco-ASA(config-ipsec-proposal)#protocol esp integrity sha-256
6. Configurare una mappa crittografica e applicarla all'interfaccia esterna, che contiene i seguenti componenti:
· L'indirizzo IP peer.
· L'elenco degli accessi definito che contiene il traffico di interesse.
· Proposta IPSec fase 2 IKEv2.
· Durata IPSec fase 2 in secondi.
· Impostazione PFS (Perfect Forward Secrecy) opzionale, che crea una nuova coppia di chiavi Diffie-Hellman utilizzate per proteggere i dati (entrambi i lati devono essere abilitati PFS prima dell'avvio della Fase 2).
Sono state pubblicate informazioni in conflitto con la durata IPSec di fase 2 e gli attributi PFS utilizzati da Azure.
Gli attributi elencati derivano dalle offerte dell'associazione di sicurezza IPsec VPN basata su route (IKE Quick Mode SA).
Le informazioni sugli attributi IPSec fase 2 fornite da Microsoft in conflitto sono Configurazione di esempio: Dispositivo Cisco ASA (IKEv2/no BGP). Per ulteriori informazioni, contattare il supporto tecnico di Microsoft Azure.
Cisco-ASA(config)#crypto map outside_map 20 match address 100 Cisco-ASA(config)#crypto map outside_map 20 set peer 192.168.1.1 Cisco-ASA(config)#crypto map outside_map 20 set ikev2 ipsec-proposal myset
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime seconds 27000
Cisco-ASA(config)#crypto map outside_map 20 set security-association lifetime kilobytes unlimited Cisco-ASA(config)#crypto map outside_map 20 set pfs none Cisco-ASA(config)#crypto map outside_map interface outside
8. Verificare che il traffico VPN non sia soggetto a nessun'altra regola NAT. Creare una regola di esenzione NAT:
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.2.2.0_24 10.2.2.0_24 destination static 10.1.1.0_24 10.1.1.0_24 no-proxy-arp route-lookup
Cisco-ASA(config)#object-group network 10.x.x.x_SOURCE
Cisco-ASA(config-network-object-group)#network-object 10.4.4.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.2.2.0 255.255.255.0
Cisco-ASA(config)#object network 10.x.x.x_DESTINATION
Cisco-ASA(config-network-object-group)#network-object 10.3.3.0 255.255.255.0
Cisco-ASA(config-network-object-group)#network-object 10.1.1.0 255.255.255.0
Cisco-ASA(config)#nat (inside,outside) 1 source static 10.x.x.x_SOURCE 10.x.x.x_SOURCE destination static 10.x.x.x_DESTINATION 10.x.x.x_DESTINATION no-proxy-arp route-lookup
Dopo aver completato la configurazione sia su ASA che sul gateway di Azure, Azure avvia il tunnel VPN. È possibile verificare la corretta compilazione del tunnel con questi comandi:
Verificare che sia stata creata l'associazione di sicurezza (SA, Security Association) per la fase 1:
Quindi, viene mostrata una SA IKEv2 costruita dall'interfaccia esterna locale IP 192.168.1.2 sulla porta UDP 500, alla destinazione remota IP 192.168.2.2. È inoltre presente un'associazione di protezione figlio valida creata per il flusso del traffico crittografato.
Cisco-ASA# show crypto ikev2 sa
IKEv2 SAs:
Session-id:44615, Status:UP-ACTIVE, IKE count:1, CHILD count:1
Tunnel-id Local Remote Status Role
3208253 192.168.1.2/500 192.168.2.2/500 READY INITIATOR
Encr: AES-CBC, keysize: 256, Hash: SHA256, DH Grp:14, Auth sign: PSK, Auth verify: PSK
Life/Active Time: 86400/142 sec
*-->Child sa: local selector 192.168.0.0/0 - 192.168.0.255/65535
remote selector 192.168.3.0/0 - 192.168.3.255/65535
ESP spi in/out: 0x9b60edc5/0x8e7a2e12
Nell'esempio, l'associazione di sicurezza IKEv1 è costruita con un'appliance ASA come iniziatore per collegare l'indirizzo IP 192.168.2.2 con una durata residua di 86388 secondi:
Cisco-ASA# sh crypto ikev1 sa detail
IKEv1 SAs:
Active SA: 1
Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1
1 IKE Peer: 192.168.2.2
Type : L2L Role : initiator
Rekey : no State : MM_ACTIVE
Encrypt : aes Hash : SHA
Auth : preshared Lifetime: 86400
Lifetime Remaining: 86388
Verificare che l'associazione di protezione IPSec fase 2 sia creata con show crypto ipsec sa peer [peer-ip]:
Cisco-ASA# show crypto ipsec sa peer 192.168.2.2
peer address: 192.168.2.2
Crypto map tag: outside, seq num: 10, local addr: 192.168.1.2
access-list VPN extended permit ip 192.168.0.0 255.255.255.0 192.168.3.0 255.255.255.0
local ident (addr/mask/prot/port): (192.168.0.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (192.168.3.0/255.255.255.0/0/0)
current_peer: 192.168.2.2
#pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4
#pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 4, #pkts comp failed: 0, #pkts decomp failed: 0
#pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0
#PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0
#TFC rcvd: 0, #TFC sent: 0
#Valid ICMP Errors rcvd: 0, #Invalid ICMP Errors rcvd: 0
#send errors: 0, #recv errors: 0
local crypto endpt.: 192.168.1.2/500, remote crypto endpt.: 192.168.2.2/500
path mtu 1500, ipsec overhead 74(44), media mtu 1500
PMTU time remaining (sec): 0, DF policy: copy-df
ICMP error validation: disabled, TFC packets: disabled
current outbound spi: 8E7A2E12
current inbound spi : 9B60EDC5
inbound esp sas:
spi: 0x9B60EDC5 (2606820805)
SA State: active
transform: esp-aes-256 esp-sha256-hmac no compression
in use settings ={L2L, Tunnel, IKEv2, }
slot: 0, conn_id: 182743040, crypto-map: outside
sa timing: remaining key lifetime (kB/sec): (4193279/28522)
IV size: 16 bytes
replay detection support: Y
Anti replay bitmap:
0x00000000 0x0000001F
outbound esp sas:
spi: 0x8E7A2E12 (2390371858)
SA State: active
transform: esp-aes-256 esp-sha256-hmac no compression
in use settings ={L2L, Tunnel, IKEv2, }
slot: 0, conn_id: 182743040, crypto-map: outside
sa timing: remaining key lifetime (kB/sec): (3962879/28522)
IV size: 16 bytes
replay detection support: Y
Anti replay bitmap:
0x00000000 0x00000001
Quattro pacchetti vengono inviati e quattro ricevuti tramite l'associazione di protezione IPSec senza errori. Una SA in entrata con SPI 0x9B60EDC5 e una SA in uscita con SPI 0x8E7A2E12 sono installate come previsto.
È possibile anche verificare i dati trasmessi sul tunnel tramite un controllo delle voci vpn-sessiondb l2l:
Cisco-ASA#show vpn-sessiondb l2l
Session Type: LAN-to-LAN
Connection : 192.168.2.2
Index : 44615 IP Addr : 192.168.2.2
Protocol : IKEv2 IPsec
Encryption : IKEv2: (1)AES256 IPsec: (1)AES256
Hashing : IKEv2: (1)SHA256 IPsec: (1)SHA256
Bytes Tx : 400 Bytes Rx : 400
Login Time : 18:32:54 UTC Tue Mar 13 2018
Duration : 0h:05m:22s
Byte Tx: e Byte Rx: visualizzare i contatori dei dati inviati e ricevuti tramite l'associazione di protezione IPSec.
1. Verificare che il traffico per la VPN sia ricevuto dall'ASA sull'interfaccia interna destinata alla rete privata di Azure. Per verificare, è possibile configurare un ping continuo da un client interno e configurare l'acquisizione di un pacchetto sull'appliance ASA per verificare che venga ricevuto:
capture [cap-name] interface [if-name] match [protocol] [src-ip] [src-mask] [dest-ip] [dest-mask]
show capture [cap-name]
Cisco-ASA#capture inside interface inside match ip host [local-host] host [remote-host]
Cisco-ASA#show capture inside 2 packets captured 1: 18:50:42.835863 192.168.0.2 > 192.168.3.2: icmp: echo request 2: 18:50:42.839128 192.168.3.2 > 192.168.0.2: icmp: echo reply 2 packets shown
2. Verificare che il traffico ricevuto sull'interfaccia interna dell'ASA sia elaborato correttamente dall'ASA e instradato alla VPN:
Per simulare una richiesta echo ICMP:
input packet-tracer [inside-interface-name] icmp [inside-host-ip] 8 0 [azure-host-ip] detail
Fare riferimento alle linee guida complete per l'utilizzo di packet-tracer Risoluzione dei problemi di accesso con Packet-Tracer
Cisco-ASA# packet-tracer input inside icmp 192.168.0.2 8 0 192.168.3.2 detail
Phase: 1
Type: CAPTURE
Subtype:
Result: ALLOW
Config:
Additional Information:
Forward Flow based lookup yields rule:
in id=0x7f6c19afb0a0, priority=13, domain=capture, deny=false
hits=3, user_data=0x7f6c19afb9b0, cs_id=0x0, l3_type=0x0
src mac=0000.0000.0000, mask=0000.0000.0000
dst mac=0000.0000.0000, mask=0000.0000.0000
input_ifc=inside, output_ifc=any
Phase: 2
Type: ACCESS-LIST
Subtype:
Result: ALLOW
Config:
Implicit Rule
Additional Information:
Forward Flow based lookup yields rule:
in id=0x7f6c195971f0, priority=1, domain=permit, deny=false
hits=32, user_data=0x0, cs_id=0x0, l3_type=0x8
src mac=0000.0000.0000, mask=0000.0000.0000
dst mac=0000.0000.0000, mask=0100.0000.0000
input_ifc=inside, output_ifc=any
Phase: 3
Type: ROUTE-LOOKUP
Subtype: Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
found next-hop 192.168.1.1 using egress ifc outside
Phase: 4
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:
Forward Flow based lookup yields rule:
in id=0x7f6c19250290, priority=0, domain=nat-per-session, deny=true
hits=41, user_data=0x0, cs_id=0x0, reverse, use_real_addr, flags=0x0, protocol=0
src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any
dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0
input_ifc=any, output_ifc=any
Phase: 5
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:
Forward Flow based lookup yields rule:
in id=0x7f6c1987c120, priority=0, domain=inspect-ip-options, deny=true
hits=26, user_data=0x0, cs_id=0x0, reverse, flags=0x0, protocol=0
src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any
dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0
input_ifc=inside, output_ifc=any
Phase: 6
Type: QOS
Subtype:
Result: ALLOW
Config:
Additional Information:
Forward Flow based lookup yields rule:
in id=0x7f6c19a60280, priority=70, domain=qos-per-class, deny=false
hits=30, user_data=0x7f6c19a5c030, cs_id=0x0, reverse, use_real_addr, flags=0x0, protocol=0
src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any
dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=any, dscp=0x0
input_ifc=any, output_ifc=any
Phase: 7
Type: INSPECT
Subtype: np-inspect
Result: ALLOW
Config:
Additional Information:
Forward Flow based lookup yields rule:
in id=0x7f6c1983ab50, priority=66, domain=inspect-icmp-error, deny=false
hits=27, user_data=0x7f6c1987afc0, cs_id=0x0, use_real_addr, flags=0x0, protocol=1
src ip/id=0.0.0.0, mask=0.0.0.0, icmp-type=0, tag=any
dst ip/id=0.0.0.0, mask=0.0.0.0, icmp-code=0, tag=any, dscp=0x0
input_ifc=inside, output_ifc=any
Phase: 8
Type: VPN
Subtype: encrypt
Result: ALLOW
Config:
Additional Information:
Forward Flow based lookup yields rule:
out id=0x7f6c19afe1a0, priority=70, domain=encrypt, deny=false
hits=2, user_data=0x13134, cs_id=0x7f6c19349670, reverse, flags=0x0, protocol=0
src ip/id=192.168.0.0, mask=255.255.255.0, port=0, tag=any
dst ip/id=192.168.3.0, mask=255.255.255.0, port=0, tag=any, dscp=0x0
input_ifc=any, output_ifc=outside
Phase: 9
Type: FLOW-CREATION
Subtype:
Result: ALLOW
Config:
Additional Information:
New flow created with id 43, packet dispatched to next module
Module information for forward flow ...
snp_fp_tracer_drop
snp_fp_inspect_ip_options
snp_fp_inspect_icmp
snp_fp_adjacency
snp_fp_encrypt
snp_fp_fragment
snp_ifc_stat
Module information for reverse flow ...
Result:
input-interface: inside
input-status: up
input-line-status: up
output-interface: outside
output-status: up
output-line-status: up
Action: allow
NAT esenta il traffico (nessuna traduzione ha effetto). Verificare che non si verifichi alcuna conversione NAT sul traffico VPN. Verificare inoltre che l'interfaccia di output sia corretta, deve essere l'interfaccia fisica a cui viene applicata la mappa crittografica o l'interfaccia del tunnel virtuale.
Verificare che non vi siano perdite nell'elenco degli accessi. Se la fase VPN mostra ENCRYPT: ALLOW, il tunnel è già stato generato ed è possibile visualizzare l'associazione di protezione IPSec installata con encaps.
2.1. Se CRIPTATO: Il comando ALLOW viene visualizzato nel tracer dei pacchetti.
2.2. Se ENCRYPT:DROP è rilevato nel packet-tracer.
Verificare che sia attivata la versione corretta di IKE e che il processo ike-common non presenti errori rilevanti:
Cisco-ASA#debug crypto ike-common 255 Cisco-ASA# Mar 13 18:58:14 [IKE COMMON DEBUG]Tunnel Manager dispatching a KEY_ACQUIRE message to IKEv1. Map Tag = outside. Map Sequence Number = 10.
Se non viene rilevato alcun output di debug ike-common all'avvio del traffico VPN, il traffico viene interrotto prima che raggiunga il processo di crittografia o il protocollo crypto ikev1/ikev2 non è abilitato sulla confezione. Controllare due volte la configurazione della crittografia e le perdite di pacchetti.
Se durante i debug comuni di IKE viene visualizzato l'avvio del processo di crittografia, eseguire il debug della versione configurata di IKE per visualizzare i messaggi di negoziazione del tunnel e identificare la posizione in cui si è verificato l'errore durante la generazione del tunnel con Azure.
Nota tecnica sulla risoluzione dei problemi fare riferimento alla procedura e all'analisi complete di debug di ikev1: Debug IPSec e IKE (modalità principale IKEv1) dell'appliance ASA.
Cisco-ASA#debug crypto ikev1 127
Cisco-ASA#debug crypto ipsec 127
Per ulteriori informazioni, fare riferimento alla procedura di debug e all'analisi complete di ikev2: usare i debug ASA IKEv2 per la VPN da sito a sito con PSK
Cisco-ASA#debug crypto ikev2 platform 127 Cisco-ASA#debug crypto ikev2 protocol 127 Cisco-ASA#debug crypto ipsec 127
| Revisione | Data di pubblicazione | Commenti |
|---|---|---|
5.0 |
24-Jul-2026
|
Descrizione dell'articolo, collegamenti alle immagini, requisiti di stile e formattazione aggiornati. |
3.0 |
09-Sep-2022
|
Revisione/ricertificazione del contenuto |
2.0 |
28-Feb-2022
|
Il supporto per FTD 6.7 è stato aggiunto come parte della richiesta firestarter. |
1.0 |
27-Mar-2019
|
Versione iniziale |