Cuando una VPN AnyConnect falla, el ASA y el cliente generan una cantidad enorme de información de diagnóstico — pero solo es útil si sabes dónde buscar. En este artículo documentamos un caso real: el error "Login denied, unauthorized connection mechanism", resuelto combinando debug, capturas de paquetes, packet-tracer y el bundle de diagnóstico DART.
el síntoma
1 El Caso: "Unauthorized Connection Mechanism"
El cliente AnyConnect intentó conectarse usando el grupo Anyconnect_vpn y recibió el siguiente error en pantalla:
Evidencia — Error en el cliente AnyConnect
Cisco AnyConnect Secure Mobility Client
El popup muestra: "Login denied, unauthorized connection mechanism, contact your administrator." Esto ocurre cuando el protocolo de túnel que el cliente intenta negociar no coincide con el vpn-tunnel-protocol configurado en la group-policy.
GroupPolicy_VPN_Any_Connet tenía vpn-tunnel-protocol ikev2 únicamente. Si el cliente negocia por un mecanismo distinto, el ASA rechaza la sesión con este mensaje exacto.
evidencia forense
2 El Error en el Log Real del Cliente
Dentro del bundle DART, el archivo AnyConnect.txt (2.02 MB) registra cada evento del cliente con timestamp exacto. Buscamos el error y encontramos dos intentos fallidos antes de la resolución:
Date : 06/28/2026 Time : 11:30:24
Type : Information Source : acvpnui
Description : Function: CVpnApiShim::SaveUserPrompt
User submitted response for host cisco-asa01.caribbeantic.local and tunnel group: Anyconnect_vpn
******************************************
Date : 06/28/2026 Time : 11:30:24
Description : The following error message was received from the secure gateway:
Login denied, unauthorized connection mechanism, contact your administrator.
******************************************
[... segundo intento idéntico a las 11:36:00 ...]
Date : 06/28/2026 Time : 11:36:13
Description : Function: ConnectMgr::run
Authentication cancelled
VPN state: Disconnectedvpn-tunnel-protocol, la siguiente conexión fue exitosa.
confirmación del fix
3 Verificación Post-Fix en el ASA
Tras el ajuste, se reconectó el cliente y se verificó el túnel con cuatro comandos clave:
show crypto ikev2 sa detail
Session-id:6607, Status:UP-ACTIVE, IKE count:1, CHILD count:1
Encr: AES-CBC, keysize: 256, Hash: SHA96, DH Grp:5
Auth verify: EAP
Remote id: *$AnyConnectClient$*
Assigned host addr: 192.168.160.10
Child sa: ESP spi in/out: 0x7cac0fde/0x5d7f74cd
Encr: AES-CBC, keysize: 256, esp_hmac: SHA96show crypto ipsec sa detail
#pkts encaps: 29 #pkts encrypt: 29 #pkts digest: 29 #pkts decaps: 183 #pkts decrypt: 183 #pkts verify: 183 #pkts decaps failed (rcv): 0 #pkts verify failed: 0 inbound/outbound esp sas: SA State = active transform: esp-aes-256 esp-sha-hmac
show vpn-sessiondb detail anyconnect
Username : vpn01 Protocol : IKEv2 IPsecOverNatT AnyConnect-Parent Group Policy : GroupPolicy_VPN_Any_Connet Tunnel Group : Anyconnect_VPN_Cliente Pkts Tx Drop : 0 Pkts Rx Drop : 0 Auth Mode : userPassword
debug crypto ikev2 platform — flujo de autenticación EAP
EAP: State transition [Not Initialized] -> [Hello sent to client] EAP: State transition [Hello sent to client] -> [Auth Request sent to client] EAP: State transition [...] -> [Wait for Authentication response from AAA] EAP: State transition [...] -> [Complete sent to client] EAP: State transition [...] -> [EAP Auth successful] IPv6 address could not be assigned to session ← normal, pool es solo IPv4
herramienta clave
4 El Comando capture a Fondo
El comando capture le indica al ASA que copie en un buffer interno todo el tráfico que coincida con un criterio, en una interfaz específica — como tener Wireshark integrado en el firewall.
Sintaxis básica
capture <nombre> interface <interfaz> match ip <IP_origen> <mascara> <IP_destino> <mascara>
Ejemplos clásicos (par inside/outside)
! Captura en la interfaz inside capture capin interface inside match ip 198.19.255.1 255.255.255.255 198.18.133.1 255.255.255.255 ! La misma captura en la interfaz outside - para comparar capture capout interface outside match ip 198.19.255.1 255.255.255.255 198.18.133.1 255.255.255.255 ! Ver el resultado show capture capin show capture capout ! Detener la captura no capture capin interface inside
capin pero NO en capout, el problema está dentro del ASA (ACL, NAT o ruta) y no es un problema de red externa.Opciones avanzadas del comando capture
| Opción | Qué captura | Caso de uso |
|---|---|---|
real-time | Paquetes en vivo en consola (Ctrl+C para salir) | Diagnóstico inmediato sin guardar buffer |
isakmp | Negociación ISAKMP/IKE Fase 1 | El túnel VPN no se establece |
ikev1 / ikev2 | Solo ese protocolo IKE | Aislar tráfico con ambos protocolos activos |
webvpn | Tráfico de una sesión WebVPN específica | Troubleshooting de VPN SSL Clientless |
tls-proxy | Contenido TLS ya descifrado | Inspección de tráfico cifrado con TLS proxy |
asp-drop | Paquetes descartados por el Accelerated Security Path | Confirmar por qué el ASA bloquea tráfico (ej: acl-drop) |
ethernet-type | Tipo Ethernet específico (ARP, VLAN, IP6, etc.) | Troubleshooting de Capa 2 |
lacp | Tráfico LACP de EtherChannel | Verificar negociación de enlaces agregados |
asa_dataplane | Tráfico hacia módulo IPS/Firepower interno | Solo si hay módulo de seguridad físico instalado |
packet-tracer puede NO ver correctamente tráfico VPN ya encapsulado. Para troubleshooting de VPN, capture con isakmp/ikev2/webvpn suele ser más confiable.
evidencia práctica
5 Capturas Reales del Laboratorio
5.1 — Captura NAT-T (negociación IKEv2 sobre UDP 4500)
Usando capture cap_rt interface outside real-time detail, se observó la negociación completa del cliente 192.168.10.2 contra el ASA:
14:52:37.148078 192.168.10.2.60545 > 10.0.0.2.500: udp 763 ← IKE_SA_INIT (puerto 500, sin NAT-T aún) 14:52:37.398798 192.168.10.2.60546 > 10.0.0.2.4500: udp 580 ← cambio a puerto 4500 (NAT-T detectado) 14:52:37.528750 10.0.0.2.4500 > 192.168.10.2.60546: udp 552 ← fragmentos de certificado/EAP 14:52:43.405771 10.0.0.2.4500 > 192.168.10.2.60546: udp 552 ← múltiples fragmentos (autenticación) 14:53:21.034040 10.0.0.2.4500 > 192.168.10.2.60546: udp 80 ← tráfico estable - túnel ya activo (keepalives DPD)
5.2 — Captura Capa 2 (ICMP sobre 802.1Q)
cisco-asa01# capture cap_l2 interface inside match ip host 192.168.20.254 host 192.168.20.251 1: 000c.29e9.e522 0ccb.8794.0002 0x8100 802.1Q vlan#20 192.168.20.252 > 192.168.20.254: icmp echo request 2: 0ccb.8794.0002 000c.29e9.e522 0x8100 802.1Q vlan#20 192.168.20.254 > 192.168.20.252: icmp echo reply
| Campo | Valor | Significado |
|---|---|---|
| EtherType | 0x8100 | Trama 802.1Q (con etiqueta VLAN) |
| VLAN ID | 20 | Coincide con GigabitEthernet0/1.20 |
| MAC servidor .252 | 000c.29e9.e522 | Origen del ping |
| MAC ASA inside | 0ccb.8794.0002 | Destino / respuesta |
5.3 — Captura ARP pura (resolución de Capa 2)
cisco-asa01# capture cap_arp_l2 interface inside ethernet-type arp 1: 000c.29e9.e522 > 0ccb.8794.0002 802.1Q vlan#20 arp who-has 192.168.20.254 tell 192.168.20.252 2: 0ccb.8794.0002 > 000c.29e9.e522 802.1Q vlan#20 arp reply 192.168.20.254 is-at c:cb:87:94:0:2
Secuencia completa de comunicación desde cero en la misma VLAN:
- ARP Request (broadcast) → who-has 192.168.20.254? tell 192.168.20.252
- ARP Reply (unicast) → 192.168.20.254 is-at c:cb:87:94:0:2
- ICMP Request (unicast) → 192.168.20.252 → 192.168.20.254
- ICMP Reply (unicast) → 192.168.20.254 → 192.168.20.252
herramienta del cliente
6 DART: Diagnostics and Reporting Tool
DART recolecta logs, estado e información de diagnóstico del cliente AnyConnect para análisis — ideal cuando el problema parece estar del lado del usuario. No requiere privilegios de administrador.
Desplegar DART automáticamente desde el ASA
group-policy GroupPolicy_VPN_Any_Connet attributes webvpn anyconnect modules value dart
Evidencia — DART descárgandose automáticamente
Cliente Windows 10 — AnyConnect 4.7.04056
Tras agregar anyconnect modules value dart, el ASA empuja el módulo al cliente en la siguiente conexión: "Downloading AnyConnect DART 4.7.04056 – 48%".
El wizard de DART — 3 pasos
AnyConnect → Statistics → Details → Diagnostics/Troubleshoot abre el wizard.
Recolecta MSInfo32, logs de AnyConnect, configuración de red y rutas.
Evidencia — Pantalla de bienvenida del wizard
Cisco DART 4.7.04056
DART explica su propósito: empaquetar logs y diagnósticos para analizar y debuggear las conexiones del cliente AnyConnect.
Evidencia — Bundle Creation Progress
Recolectando información del sistema
DART ejecuta MSInfo32.exe para recolectar información del sistema. La sesión VPN permanece activa durante la recolección.
Evidencia — Bundle creado exitosamente
C:\Users\CLIENTE\Desktop\DARTBundle_0628_1209.zip
Listo para revisión manual o envío a Cisco TAC (con número SR y Token).
Estructura del bundle extraído
Evidencia — Carpetas por módulo
Estructura del DARTBundle extraído
DART organiza el contenido por módulo de AnyConnect: AMP Enabler, ISE Posture, NAM, NVM, Posture, Secure Mobility Client, Umbrella y WebSecurity — más General Information y el archivo summary.
Evidencia — Cisco AnyConnect Secure Mobility Client
Carpeta con los logs reales de la VPN
Aquí están los logs reales de la VPN: AnyConnect.txt (2.02 MB), AnyConnect.evtx, perfiles XML, preferences.xml y setupapi.dev.log. De aquí extrajimos el error documentado en la Sección 2.
Lectura del archivo summary.txt
Cisco AnyConnect Secure Mobility Client: ac-logs AnyConnect.txt 2.02M ← log principal usado en este artículo ac-logs AnyConnect.evtx 4.07M ac-profile Anyconet_remote_access_vpn.xml 2.90K va-runtime setupapi.dev.log 172.27K Cisco AnyConnect AMP Enabler / ISE Posture / NAM / NVM / Posture / Umbrella / WebSecurity: "No file found with path matching..." ← normal, módulos no usados en este lab
resolución
7Resumen: Caja de Herramientas de Troubleshooting
| Herramienta | Lado | Qué revela | Estado |
|---|---|---|---|
show vpn-sessiondb detail anyconnect | ASA | Estado de sesión, protocolo, drops | OK |
show crypto ikev2 sa detail | ASA | Negociación IKE Fase 1, cifrado, autenticación | OK |
show crypto ipsec sa detail | ASA | Contadores ESP, errores de cifrado | OK |
debug crypto ikev2 platform | ASA | Flujo de estados EAP/AAA en vivo | OK |
capture ... real-time detail | ASA | Tráfico crudo, NAT-T, puertos | OK |
capture ... ethernet-type arp | ASA | Resolución MAC en Capa 2 | OK |
packet-tracer | ASA | Simulación de flujo NAT/ACL/Ruta | LIMITADO |
| DART (cliente) | Cliente | Logs de AnyConnect, sistema, rutas | OK |
AnyConnect.txt | Cliente | Timeline exacto del error con timestamps | OK |
En el día a día de soporte de redes no basta con memorizar comandos individuales — lo importante es saber combinarlos: empezar por el lado del ASA con show/debug/capture, y cuando el problema parece estar en el cliente, complementar con DART para tener visibilidad completa de ambos extremos del túnel.
Equipo Caribbean TIC
¿Necesitas soporte en tu infraestructura VPN?
Caribbean TIC ofrece diagnóstico, configuración y soporte especializado en Cisco ASA, VPN y ciberseguridad de redes. Contáctanos hoy.
