Un router de sucursal Huawei AR con una dirección pública asignada por DHCP, situado detrás de un dispositivo NAT, que establece un túnel IPSec hacia un router Cisco de dirección fija en la sede — modo agresivo, traspaso de NAT, la plantilla de mapa dinámico del lado Cisco, y los modos de fallo que solo aparecen cuando NAT y una IP cambiante coinciden.
Por Yuwen Zhang (Atlas), fundador de AtlasCommTech — 13 años de despliegues de redes de operadores y empresariales · Actualizado en julio de 2026
La nota anterior de Huawei-Cisco asumía que ambos extremos tenían una dirección IP conocida. Quite eso y el diseño cambia.
Una sucursal rara vez obtiene una IP pública fija de su ISP, y suele estar detrás de algún dispositivo NAT — un CPE del operador, una caja NAT dedicada, o NAT ejecutándose en la propia interfaz WAN del router AR. La negociación IKE en modo principal, que identifica a los peers por dirección IP, no tolera bien ninguna de las dos condiciones: una dirección dinámica significa que la sede no puede preconfigurar una dirección de peer fija para esa sucursal, y el NAT reescribe justo la dirección de origen que IKE usaría para elegir la clave precompartida correcta.
Esta nota recorre la configuración que resuelve ambos problemas a la vez — una puerta de enlace de sucursal Huawei AR con dirección WAN asignada por DHCP, detrás de un dispositivo NAT independiente, negociando en modo agresivo IKEv1 con traspaso de NAT habilitado hacia un router Cisco de la sede que acepta la sucursal mediante una plantilla de mapa dinámico — además de qué cambia cuando el propio router de la sucursal hace NAT en lugar de usar una caja separada, y qué cambia de nuevo cuando es la sede, no la sucursal, la que está detrás de NAT.
Esta vez son tres dispositivos, no dos — el router de la sucursal, un dispositivo NAT y el router Cisco de la sede.
Las etiquetas del diagrama se mantienen en inglés por claridad técnica.
Direccionamiento — RouterA y RouterB
| Elemento | RouterA — puerta de enlace Huawei de la sucursal | RouterB — puerta de enlace Cisco de la sede |
|---|---|---|
| Dirección pública (WAN) | Asignada por DHCP, alcanzada a través de NATer | 60.1.2.1 (static) |
| Subred privada | 10.1.1.0/24 | 10.1.2.0/24 |
| Identidad IKE | local-name huawei | espera el nombre de peer remoto RouterB |
Dispositivo NAT (NATer)
| Elemento | Valor (este ejemplo) |
|---|---|
| Interfaz WAN (hacia internet) | 60.1.1.1/24 — nat outbound |
| Interfaz LAN (hacia RouterA) | 192.168.1.1/24 — dhcp select interface |
| Ruta estática | 0.0.0.0/0 via 60.1.1.2 |
Fase 1 — Parámetros de negociación IKE
| Parámetro | Valor (este ejemplo) |
|---|---|
| Versión IKE | IKEv1 |
| Modo de negociación | Modo agresivo |
| Método de autenticación | Clave precompartida |
| Clave precompartida (este ejemplo) | YsHsjx_202206 — la clave del ejemplo de origen; configure siempre su propia clave única. |
| Algoritmo de cifrado | aes-cbc-128 |
| Algoritmo de autenticación | sha2-256 |
| Grupo DH | group14 |
| Traspaso de NAT | Habilitado (nat traversal) |
| Identidad del peer | Basada en nombre (local-id-type name / remote-name) |
Fase 2 — Parámetros de negociación IPSec
| Parámetro | Valor (este ejemplo) |
|---|---|
| Protocolo de seguridad | ESP |
| Modo de encapsulación | Túnel (por defecto) |
| Algoritmo de cifrado | aes-128 |
| Algoritmo de autenticación | sha2-256 |
| Flujo protegido (ACL 3000) | 10.1.1.0/24 ↔ 10.1.2.0/24 |
El modo agresivo más el traspaso de NAT sustituyen las suposiciones de IP fija del modo principal.
#
sysname RouterA
#
ipsec authentication sha2 compatible enable
#
ike local-name huawei
#
acl number 3000
rule 5 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
#
ipsec proposal prop1
esp authentication-algorithm sha2-256
esp encryption-algorithm aes-128
#
ike proposal 1
encryption-algorithm aes-cbc-128
dh group14
authentication-algorithm sha2-256
#
ike peer peer1 v1
exchange-mode aggressive
pre-shared-key cipher
ike-proposal 1
local-id-type name
remote-name RouterB
nat traversal
remote-address 60.1.2.1
#
ipsec policy policy1 10 isakmp
security acl 3000
ike-peer peer1
proposal prop1
#
interface GigabitEthernet0/0/1
ipsec policy policy1
ip address dhcp-alloc
#
interface GigabitEthernet0/0/2
ip address 10.1.1.1 255.255.255.0
#
return
Una caja dedicada entre el router de la sucursal e internet. No necesita saber nada sobre el flujo protegido por IPSec — simplemente traduce cada paquete saliente y asigna al router de la sucursal una dirección privada por DHCP.
#
sysname NATer
#
dhcp enable
#
acl number 3000
rule 5 permit ip
#
interface GigabitEthernet0/0/1
ip address 60.1.1.1 255.255.255.0
nat outbound 3000
#
interface GigabitEthernet0/0/2
ip address 192.168.1.1 255.255.255.0
dhcp select interface
#
ip route-static 0.0.0.0 0.0.0.0 60.1.1.2
#
return
Como la dirección de la sucursal puede cambiar y otras sucursales podrían necesitar conectarse de la misma forma, el lado Cisco acepta por identidad en lugar de por una dirección de peer fija, mediante un crypto map dinámico.
!
hostname RouterB
!
crypto isakmp policy 1
encryption aes 128
hash sha256
authentication pre-share
group 14
crypto isakmp key YsHsjx_202206 hostname huawei
!
crypto isakmp identity hostname
!
crypto ipsec transform-set p1 esp-sha256-hmac esp-aes 128
!
crypto dynamic-map p1 1
set transform-set p1
match address 102
!
crypto map p1 1 ipsec-isakmp dynamic p1
!
interface GigabitEthernet0/0
ip address 60.1.2.1 255.255.255.0
duplex auto
speed auto
crypto map p1
!
interface GigabitEthernet0/1
ip address 10.1.2.1 255.255.255.0
duplex auto
speed auto
!
ip route 0.0.0.0 0.0.0.0 60.1.2.2
!
access-list 102 permit ip 10.1.2.0 0.0.0.255 10.1.1.0 0.0.0.255
!
end
La sintaxis del lado Cisco de esta nota se verificó en Cisco IOS Software, C3900e-UNIVERSALK9-M, versión 15.2(4)M1 — IOS-XE y ASA usan una sintaxis parecida pero no idéntica.
El ejemplo anterior hace que la sucursal Huawei inicie. Si el router Cisco necesita iniciar el modo agresivo hacia una sucursal detrás de NAT, necesita un bloque específico para ese peer en lugar del mapa dinámico.
crypto isakmp peer ip-address 60.1.1.1
set aggressive-mode client-endpoint fqdn huawei
set aggressive-mode password YsHsjx_202206
Algunas sucursales no tienen un dispositivo NAT separado — el propio router AR hace NAT en la misma interfaz que transporta el tráfico protegido por IPSec. En ese caso el orden de procesamiento importa: el NAT se ejecuta antes que el cifrado IPSec, así que a menos que el flujo protegido se excluya explícitamente de la ACL del NAT, el NAT reescribe la dirección de origen antes de que la propia ACL de IPSec la vea, y la ACL de seguridad del túnel deja de coincidir. La ACL usada para el NAT debe denegar el flujo protegido por IPSec y permitir solo todo lo demás:
acl number 3001
rule 5 deny ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
rule 10 permit ip
#
interface GigabitEthernet0/0/1
ipsec policy policy1
nat outbound 3001
ip address dhcp-alloc
Estos son los problemas que surgen específicamente al añadir NAT y una dirección IP cambiante a un túnel Huawei-Cisco por lo demás normal.
SÍNTOMALa negociación de fase 1 falla o elige la clave precompartida equivocada en cuanto hay un dispositivo NAT entre la sucursal y la sede — aunque los mismos parámetros exactos funcionaban bien en un enlace IP público directo.
CAUSAEl modo principal selecciona la clave precompartida según la dirección IP del peer. Una vez que el NAT reescribe esa dirección en tránsito, el extremo remoto ya no busca la clave por la dirección que realmente configuró el extremo cercano.
SOLUCIÓNCambie a modo agresivo e identifique al peer por nombre en lugar de por dirección IP — un nombre sobrevive a la traducción NAT, una dirección IP no.
[RouterA] ike peer peer1 v1
[RouterA-ike-peer-peer1] exchange-mode aggressive
[RouterA-ike-peer-peer1] local-id-type name
[RouterA-ike-peer-peer1] remote-name RouterB
SÍNTOMAEl comando nat traversal es rechazado en un dispositivo, o el NAT-T se comporta como si nunca se hubiera configurado en otro, aunque ambos sean routers Huawei AR.
CAUSAEn V200R008, el traspaso de NAT está habilitado por defecto y el propio comando no es compatible. En las versiones posteriores a V200R008, debe configurarse explícitamente con el comando nat traversal bajo el peer IKE.
SOLUCIÓNVerifique la versión de software antes de asumir el estado del NAT-T — no copie un bloque de peer IKE de una rama de firmware AR a otra sin confirmar si el comando aplica.
[RouterA-ike-peer-peer1] nat traversal
SÍNTOMALa sucursal hace su propio NAT (sin una caja NATer separada), y el tráfico que debería cifrarse sale intacto — o el túnel nunca ve el tráfico que se supone debe proteger.
CAUSACuando IPSec y NAT están configurados en la misma interfaz de salida, el router procesa primero el NAT y luego el cifrado IPSec. Si la ACL del NAT no excluye explícitamente el flujo protegido por IPSec, el NAT reescribe la dirección de origen antes de que la ACL de seguridad propia del túnel tenga oportunidad de hacerla coincidir.
SOLUCIÓNDeniegue primero el flujo protegido por IPSec en la ACL del NAT, y luego permita todo lo demás — así el NAT solo toca el tráfico que no debe pasar por el túnel.
acl number 3001
rule 5 deny ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
rule 10 permit ip
SÍNTOMAEl túnel funciona bien y luego deja de pasar tráfico tras un periodo de baja actividad — sin ningún cambio de configuración en ninguno de los dos lados.
CAUSALos dispositivos NAT hacen expirar los enlaces UDP inactivos. Si ninguno de los dos lados sondea activamente al peer, la entrada de traducción del dispositivo NAT para la sesión IKE/IPSec puede expirar mientras la SA en sí sigue pareciendo «establecida» — el siguiente paquete de la sede no tiene adónde ir.
SOLUCIÓNHabilite la detección periódica de peer muerto en el peer IKE para que ambos lados sigan sondeándose entre sí y el enlace NAT se mantenga renovado.
[RouterA-ike-peer-peer1] dpd type periodic
SÍNTOMALa fase 1 nunca se completa, o el router Cisco registra un desajuste de identidad, aunque la clave precompartida esté escrita correctamente en ambos extremos.
CAUSAPor defecto, la identidad ISAKMP de Cisco se basa en la dirección. Si la sucursal Huawei presenta una identidad basada en nombre (como exige aquí el modo agresivo), el router Cisco no la hará coincidir con la clave correcta a menos que se le indique que espere un nombre de host.
SOLUCIÓNConfigure la identidad ISAKMP como hostname en el router Cisco, y vincule la clave precompartida a ese mismo nombre de host en lugar de a una dirección IP.
crypto isakmp key YsHsjx_202206 hostname huawei
crypto isakmp identity hostname
«Establecida» en la tabla SA es necesario pero no suficiente detrás de NAT — los puertos NAT-T también deben estar realmente reenviándose.
[RouterA] display ike sa
Conn-ID Peer VPN Flag(s) Phase
---------------------------------------------------------
8 60.1.2.1 0 RD|ST 2
6 60.1.2.1 0 RD|ST 1
Flag Description:
RD--READY ST--STAYALIVE RL--REPLACED FD--FADING TO--TIMEOUT
HRT--HEARTBEAT LKG--LAST KNOWN GOOD SEQ NO. BCK--BACKED UP
Si el túnel no se establece en absoluto detrás de NAT, confirme que el dispositivo NAT realmente esté reenviando UDP 500 y UDP 4500 hacia la sucursal — NAT-T normalmente cambia el tráfico IKE al puerto 4500 una vez detectada la traducción, y un dispositivo que solo abre el 500 romperá la negociación silenciosamente.
Cinco preguntas que surgen casi cada vez que se construye esta combinación exacta — IP dinámica, NAT, Huawei a Cisco.
Si hay un dispositivo NAT en cualquier punto de la ruta, no — el modo principal selecciona la clave precompartida según la dirección IP del peer, y el NAT reescribe esa dirección antes de que llegue al otro extremo. El modo agresivo identifica al peer por nombre en su lugar, lo cual sobrevive a la traducción NAT. Si realmente no hay NAT y solo la IP es dinámica, el modo principal con una clave precompartida comodín vinculada a cualquier dirección todavía puede funcionar.
Ambos funcionan. Un dispositivo NAT separado, como en el ejemplo principal de esta nota, mantiene IPSec y NAT claramente separados. Si el router AR hace su propio NAT en la misma interfaz, recuerde que el NAT se ejecuta antes que IPSec — la ACL del NAT debe denegar explícitamente el flujo protegido por IPSec, o el NAT lo reescribirá antes de que el túnel tenga oportunidad de protegerlo.
Entonces el dispositivo frente a la sede necesita redirección de puertos estática en lugar del NAT de salida usado para la sucursal: reenvíe UDP 500 y UDP 4500 a la dirección privada del router Cisco para que el tráfico IKE y NAT-T realmente lo alcance, más ICMP si las pruebas de conectividad necesitan pasar.
nat server protocol udp global current-interface 500 inside 192.168.1.2 500
nat server protocol udp global current-interface 4500 inside 192.168.1.2 4500
nat server protocol icmp global current-interface inside 192.168.1.2
Tal como se configura aquí, la clave precompartida está vinculada al nombre IKE de la sucursal (crypto isakmp key ... hostname huawei), así que este mapa dinámico en realidad solo acepta esa sucursal identificada. Para que el mismo mapa acepte cualquier sucursal, vincule la clave a una dirección comodín en lugar de a un nombre de host — la misma plantilla de mapa dinámico combinada con una identidad basada en IP del lado de la sucursal aceptará cualquier peer que presente la clave correcta.
Cisco IOS Software, C3900e-UNIVERSALK9-M, versión 15.2(4)M1. IOS-XE y ASA usan una sintaxis parecida pero no idéntica. La guía de configuración original también señala que MD5, SHA-1, DES y 3DES son algoritmos con debilidades conocidas — evítelos si el otro extremo puede negociar algo más robusto.
Esta nota se basa en la combinación de modo agresivo, traspaso de NAT y mapa dinámico de la guía de configuración de origen, además de las variantes de NAT del lado de la sucursal y del lado de la sede que documenta. No cubre IKEv2 detrás de NAT, cadenas de doble NAT, el uso compartido de direcciones de NAT de grado operador (CGN), ni un dispositivo NAT de un fabricante externo cuyo comportamiento de traducción no coincida exactamente con esta configuración de prueba Huawei a Huawei NATer.
Sucursal detrás de NAT, IP dinámica, una versión específica de Cisco IOS — envíelo por WhatsApp y le ayudamos a alinear los parámetros en ambos extremos.