Seguridad y VPN : Negociación IPSec/Protocolos IKE

Resolución de problemas de seguridad de IP - Información y uso de los comandos de depuración

23 Junio 2008 - Traducción manual
Otras Versiones: PDFpdf | Traducción Automática (31 Julio 2013) | Inglés (15 Julio 2009) | Comentarios

Contenidos

Introducción
Requisitos previos
     Requisitos
     Componentes utilizados
     Convenciones
Depuraciones del software Cisco IOS
     show crypto isakmp sa
     show crypto ipsec sa
     show crypto engine connection active
     debug crypto isakmp
     debug crypto ipsec
Ejemplos de mensajes de error
     Error en la comprobación de reproducción
     Dirección local no válida
     El mensaje IKE de X.X.X.X falló en su verificación de integridad o es incorrecto
     El procesamiento del modo principal falló con el par
     Identidades de proxy no admitidas
     Propuesta de transformación no admitida
     Ni certificado ni claves en par remoto
     Dirección del par X.X.X.X no encontrada
     Paquete IPSec con SPI no válido
     IPSEC(initialize_sas): ID de proxy no válidos
     No cero reservado en carga útil 5
     El algoritmo de hash ofrecido no coincide con la política
     Error en la verificación de HMAC
     Par remoto sin respuesta
Depuraciones de PIX
     show crypto isakmp sa
     show crypto ipsec sa
     debug crypto isakmp
     debug crypto ipsec
Problemas comunes entre el router y el cliente VPN
     Imposibilidad de acceder a las subredes por fuera del túnel VPN - Tunelización dividida
Problemas comunes entre el PIX y el cliente VPN
     El tráfico no fluye en cuanto se establece el túnel - No se puede hacer ping dentro de la red que se encuentra detrás del PIX
     Después de activarse el túnel, el usuario no puede navegar por Internet - Tunelización dividida
     Después de activarse el túnel, determinadas aplicaciones no funcionan - Ajuste de MTU en el cliente
     Omisión del comando sysopt
Verificación de las listas de control de acceso (ACL)
Discusiones relacionadas de la comunidad de soporte de Cisco

Introducción

En este documento se explican los comandos debug que se utilizan con frecuencia para solucionar problemas de IPSec en el software Cisco IOS® y PIX. Se da por sentado que IPSec está completamente configurado. Consulte Common IPsec Error Messages (Mensajes de error IPSec frecuentes) y Common IPsec Issues (Problemas frecuentes de IPSec) para obtener más detalles.

Requisitos previos

Requisitos

No hay requisitos específicos para este documento.

Componentes utilizados

La información de este documento se basa en estas versiones de software y hardware:

  • Software Cisco IOS

    • Conjunto de funciones IPSec.

    • 56i: indica una única función DES (Estándar de cifrado de datos) (en la versión 11.2 y posterior del software Cisco IOS).

    • k2: indica una función DES triple (en la versión 12.0 y posterior del software Cisco IOS). DES triple es una opción disponible en Cisco serie 2600 y posteriores.

  • PIX: versión 5.0 y posterior. Se necesita una clave de licencia DES única o triple para la activación.

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 despejada (predeterminada). Si la red está en producción, asegúrese de comprender el impacto que pueda tener cualquier comando.

Convenciones

Consulte Cisco Technical Tips Conventions (Convenciones sobre consejos técnicos de Cisco) para obtener más información sobre las convenciones del documento.

Depuraciones del software Cisco IOS

En estas secciones se explican las depuraciones del software Cisco IOS. Consulte Common IPsec Error Messages (Mensajes de error IPSec frecuentes) y Common IPsec Issues (Problemas frecuentes de IPSec) para obtener más detalles.

show crypto isakmp sa

Este comando muestra las asociaciones de seguridad (SA) del Protocolo de asociación de seguridad en Internet y administración de claves (ISAKMP) que se generan entre pares.

dst    	  src        state     conn-id     slot
12.1.1.2  12.1.1.1   QM_IDLE    1           0

show crypto ipsec sa

Este comando muestra las SA IPSec generadas entre pares. El túnel cifrado se genera entre 12.1.1.1 y 12.1.1.2 para el tráfico que se transmite entre las redes 20.1.1.0 y 10.1.1.0. Puede ver dos SA de la carga útil de seguridad encapsulada (ESP) generadas de manera entrante y saliente. El encabezado de autenticación (AH) no se usa dado que no hay SA AH.

Este resultado muestra un ejemplo del comando show crypto ipsec sa.

  interface: FastEthernet0
    Crypto map tag: test, local addr. 12.1.1.1
   local  ident (addr/mask/prot/port): (20.1.1.0/255.255.255.0/0/0)
   remote ident (addr/mask/prot/port): (10.1.1.0/255.255.255.0/0/0)
   current_peer: 12.1.1.2
     PERMIT, flags={origin_is_acl,}
    #pkts encaps: 7767918, #pkts encrypt: 7767918, #pkts digest 7767918
    #pkts decaps: 7760382, #pkts decrypt: 7760382, #pkts verify 7760382
    #pkts compressed: 0, #pkts decompressed: 0
    #pkts not compressed: 0, #pkts compr. failed: 0,
    #pkts decompress failed: 0, #send errors 1, #recv errors 0
     local crypto endpt.: 12.1.1.1, remote crypto endpt.: 12.1.1.2
     path mtu 1500, media mtu 1500
     current outbound spi: 3D3
     inbound esp sas:
      spi: 0x136A010F(325714191)
        transform: esp-3des esp-md5-hmac ,
        in use settings ={Tunnel, }
        slot: 0, conn id: 3442, flow_id: 1443, crypto map: test
        sa timing: remaining key lifetime (k/sec): (4608000/52)
        IV size: 8 bytes
        replay detection support: Y
     inbound ah sas:
     inbound pcp sas:
