In questo documento viene descritto come configurare una connessione VTI (Virtual Tunnel Interface) di ASA (Adaptive Security Appliance) ad Azure.
Cisco raccomanda la conoscenza dei seguenti argomenti:
Il documento può essere consultato per tutte le versioni software o 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.
In ASA 9.8.1, la funzionalità VTI di IPsec è stata estesa per utilizzare IKEv2, ma è ancora limitata a sVTI IPv4 su IPv4. Questa guida alla configurazione è stata prodotta con l'uso dell'interfaccia CLI di ASA e del portale di Azure. La configurazione del portale di Azure può essere eseguita anche con PowerShell o tramite un'API. Per ulteriori informazioni sui metodi di configurazione di Azure, consultare la documentazione di Azure.
Nota: Al momento, la tecnologia VTI è supportata solo nella modalità di routing a contesto singolo.
In questa guida si presume che Azure Cloud non sia stato configurato. Alcuni di questi passaggi possono essere ignorati se le risorse sono già state stabilite.
Passaggio 1. Configurare una rete in Azure
Spazio degli indirizzi di rete che risiede nel cloud di Azure. Questo spazio di indirizzi deve essere sufficientemente ampio da contenere le sottoreti al loro interno, come mostrato nell'immagine.


![]() ![]() |
|
Passaggio 2. Modificare la rete virtuale per creare una subnet del gateway
1. Passare alla rete virtuale e aggiungere una subnet del gateway. Nell'esempio viene utilizzato 10.1.1.0/24.

Passaggio 3. Creare un gateway di rete virtuale
1. Questo è l'endpoint VPN ospitato nel cloud. Questo è il dispositivo con cui l'ASA crea il tunnel IPsec. In questo passaggio viene inoltre creato un IP pubblico, assegnato al gateway di rete virtuale. Questo passaggio può richiedere da 15 a 20 minuti.


![]() |
|
Passaggio 4. Creazione di un gateway di rete locale
1. Un gateway di rete locale è la risorsa che rappresenta l'ASA.

|
|
Passaggio 5. Creare una nuova connessione tra il gateway di rete virtuale e il gateway di rete locale, come mostrato nell'immagine



Passaggio 6. Configurazione dell'ASA
1. Abilitare innanzitutto IKEv2 sull'interfaccia esterna e configurare i criteri IKEv2.
crypto ikev2 policy 10 encryption aes-gcm-256 aes-gcm-192 aes-gcm integrity null group 14 5 2 prf sha512 sha384 sha256 sha lifetime seconds 86400 crypto ikev2 policy 20 encryption aes-256 aes-192 aes integrity sha512 sha384 sha256 sha group 14 5 2 prf sha512 sha384 sha256 sha lifetime seconds 86400 crypto ikev2 enable outside
Passaggio 6. Configurare un set di trasformazioni IPsec e un profilo IPsec
crypto ipsec ikev2 ipsec-proposal AZURE-PROPOSAL protocol esp encryption aes-256 protocol esp integrity sha-256 crypto ipsec profile AZURE-PROPOSAL set ikev2 ipsec-proposal AZURE-PROPOSAL
Passaggio 7. Configurare il gruppo di tunnel.
1. Recuperare l'indirizzo IPv4 pubblico del gateway di rete virtuale creato nel passaggio 3, come mostrato nell'immagine.

2. Quindi, configurare sull'appliance ASA un gruppo di criteri di gruppo e un gruppo di tunnel con la chiave già condivisa definita nel passaggio 3.
group-policy AZURE internal group-policy AZURE attributes vpn-tunnel-protocol ikev2 tunnel-group A.A.A.A type ipsec-l2l tunnel-group A.A.A.A general-attributes default-group-policy AZURE tunnel-group A.A.A.A ipsec-attributes ikev2 remote-authentication pre-shared-key ***** ikev2 local-authentication pre-shared-key *****
Passaggio 8. Configurazione dell'interfaccia del tunnel
1. Nel passaggio 4, configurare il gateway di rete locale, un indirizzo di rete e un indirizzo IP per la connessione BGP configurata. Si tratta dell'indirizzo IP e della rete da configurare sulla VTI.
interface Tunnel1 nameif AZURE ip address 192.168.100.1 255.255.255.252 tunnel source interface outside tunnel destination A.A.A.A tunnel mode ipsec ipv4 tunnel protection ipsec profile AZURE-PROPOSAL no shutdown
2. Opzione 1. Configurare le route di scambio del routing dinamico con Azure con l'utilizzo di BGP.
2 bis. Individuare l'indirizzo IP del router BGP in Azure per visualizzare la configurazione del gateway di rete virtuale creato nel passaggio 3. In questo esempio, è 10.1.2.254.

