Este documento describe cómo configurar una conexión IPsec Virtual Tunnel Interface (VTI) de Adaptive Security Appliance (ASA) a Azure.
Cisco recomienda que tenga conocimiento sobre estos temas:
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
En ASA 9.8.1, la función IPsec VTI se amplió para utilizar IKEv2; sin embargo, sigue estando limitada a sVTI IPv4 sobre IPv4. Esta guía de configuración se elaboró con el uso de la interfaz CLI de ASA y el portal de Azure. La configuración del portal de Azure también se puede realizar con PowerShell o mediante una API. Para obtener más información sobre los métodos de configuración de Azure, consulte la documentación de Azure.
Nota: Actualmente, VTI sólo se soporta en modo ruteado de contexto único.
Esta guía asume que Azure Cloud no se ha configurado. Algunos de estos pasos se pueden omitir si los recursos ya están establecidos.
Paso 1. Configurar una red en Azure
Este es el espacio de direcciones de red que vive en la nube de Azure. Este espacio de direcciones debe ser lo suficientemente grande como para albergar subredes dentro de ellas, como se muestra en la imagen.


![]() ![]() |
|
Paso 2. Modificar la red virtual para crear una subred de gateway
1. Navegue hasta la red virtual y agregue una subred de gateway. En este ejemplo, se utiliza 10.1.1.0/24.

Paso 3. Creación de un gateway de red virtual
1. Este es el terminal VPN alojado en la nube. Este es el dispositivo con el que ASA construye el túnel IPsec. Este paso también crea una IP pública, que se asigna a la puerta de enlace de red virtual. Este paso puede tardar entre 15 y 20 minutos en completarse.


![]() |
|
Paso 4. Creación de una puerta de enlace de red local
1. Un gateway de red local es el recurso que representa el ASA.

|
|
Paso 5. Cree una nueva conexión entre Virtual Network Gateway y Local Network Gateway, como se muestra en la imagen



Paso 6. Configuración del ASA
1. Primero, habilite IKEv2 en la interfaz externa y configure las políticas 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
Paso 6. Configure un conjunto de transformación IPsec y un perfil 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
Paso 7. Configure el grupo de túnel.
1. Recupere la dirección IPv4 pública de la puerta de enlace de red virtual creada en el paso 3, como se muestra en la imagen.

2. Luego, configure en el ASA, una política de grupo y un grupo de túnel con la clave previamente compartida definida en el Paso 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 *****
Paso 8. Configuración de la interfaz de túnel
1. En el paso 4, configure el Local Network Gateway, una dirección de red y una dirección IP para la conexión BGP que se configuró. Se trata de la dirección IP y la red que se configurarán en el 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. Opción 1. Configure las rutas de intercambio de ruteo dinámico con Azure con el uso de BGP.
2 bis. Busque la dirección IP del router BGP en Azure para ver la configuración del gateway de red virtual creado en el paso 3. En este ejemplo, es 10.1.2.254.

3. En el ASA, configure una ruta estática que apunte a 10.1.2.254 fuera del túnel VTI. En este ejemplo, 192.168.100.2 está dentro de la misma subred que el VTI. Aunque ningún dispositivo tiene esa dirección IP, el ASA instala la ruta que señala la interfaz VTI.
route AZURE 10.1.2.254 255.255.255.255 192.168.100.2 1
4. Luego, configure BGP en ASA. La red 192.168.2.0/24 es la interfaz interna de ASA y una ruta que se propaga a la nube. Además, las redes configuradas en Azure se anuncian al 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
Opción 2. Configure el ruteo estático, configure rutas estáticamente tanto en ASA como en Azure. Configure el ASA para enviar tráfico a las redes de Azure a través del túnel VTI.
route AZURE 10.1.0.0 255.255.0.0 192.168.100.2 1
1. Modifique la puerta de enlace de red local creada en el paso 4 con las redes que existen detrás del ASA y la subred en la interfaz de túnel. A continuación, agregue los prefijos en la sección Agregar espacios de red adicionales.
Utilice esta sección para confirmar que la configuración funciona correctamente.
Paso 1. Verifique que se haya establecido una sesión IKEv2 ejecutando el 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
Paso 2. Verifique que una SA IPSec también se negocie ejecutando el 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#
Paso 3. Verifique la conectividad a través del túnel al router remoto BGP ejecutando el comando ping and ping tcp para validar el ruteo de capa 3 y la conectividad de capa 4 para BGP o los recursos de punto final si utiliza el ruteo estático.
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#
Paso 4. Cuando utilice BGP, verifique que las rutas de conectividad BGP se reciban y se anuncien a Azure y a la tabla de ruteo del 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
Paso 5. Haga ping a un dispositivo a través del túnel. En este ejemplo, es una máquina virtual de Ubuntu que se ejecuta en 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
Paso 6. Vea las rutas efectivas en la VM remota ahora. Deben mostrar las rutas que ASA anunció para la nube, como se muestra en la imagen.

Actualmente, no hay información específica disponible sobre cómo solucionar los problemas de esta configuración.
| Revisión | Fecha de publicación | Comentarios |
|---|---|---|
5.0 |
02-Jul-2026
|
Ortografía, gramática, alertas de CCW, estructura de oraciones y espaciado actualizados. |
4.0 |
24-Sep-2024
|
Formato actualizado. |
3.0 |
19-Mar-2024
|
Contenido técnico actualizado, traducción automática, texto alternativo y formato. |
2.0 |
11-Jul-2022
|
El contenido de este artículo reciente sigue siendo válido.
PII eliminado.
Actualizaciones de formato, requisitos de estilo, traducción automática y gerundios. |
1.0 |
18-Feb-2019
|
Versión inicial |