inbound pcp sas:
outbound esp sas:
   spi: 0x3D3(979)
    transform: esp-3des esp-md5-hmac ,
    in use settings ={Tunnel, }
    slot: 0, conn id: 3443, flow_id: 1444, crypto map: test
    sa timing: remaining key lifetime (k/sec): (4608000/52)
    IV size: 8 bytes
    replay detection support: Y
outbound ah sas:
outbound pcp sas: 

show crypto engine connection active

Este comando muestra cada SA de fase 2 generada y la cantidad de tráfico enviado. Dado que las SA de fase 2 son unidireccionales, cada SA muestra el tráfico en una dirección únicamente (los cifrados son salientes, los descifrados entrantes).

debug crypto isakmp

Este resultado muestra un ejemplo del comando debug crypto isakmp.

processing SA payload. message ID = 0
Checking ISAKMP transform against priority 1 policy
	encryption DES-CBC
      	hash SHA
	default group 2
	auth pre-share
	life type in seconds
	life duration (basic) of 240
atts are acceptable. Next payload is 0
processing KE payload. message ID = 0
processing NONCE payload. message ID = 0
processing ID payload. message ID = 0
SKEYID state generated
processing HASH payload. message ID = 0
SA has been authenticated
processing SA payload. message ID = 800032287 

debug crypto ipsec

Este comando muestra el origen y el destino de los puntos extremos del túnel IPSec. Src_proxy y dest_proxy son las subredes del cliente. Aparecen dos mensajes de SA creada con una en cada dirección. (Aparecerán cuatro mensajes si ejecuta ESP y AH).

Este resultado muestra un ejemplo del comando debug crypto ipsec.

Checking IPSec proposal 1transform 1, ESP_DES
attributes in transform:
	encaps is 1
	SA life type in seconds
	SA life duration (basic) of 3600
	SA life type in kilobytes
	SA life duration (VPI) of 0x0 0x46 0x50 0x0
HMAC algorithm is SHA
atts are acceptable.
Invalid attribute combinations between peers will show up as "atts
  not acceptable".
IPSEC(validate_proposal_request): proposal part #2,
(key eng. msg.) dest= 12.1.1.2, SRC= 12.1.1.1,
      dest_proxy= 10.1.1.0/0.0.0.0/0/0,
      src_proxy= 20.1.1.0/0.0.0.16/0/0,
      protocol= ESP, transform= esp-des esp-sha-hmac
      lifedur= 0s and 0kb,
      spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x4
IPSEC(key_engine): got a queue event...
IPSEC(spi_response): getting spi 203563166 for SA
      from 12.1.1.2 to 12.1.1.1 for prot 2
IPSEC(spi_response): getting spi 194838793 for SA
      from 12.1.1.2 to 12.1.1.1 for prot 3
IPSEC(key_engine): got a queue event...
IPSEC(initialize_sas): ,
  (key eng. msg.) dest= 12.1.1.2, SRC= 12.1.1.1,
      dest_proxy= 10.1.1.0/255.255.255.0/0/0,
      src_proxy= 20.1.1.0/255.255.255.0/0/0,
      protocol= ESP, transform= esp-des esp-sha-hmac
      lifedur= 3600s and 4608000kb,
      spi= 0xC22209E(203563166), conn_id= 3,
              keysize=0, flags= 0x4
IPSEC(initialize_sas): ,
  (key eng. msg.) SRC= 12.1.1.2, dest= 12.1.1.1, 

             src_proxy= 10.1.1.0/255.255.255.0/0/0,
      dest_proxy= 20.1.1.0/255.255.255.0/0/0,
      protocol= ESP, transform= esp-des esp-sha-hmac
      lifedur= 3600s and 4608000kb,
      spi= 0xDED0AB4(233638580), conn_id= 6,
              keysize= 0, flags= 0x4
IPSEC(create_sa): sa created,
      (sa) sa_dest= 12.1.1.2, sa_prot= 50,
      sa_spi= 0xB9D0109(194838793),
      sa_trans= esp-des esp-sha-hmac , sa_conn_id= 5
 IPSEC(create_sa): sa created,
      (sa) sa_dest= 12.1.1.2, sa_prot= 50,
      sa_spi= 0xDED0AB4(233638580),
      sa_trans= esp-des esp-sha-hmac , sa_conn_id= 6 

Ejemplos de mensajes de error