3. Sull'appliance ASA, configurare una route statica che punti alla porta 10.1.2.254 del tunnel VTI. Nell'esempio, 192.168.100.2 è all'interno della stessa subnet della VTI. Anche se nessun dispositivo ha questo indirizzo IP, l'ASA installa il percorso che punta all'interfaccia VTI.
route AZURE 10.1.2.254 255.255.255.255 192.168.100.2 1
4. Quindi, configurare BGP sull'appliance ASA. La rete 192.168.2.0/24 è l'interfaccia ASA interna e una route che viene propagata nel cloud. Inoltre, le reti configurate in Azure vengono annunciate all'appliance ASA.
router bgp 65000 bgp log-neighbor-changes bgp graceful-restart address-family ipv4 unicast neighbor 10.1.2.254 remote-as 65515 neighbor 10.1.2.254 ebgp-multihop 255 neighbor 10.1.2.254 activate
network 192.168.2.0 network 192.168.100.0 mask 255.255.255.252 no auto-summary no synchronization exit-address-family
Opzione 2. Configurare il routing statico, configurare in modo statico le route sia sull'appliance ASA che su Azure. Configurare l'appliance ASA per inviare il traffico alle reti di Azure tramite il tunnel VTI.
route AZURE 10.1.0.0 255.255.0.0 192.168.100.2 1
1. Modificare il gateway di rete locale creato nel passaggio 4 con le reti esistenti dietro l'ASA e la subnet sull'interfaccia del tunnel. Aggiungere quindi i prefissi nella sezione Aggiungi spazi di rete aggiuntivi.
Per verificare che la configurazione funzioni correttamente, consultare questa sezione.
Passaggio 1. Verificare che una sessione IKEv2 sia stata stabilita eseguendo il comando show crypto ikev2 sa.
ciscoasa# show crypto ikev2 sa
IKEv2 SAs:
Session-id:6, Status:UP-ACTIVE, IKE count:1, CHILD count:1
Tunnel-id Local Remote Status Role
2006974029 B.B.B.B. /500 A.A.A.A/500 READY INITIATOR
Encr: AES-CBC, keysize: 256, Hash: SHA96, DH Grp:2, Auth sign: PSK, Auth verify: PSK
Life/Active Time: 86400/4640 sec
Child sa: local selector 0.0.0.0/0 - 255.255.255.255/65535
remote selector 0.0.0.0/0 - 255.255.255.255/65535
ESP spi in/out: 0x74e90416/0xba17723a
Passaggio 2. Verificare che anche un'associazione di protezione IPsec venga negoziata eseguendo il comando show crypto ipsec sa.
ciscoasa# show crypto ipsec sa
interface: AZURE
Crypto map tag: __vti-crypto-map-3-0-1, seq num: 65280, local addr: B.B.B.B
local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
current_peer: A.A.A.A
#pkts encaps: 240, #pkts encrypt: 240, #pkts digest: 240
#pkts decaps: 377, #pkts decrypt: 377, #pkts verify: 377
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 240, #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.: B.B.B.B/500, remote crypto endpt.: A.A.A.A/500
path mtu 1500, ipsec overhead 78(44), media mtu 1500
PMTU time remaining (sec): 0, DF policy: copy-df
ICMP error validation: disabled, TFC packets: disabled
current outbound spi: BA17723A
current inbound spi : 74E90416
inbound esp sas:
spi: 0x74E90416 (1961427990)
SA State: active
transform: esp-aes-256 esp-sha-256-hmac no compression
in use settings ={L2L, Tunnel, IKEv2, VTI, }
slot: 0, conn_id: 1722, crypto-map: __vti-crypto-map-3-0-1
sa timing: remaining key lifetime (kB/sec): (3962863/24100)
IV size: 16 bytes
replay detection support: Y
Anti replay bitmap:
0xFFFFFFFF 0xFFFFFFFF
outbound esp sas:
spi: 0xBA17723A (3122098746)
SA State: active
transform: esp-aes-256 esp-sha-256-hmac no compression
in use settings ={L2L, Tunnel, IKEv2, VTI, }
slot: 0, conn_id: 1722, crypto-map: __vti-crypto-map-3-0-1
sa timing: remaining key lifetime (kB/sec): (4008947/24100)
IV size: 16 bytes
replay detection support: Y
Anti replay bitmap:
0x00000000 0x00000001
ciscoasa#
Passaggio 3. Verificare la connettività sul tunnel al router remoto BGP eseguendo il comando ping e ping tcp per convalidare il routing di livello 3 e la connettività di livello 4 per BGP o le risorse dell'endpoint se si utilizza il routing statico.
ciscoasa# ping 10.1.2.254 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.1.2.254, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 40/42/50 ms ciscoasa# ping tcp 10.1.2.254 179 Type escape sequence to abort. No source specified. Pinging from identity interface. Sending 5 TCP SYN requests to 10.1.2.254 port 179 from 192.168.100.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 41/42/42 ms ciscoasa#
Passaggio 4. Quando si usa BGP, verificare che le route di connettività BGP vengano ricevute e annunciate ad Azure e alla tabella di routing dell'ASA.
ciscoasa# show bgp summary
BGP router identifier 192.168.100.1, local AS number 65000
BGP table version is 6, main routing table version 6
4 network entries using 800 bytes of memory
5 path entries using 400 bytes of memory
2/2 BGP path/bestpath attribute entries using 416 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1640 total bytes of memory
BGP activity 14/10 prefixes, 17/12 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.1.2.254 4 65515 73 60 6 0 0 01:02:26 3
ciscoasa# show bgp neighbors 10.1.2.254 routes
BGP table version is 6, local router ID is 192.168.100.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 10.1.0.0/16 10.1.2.254 0 65515 i <<< This is the virtual network defined in Azure
* 192.168.100.0/30 10.1.2.254 0 65515 i
r> 192.168.100.1/32 10.1.2.254 0 65515 i
Total number of prefixes 3
ciscoasa# show bgp neighbors 10.1.2.254 advertised-routes
BGP table version is 6, local router ID is 192.168.100.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.2.0 0.0.0.0 0 32768 i <<< These are the routes being advertised to Azure
*> 192.168.100.0/30 0.0.0.0 0 32768 i <<<
Total number of prefixes 2
ciscoasa#
ciscoasa# show route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, V - VPN
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, + - replicated route
Gateway of last resort is 10.1.251.33 to network 0.0.0.0
S* 0.0.0.0 0.0.0.0 [1/0] via B.B.B.C, outside
B 10.1.0.0 255.255.0.0 [20/0] via 10.1.1.254, 01:03:33
S 10.1.2.254 255.255.255.255 [1/0] via 192.168.100.2, AZURE
C B.B.B.A 255.255.255.224 is directly connected, outside
L B.B.B.B 255.255.255.255 is directly connected, outside
C 192.168.2.0 255.255.255.0 is directly connected, inside
L 192.168.2.2 255.255.255.255 is directly connected, inside
C 192.168.100.0 255.255.255.252 is directly connected, AZURE
L 192.168.100.1 255.255.255.255 is directly connected, AZURE
Passaggio 5. Eseguire il ping di un dispositivo sul tunnel. In questo esempio è una macchina virtuale Ubuntu in esecuzione in Azure.
ciscoasa# ping 10.1.0.4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.1.0.4, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 40/42/50 ms
Passaggio 6. Visualizzare ora i cicli di lavorazione effettivi sulla macchina virtuale remota. Devono mostrare i percorsi annunciati dall'ASA al cloud, come mostrato nell'immagine.

Al momento non sono disponibili informazioni specifiche per la risoluzione dei problemi di questa configurazione.
| Revisione | Data di pubblicazione | Commenti |
|---|---|---|
5.0 |
02-Jul-2026
|
Controllo ortografico, grammaticale, avviso CCW, struttura della frase e spaziatura aggiornati. |
4.0 |
24-Sep-2024
|
Formattazione aggiornata. |
3.0 |
19-Mar-2024
|
Contenuto tecnico aggiornato, traduzione automatica, testo alternativo e formattazione. |
2.0 |
11-Jul-2022
|
Il contenuto di questo articolo del record è ancora valido.
PII rimossa.
Aggiornamenti apportati alla formattazione, ai requisiti di stile, alla traduzione automatica e ai gerundi. |
1.0 |
18-Feb-2019
|
Versione iniziale |