Estos mensajes de error de ejemplo se han generado a partir de los comandos debug mencionados aquí.

  • debug crypto ipsec

  • debug crypto isakmp

  • debug crypt engine

Consulte el descodificador de mensajes de error ( sólo para clientes registrados) para obtener más información.

Error en la comprobación de reproducción

Este resultado muestra un ejemplo del error "Replay Check Failed":

"%CRYPTO-4-PKT_REPLAY_ERR: decrypt: replay check failed connection id=#." 

Este error es el resultado de un reordenamiento en el medio de transmisión (especialmente si existen trayectos paralelos), o de trayectos desiguales de procesamiento de paquetes dentro de Cisco IOS para paquetes grandes en comparación con paquetes pequeños más la subcarga. Cambie "transform-set" para que refleje esto. El comando reply check sólo está visible si transform-set esp-md5-hmac está habilitado. Para suprimir este mensaje de error, inhabilite esp-md5-hmac y realice el cifrado únicamente. Consulte el ID de error de funcionamiento CSCdp19680 ( sólo para clientes registrados) de Cisco.

Dirección local no válida

Este resultado es un ejemplo del mensaje de error "Invalid Local Address".

IPSEC(validate_proposal): invalid local address 12.2.6.2
ISAKMP (0:3): atts not acceptable. Next payload is 0
ISAKMP (0:3): SA not acceptable!

Este mensaje de error se atribuye a uno de estos dos problemas frecuentes.

  • El comando crypto map map-name local-address interface-id hace que el router use una dirección incorrecta como identidad ya que lo fuerza a usar una dirección especificada.

  • La correspondencia de criptografía se aplica a la interfaz errónea, o bien no se aplica en absoluto. Compruebe la configuración para garantizar la aplicación de la correspondencia de criptografía a la interfaz correcta.

El mensaje IKE de X.X.X.X falló en su verificación de integridad o es incorrecto

Este error de debug ("IKE Message From X.X.X.X Failed Its Sanity Check or Is Malformed") aparece si las claves previamente compartidas en los pares no coinciden. Para solucionar este problema, compruebe las claves previamente compartidas en ambos lados.

1d00H:%CRPTO-4-IKMP_BAD_MESSAGE: IKE message from 150.150.150.1 failed its
 sanity check or is malformed   

El procesamiento del modo principal falló con el par

Este es un ejemplo del mensaje de error "Processing of Main Mode Failed With Peer". El error del modo principal sugiere que la política de fase 1 no coincide en ambos lados.

1d00h: ISAKMP (0:1): atts are not acceptable. Next payload is 0
1d00h: ISAKMP (0:1); no offers accepted!
1d00h: ISAKMP (0:1): SA not acceptable!
1d00h: %CRYPTO-6-IKMP_MODE_FAILURE: Processing of Main Mode failed with
peer at 150.150.150.1

Un comando show crypto isakmp sa muestra la SA ISAKMP como MM_NO_STATE. Esto también significa que el modo principal ha fallado.

dst    	  src        state     		conn-id     	slot
10.1.1.2  10.1.1.1   MM_NO_STATE    	1           0

Verifique que la política de fase 1 esté en ambos pares y asegúrese de que coincidan todos los atributos.

Encryption DES or 3DES
Hash MD5 or SHA
Diffie-Hellman Group 1 or 2
Authentication {rsa-sig | rsa-encr | pre-share  

Identidades de proxy no admitidas

El mensaje "Proxy Identities Not Supported" aparece en las depuraciones si la lista de acceso para el tráfico IPSec no coincide.

1d00h: IPSec(validate_transform_proposal): proxy identities not supported
1d00h: ISAKMP: IPSec policy invalidated proposal
1d00h: ISAKMP (0:2): SA not acceptable!

Las listas de acceso en cada par deben reflejarse entre sí (todas las entradas deben ser reversibles). El siguiente ejemplo ilustra este punto.

Peer A
access-list 150 permit ip 172.21.113.0 0.0.0.255 172.21.114.0 0.0.0.255
access-list 150 permit ip host 15.15.15.1 host 172.21.114.123
Peer B
access-list 150 permit ip 172.21.114.0 0.0.0.255 172.21.113.0 0.0.0.255
access-list 150 permit ip host 172.21.114.123 host 15.15.15.1

Propuesta de transformación no admitida

El mensaje "Transform Proposal Not Supported" aparece si la fase II (IPSec) no coincide en ambos lados. Esto suele ocurrir cuando existe una discrepancia o incompatibilidad en el conjunto de transformación.

1d00h: IPSec (validate_proposal): transform proposal
   (port 3, trans 2, hmac_alg 2) not supported
1d00h: ISAKMP (0:2) : atts not acceptable. Next payload is 0
1d00h: ISAKMP (0:2) SA not acceptable

Verifique que el conjunto de transformación coincida en ambos lados:

crypto ipsec transform-set transform-set-name transform1
[transform2 [transform3]]
? ah-md5-hmac
? ah-sha-hmac
? esp-des
? esp-des and esp-md5-hmac
? esp-des and esp-sha-hmac
? esp-3des and esp-md5-hmac
? esp-3des and esp-sha-hmac
? comp-lzs

Ni certificado ni claves en par remoto

El mensaje "No Cert and No Keys With Remote Peer" indica que la dirección del par configurada en el router es errónea, o bien que se ha modificado. Verifique que la dirección del par sea correcta y que la dirección pueda alcanzarse.

1d00h: ISAKMP: No cert, and no keys (public or pre-shared) with
remote peer 150.150.150.2

Dirección del par X.X.X.X no encontrada

El mensaje de error "Peer Address X.X.X.X Not Found" normalmente aparece con el mensaje de error del concentrador VPN 3000 correspondiente Message: No proposal chosen(14). Este es un resultado de las conexiones host a host. La configuración del router tiene las propuestas IPSec en un orden en el que la propuesta seleccionada para el router coincide con la lista de acceso, pero no con el par. La lista de acceso cuenta con una red más amplia que incluye el host que cruza el tráfico. Para poder corregir este problema, convierta la propuesta del router para esta conexión de concentrador a router en la primera de la línea. Esto permite que en primer lugar coincida con el host específico.

20:44:44: IPSEC(validate_proposal_request): proposal part #1,
  (key eng. msg.) dest= 194.70.240.150, src= 198.174.236.6,
    dest_proxy= 10.0.0.76/255.255.255.255/0/0 (type=1),
    src_proxy= 198.174.238.203/255.255.255.255/0/0 (type=1),
    protocol= ESP, transform= esp-3des esp-md5-hmac ,
    lifedur= 0s and 0kb,
    spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x4
20:44:44: IPSEC(validate_transform_proposal):
   peer address 198.174.236.6 not found

Paquete IPSec con SPI no válido

Este resultado es un ejemplo del mensaje de error "IPsec Packet has Invalid SPI":

%PIX-4-402101: decaps: recd IPSEC packet has
invalid spi for destaddr=dest_address, prot=protocol, spi=number

El paquete IPSec recibido especifica un índice de parámetros de seguridad (SPI) que no existe en la base de datos de asociaciones de seguridad (SADB). Esto puede ocasionar un problema temporal debido a lo siguiente:

  • Pequeñas diferencias en la antigüedad de las asociaciones de seguridad (SA) entre los pares IPSec

  • Las SA locales se han borrado

  • El par IPSec envía paquetes incorrectos

Esto también puede ser un ataque.

Acción recomendada: es posible que el par no reconozca que las SA locales se han borrado. Si se establece una nueva conexión desde el router local, los dos pares pueden volver a establecerse correctamente. De lo contrario, si el problema ocurre durante más de un breve período, intente establecer una nueva conexión o comuníquese con el administrador del par.

IPSEC(initialize_sas): ID de proxy no válidos

El error 21:57:57: IPSEC(initialize_sas): invalid proxy IDs indica que la identidad de proxy recibida no coincide con la identidad de proxy configurada según la lista de acceso. Para garantizar que ambas coincidan, compruebe el resultado del comando debug.

En el resultado del comando debug de la solicitud de propuesta, la entrada correspondiente access-list 103 permit ip 10.1.1.0 0.0.0.255 20.1.1.0 0.0.0.255 no coincide. La lista de acceso es específica de la red en un extremo y específica del host en el otro.

21:57:57: IPSEC(validate_proposal_request): proposal part #1,
  (key eng. msg.) dest= 192.1.1.1, src= 192.1.1.2,
    dest_proxy= 10.1.1.1/255.255.255.0/0/0 (type=4),
    src_proxy= 20.1.1.1/255.255.255.0/0/0 (type=4)

No cero reservado en carga útil 5

El mensaje "Reserved Not Zero on Payload 5" significa que las claves ISAKMP no coinciden. Regenere o restaure las claves para garantizar la precisión.

El algoritmo de hash ofrecido no coincide con la política

Si las políticas ISAKMP configuradas no coinciden con la política propuesta por el par remoto, el router intenta la política predeterminada de 65535. Si tampoco coincide, la negociación de ISAKMP fallará. Un usuario recibe el mensaje de error Hash algorithm offered does not match policy! o Encryption algorithm offered does not match policy! en los routers.

=RouterA=
3d01h: ISAKMP (0:1): processing SA payload. message ID = 0
3d01h: ISAKMP (0:1): found peer pre-shared key matching 209.165.200.227
ISAKMP (0:1): Checking ISAKMP transform 1 against priority 1 policy
ISAKMP:      encryption 3DES-CBC
ISAKMP:      hash MD5
ISAKMP:      default group 1
ISAKMP:      auth pre-share
ISAKMP:      life type in seconds
ISAKMP:      life duration (VPI) of  0x0 0x1 0x51 0x80
ISAKMP (0:1): Hash algorithm offered does not match policy!
ISAKMP (0:1): atts are not acceptable. Next payload is 0
=RouterB=
ISAKMP (0:1): Checking ISAKMP transform 1 against priority 65535 policy
ISAKMP:      encryption 3DES-CBC
ISAKMP:      hash MD5
ISAKMP:      default group 1
ISAKMP:      auth pre-share
ISAKMP:      life type in seconds
ISAKMP:      life duration (VPI) of  0x0 0x1 0x51 0x80
ISAKMP (0:1): Encryption algorithm offered does not match policy!
ISAKMP (0:1): atts are not acceptable. Next payload is 0
ISAKMP (0:1): no offers accepted!
ISAKMP (0:1): phase 1 SA not acceptable!
         

Error en la verificación de HMAC

El mensaje de error "HMAC Verification Failed" se notifica cuando existe un error en la verificación del código de autenticación de mensajes basado en hash (HMAC) en el paquete IPSec. Esto suele suceder cuando el paquete está dañado de alguna forma.

Sep 22 11:02:39 131.203.252.166 2435:
Sep 22 11:02:39: %MOTCR-1-ERROR:motcr_crypto_callback() motcr return failure
Sep 22 11:02:39 131.203.252.166 2436:
Sep 22 11:02:39: %MOTCR-1-PKTENGRET_ERROR: MOTCR PktEng Return Value = 0x20000,
                 PktEngReturn_MACMiscompare
         

Si encuentra ocasionalmente este mensaje de error, puede omitirlo. No obstante, si se hace más frecuente, deberá investigar cuál es la causa del daño del paquete. Puede deberse a un defecto en el acelerador de criptografía.

Par remoto sin respuesta

El mensaje de error "Remote Peer Not Responding" aparece cuando existe una discrepancia del conjunto de transformación. Asegúrese de que los conjuntos de transformación coincidentes están configurados en ambos pares.

Depuraciones de PIX

show crypto isakmp sa

Este comando muestra la SA ISAKMP generada entre pares.

dst    	  src        state     conn-id     slot
12.1.1.2  12.1.1.1   QM_IDLE    1           0

En el resultado de show crypto isakmp sa, el estado debe ser siempre QM_IDLE. Si el estado es MM_KEY_EXCH, significa que la clave previamente compartida configurada no es correcta o que las direcciones IP del par son diferentes.

PIX(config)#show crypto isakmp sa
Total     : 2
Embryonic : 1
        dst               src        state     pending     created
 192.168.254.250   10.177.243.187    MM_KEY_EXCH   0           0

Puede rectificar esta situación cuando configure la dirección IP o la clave previamente compartida correctas.

show crypto ipsec sa

Este comando muestra las SA IPSec generadas entre pares. Un túnel cifrado se genera entre 12.1.1.1 y 12.1.1.2 para el tráfico que se transmite entre las redes 20.1.1.0 y 10.1.1.0. Puede ver dos SA ESP creadas de manera entrante y saliente. El AH no se usa, dado que no hay SA AH.

Un ejemplo del comando show crypto ipsec sa se muestra en este resultado.

interface: outside
    Crypto map tag: vpn, local addr. 12.1.1.1
   local  ident (addr/mask/prot/port): (20.1.1.0/255.255.255.0/0/0)
   remote ident (addr/mask/prot/port): (12.1.1.2/255.255.255.255/0/0)
   current_peer: 10.2.1.1
   dynamic allocated peer ip: 12.1.1.2
     PERMIT, flags={}
    #pkts encaps: 345, #pkts encrypt: 345, #pkts digest 0
    #pkts decaps: 366, #pkts decrypt: 366, #pkts verify 0
    #pkts compressed: 0, #pkts decompressed: 0
    #pkts not compressed: 0, #pkts compr. failed: 0,
    #pkts decompress failed: 0, #send errors 0, #recv errors 0
     local crypto endpt.: 12.1.1.1, remote crypto endpt.: 12.1.1.2
     path mtu 1500, ipsec overhead 56, media mtu 1500
     current outbound spi: 9a46ecae
     inbound esp sas:
      spi: 0x50b98b5(84646069)
        transform: esp-3des esp-md5-hmac ,
        in use settings ={Tunnel, }
        slot: 0, conn id: 1, crypto map: vpn
        sa timing: remaining key lifetime (k/sec): (460800/21)
        IV size: 8 bytes
        replay detection support: Y
     inbound ah sas:

     inbound pcp sas:

     outbound esp sas:
      spi: 0x9a46ecae(2588339374)
        transform: esp-3des esp-md5-hmac ,
        in use settings ={Tunnel, }
        slot: 0, conn id: 2, crypto map: vpn
        sa timing: remaining key lifetime (k/sec): (460800/21)
        IV size: 8 bytes
        replay detection support: Y
    outbound ah sas:

debug crypto isakmp

Este comando muestra la información de depuración acerca de las conexiones IPSec y el primer conjunto de atributos denegados debido a incompatibilidades en ambos extremos. Se acepta el segundo intento de hacer coincidir (probar con 3DES en lugar de con DES y el algoritmo de hash seguro [SHA]) y se crea la SA ISAKMP. Esta depuración también es de un cliente de marcado que acepta una dirección IP (10.32.8.1) fuera de un agrupamiento local. Una vez que se ha creado la SA ISAKMP, los atributos IPSec se negocian y se aceptan. A continuación, PIX configura las SA IPSec de la siguiente manera.

Este resultado muestra un ejemplo del comando debug crypto isakmp.

crypto_isakmp_process_block: src 12.1.1.1, dest 12.1.1.2
OAK_AG exchange
ISAKMP (0): processing SA payload. message ID = 0
ISAKMP (0): Checking ISAKMP transform 1 against priority 1 policy
ISAKMP:      encryption DES-CBC
ISAKMP:      hash MD5
ISAKMP:      default group 1
ISAKMP:      auth pre-share
ISAKMP (0): atts are not acceptable. Next payload is 3
ISAKMP (0): Checking ISAKMP transform 3 against priority 1 policy
ISAKMP:      encryption 3DES-CBC
ISAKMP:      hash SHA
ISAKMP:      default group 1
ISAKMP:      auth pre-share
ISAKMP (0): atts are acceptable. Next payload is 3
ISAKMP (0): processing KE payload. message ID = 0
ISAKMP: Created a peer node for 12.1.1.2
OAK_QM exchange
ISAKMP (0:0): Need config/address
ISAKMP (0:0): initiating peer config to 12.1.1.2. ID = 2607270170 (0x9b67c91a)
return status is IKMP_NO_ERROR
crypto_isakmp_process_block: src 12.1.1.2, dest 12.1.1.1
ISAKMP_TRANSACTION exchange
ISAKMP (0:0): processing transaction payload from 12.1.1.2.
   message ID = 2156506360
ISAKMP: Config payload CFG_ACK
ISAKMP (0:0): peer accepted the address!
ISAKMP (0:0): processing saved QM.
oakley_process_quick_mode:
OAK_QM_IDLE
ISAKMP (0): processing SA payload. message ID = 818324052
ISAKMP : Checking IPSec proposal 1
ISAKMP: transform 1, ESP_DES
ISAKMP:   attributes in transform:
ISAKMP:      authenticator is HMAC-MD5
ISAKMP:      encaps is 1
IPSEC(validate_proposal): transform proposal
   (prot 3, trans 2, hmac_alg 1) not supported
ISAKMP (0): atts not acceptable. Next payload is 0
ISAKMP : Checking IPSec proposal 2
ISAKMP: transform 1, ESP_3DES
ISAKMP:   attributes in transform:
ISAKMP:      authenticator is HMAC-MD5
ISAKMP:      encaps is 1
ISAKMP (0): atts are acceptable.
ISAKMP (0): processing NONCE payload. message ID = 818324052
ISAKMP (0): processing ID payload. message ID = 81
ISAKMP (0): ID_IPV4_ADDR src 10.32.8.1 prot 0 port 0
ISAKMP (0): processing ID payload. message ID = 81
ISAKMP (0): ID_IPV4_ADDR dst 12.1.1.1 prot 0 port 0
INITIAL_CONTACTIPSEC(key_engine): got a queue event...

debug crypto ipsec

Este comando muestra la información de debug sobre las conexiones IPSec.

IPSEC(key_engine): got a queue event...
IPSEC(spi_response): getting spi 0xd532efbd(3576885181) for SA
        from  12.1.1.2  to  12.1.1.1  for prot 3
return status is IKMP_NO_ERROR
crypto_isakmp_process_block: src 12.1.1.2, dest 12.1.1.1
OAK_QM exchange
oakley_process_quick_mode:
OAK_QM_AUTH_AWAIT
ISAKMP (0): Creating IPsec SAs
        inbound SA from  12.1.1.2  to  12.1.1.1
           (proxy 10.32.8.1 to 12.1.1.1.)
        has spi 3576885181 and conn_id 2 and flags 4
        outbound SA from  12.1.1.1  to  12.1.1.2
           (proxy 12.1.1.1 to 10.32.8.1)
        has spi 2749108168 and conn_id 1 and flags 4IPSEC(key_engine):
           got a queue event...
IPSEC(initialize_sas): ,
  (key eng. msg.) dest= 12.1.1.1, src= 12.1.1.2,
    dest_proxy= 12.1.1.1/0.0.0.0/0/0 (type=1),
    src_proxy= 10.32.8.1/0.0.0.0/0/0 (type=1),
    protocol= ESP, transform= esp-3des esp-md5-hmac ,
    lifedur= 0s and 0kb,
    spi= 0xd532efbd(3576885181), conn_id= 2, keysize= 0, flags= 0x4
IPSEC(initialize_sas): ,
  (key eng. msg.) src= 12.1.1.1, dest= 12.1.1.2,
    src_proxy= 12.1.1.1/0.0.0.0/0/0 (type=1),
    dest_proxy= 10.32.8.1/0.0.0.0/0/0 (type=1),
    protocol= ESP, transform= esp-3des esp-md5-hmac ,
    lifedur= 0s and 0kb,
    spi= 0xa3dc0fc8(2749108168), conn_id= 1, keysize= 0, flags= 0x4
return status is IKMP_NO_ERROR

Problemas comunes entre el router y el cliente VPN

Imposibilidad de acceder a las subredes por fuera del túnel VPN - Tunelización dividida

Este extracto de la configuración del router muestra cómo habilitar la tunelización dividida para las conexiones VPN. El comando access list 150 está asociado al grupo según se ha configurado en el comando crypto isakmp client configuration group hw-client-groupname. Esto permite que Cisco VPN Client use el router para acceder a una subred adicional que no es parte del túnel VPN. Este proceso se lleva a cabo sin comprometer la seguridad de la conexión IPSec. El túnel se forma en la red 172.168.0.128. El tráfico fluye sin cifrarse a los dispositivos no definidos en el comando access list 150, por ejemplo, a Internet.

!
crypto isakmp client configuration group hw-client-groupname
 key hw-client-password
 dns 172.168.0.250 172.168.0.251
 wins 172.168.0.252 172.168.0.253
 domain cisco.com
 pool dynpool
 acl 150
!
!
access-list 150 permit ip 172.168.0.128 0.0.0.127 any 
!

Problemas comunes entre el PIX y el cliente VPN

En estas secciones se abordan problemas frecuentes que puede encontrar al configurar PIX en IPSec con la ayuda de Cisco VPN Client 3.x. Las configuraciones de ejemplo para PIX se basan en la versión 6.x.

El tráfico no fluye en cuanto se establece el túnel - No se puede hacer ping dentro de la red que se encuentra detrás del PIX

Este es un problema común de enrutamiento. Asegúrese de que el PIX tiene una ruta para las redes en el interior y no directamente conectadas a la misma subred. Además, la red interna debe tener una ruta de vuelta al PIX para las direcciones en el agrupamiento de direcciones de cliente.

Este resultado muestra un ejemplo.

            
               !--- Dirección de la interfaz interna del PIX.
            
ip address inside 10.1.1.1 255.255.255.240

               !--- Ruta a las redes que están en el segmento interno.
!--- El salto siguiente es el router interno.
            
route inside 172.16.0.0 255.255.0.0 10.1.1.2 1

               !--- Agrupamiento de direcciones definidas en el PIX desde el cual se asignan direcciones
!--- al cliente VPN para la sesión IPSec.
            
ip local pool mypool 10.1.2.1-10.1.2.254

               !--- En el router interno, si la gateway predeterminada no
!--- es la interfaz interna del PIX, el router debe tener una ruta
!--- para la red 10.1.2.0/24 con el salto siguiente como la interfaz interna del PIX
!--- (como en los routers de Cisco IOS).
            
ip route 10.1.2.0 255.255.255.0 10.1.1.1

Después de activarse el túnel, el usuario no puede navegar por Internet - Tunelización dividida

El motivo más frecuente de este problema es que, con el túnel IPSec desde el cliente VPN al PIX, todo el tráfico se envía a través del túnel al PIX Firewall. La funcionalidad del PIX no permite que el tráfico se envíe nuevamente a la interfaz en la que se ha recibido. Por lo tanto, el tráfico destinado a Internet no funciona. Para solucionar este problema, use el comando split tunneling. La idea es que uno sólo envía un tráfico específico a través del túnel y el resto del tráfico se dirige directamente a Internet, no a través del túnel.

            vpngroup vpn3000 split-tunnel 90
access-list 90 permit ip 10.1.1.0 255.255.255.0 10.1.2.0 255.255.255.0
access-list 90 permit ip 172.16.0.0 255.255.0.0 10.1.2.0 255.255.255.0

Nota: el comando vpngroup vpn3000 split-tunnel 90 permite la tunelización dividida con access-list number 90. El comando access-list 90 define el tráfico que fluye a través del túnel, el resto se rechaza al finalizar la lista de acceso. La lista de acceso debe ser la misma para denegar la traducción de direcciones de red (NAT) en el PIX.

Después de activarse el túnel, determinadas aplicaciones no funcionan - Ajuste de MTU en el cliente

Algunas veces, después de establecerse el túnel, un usuario descubre que puede hacer ping en las máquinas de la red detrás del PIX Firewall, pero no usar determinadas aplicaciones como Microsoft Outlook. Un problema frecuente es el tamaño de la unidad de transferencia máxima (MTU) de los paquetes. El encabezado IPSec puede ser de 50 a 60 bytes, que se agregan al paquete original. Si el tamaño del paquete es superior a 1500 (el valor predeterminado para Internet), los dispositivos deben fragmentarlo. De esta forma, después de agregar el encabezado IPSec, el tamaño aún será menor a 1496, que es el máximo para IPSec.

El comando show interface muestra la MTU de esa interfaz en particular en los routers accesibles o en los routers de sus propias instalaciones. Para determinar la MTU de todo el trayecto desde el origen hasta el destino, los datagramas de distintos tamaños se envían con el bit DF definido, de modo que si el datagrama enviado es mayor que la MTU, el siguiente mensaje de error se envía nuevamente al origen:

frag. needed and DF set

Este resultado muestra un ejemplo de la búsqueda de la MTU del trayecto entre los hosts con direcciones IP 10.1.1.2 y 172.16.1.56.

Router#debug ip icmp
ICMP packet debugging is on


               !--- Lleve a cabo una prueba de ping extendido.
            
Router#ping
Protocol [ip]:
Target IP address: 172.16.1.56
Repeat count [5]:
Datagram size [100]: 1550
Timeout in seconds [2]:


               !--- Asegúrese de introducir "y" para los comandos extendidos.
            
Extended commands [n]: y
Source address or interface: 10.1.1.2
Type of service [0]:


               !--- Defina el bit DF como se muestra.
            

Set DF bit in IP header? [no]: y
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 1550-byte ICMP Echos to 172.16.1.56, timeout is 2 seconds:

2w5d: ICMP: dst (172.16.1.56): frag. needed and DF set.
2w5d: ICMP: dst (172.16.1.56): frag. needed and DF set.
2w5d: ICMP: dst (172.16.1.56): frag. needed and DF set.
2w5d: ICMP: dst (172.16.1.56): frag. needed and DF set.
2w5d: ICMP: dst (172.16.1.56): frag. needed and DF set.
Success rate is 0 percent (0/5)


               !--- Reduzca el tamaño del datagrama más aún y realice otra prueba de ping extendido.
            
Router#ping
Protocol [ip]:
Target IP address: 172.16.1.56
Repeat count [5]:
Datagram size [100]: 1500
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 10.1.1.2
Type of service [0]:
Set DF bit in IP header? [no]: y
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 1500-byte ICMP Echos to 172.16.1.56, timeout is 2 seconds:
!!!!!
2w5d: ICMP: echo reply rcvd, src 172.16.1.56, dst 10.1.1.2
2w5d: ICMP: echo reply rcvd, src 172.16.1.56, dst 10.1.1.2
2w5d: ICMP: echo reply rcvd, src 172.16.1.56, dst 10.1.1.2
2w5d: ICMP: echo reply rcvd, src 172.16.1.56, dst 10.1.1.2
2w5d: ICMP: echo reply rcvd, src 172.16.1.56, dst 10.1.1.2

Success rate is 100 percent (5/5), round-trip min/avg/max = 380/383/384 ms

Nota: el cliente VPN incluye una utilidad de ajuste de MTU que permite al usuario ajustar la MTU para Cisco VPN Client. En el caso de los usuarios del cliente PPP sobre Ethernet (PPPoE), ajuste la MTU para el adaptador PPPoE.

Nota: complete estos pasos para ajustar la utilidad de MTU para el cliente VPN.

  1. Seleccione Start > Programs > Cisco System VPN Client > Set MTU.

  2. Seleccione Local Area Connection y elija 1400. Haga clic en OK.

    ipsec_debug-2.gif

  3. Repita el paso 1, seleccione Dial-up Networking y, a continuación, 576. Haga clic en OK.

    ipsec_debug-1.gif

Omisión del comando sysopt

Use el comando sysopt connection permit-ipsec en las configuraciones IPSec del PIX para permitir el paso del tráfico IPSec a través del PIX Firewall sin que se realice una comprobación de las sentencias del comando conduit o access-list. De forma predeterminada, una sentencia del comando conduit o access-list debe permitir explícitamente una sesión entrante. Con el tráfico protegido IPSec, la comprobación de la lista de acceso secundaria puede ser redundante. Para habilitar las sesiones IPSec entrantes cifradas o autenticadas para que se permitan siempre, use el comando sysopt connection permit-ipsec.

Verificación de las listas de control de acceso (ACL)

En una configuración de VPN IPSec típica se suelen usar dos listas de acceso. Una se emplea para eximir el tráfico destinado al túnel VPN del proceso NAT y la otra define qué tráfico debe cifrarse. Aquí se incluye una ACL de cifrado en una configuración de LAN a LAN o una ACL de tunelización dividida en una configuración de acceso remoto. Si estas ACL se configuran de forma incorrecta o no están presentes, el tráfico sólo podría fluir en una dirección a través del túnel VPN, o bien podría no enviarse en absoluto a través de él.

Asegúrese de que ha configurado todas las listas de acceso necesarias para completar la configuración VPN IPSec y que dichas listas definen el tráfico correcto. En la siguiente lista se ofrecen sencillas comprobaciones que debe realizar cuando sospeche que una ACL es la causa de problemas con VPN IPSec.

  • Asegúrese de que las listas de cifrado y exención de NAT especifican el tráfico correcto.

  • Si cuenta con varios túneles VPN y diversas ACL de cifrado, compruebe que las ACL no se superponen.

  • No use las ACL dos veces. Aunque las listas de cifrado y exención de NAT especifiquen el mismo tráfico, emplee dos listas de acceso diferentes.

  • Asegúrese de que el dispositivo está configurado para usar la ACL de exención de NAT. En un router, esto supone usar el comando route-map. En un dispositivo PIX o ASA, implica que se usa el comando nat (0). La ACL de exención de NAT es necesaria tanto en la configuración de LAN a LAN como en la de acceso remoto.

Para obtener más información sobre cómo verificar las sentencias ACL, consulte la sección Verify that ACLs are Correct (Verificación de las ACL correctas) de Most Common L2L and Remote Access IPsec VPN Troubleshooting Solutions (Soluciones a los problemas más comunes de VPN IPSec L2L y de acceso remoto).


Discusiones relacionadas de la comunidad de soporte de Cisco

La Comunidad de Soporte de Cisco es un foro donde usted puede preguntar y responder, ofrecer sugerencias y colaborar con colegas.


Document ID: 5409