La entrada de server-map es correcta. La ruta es correcta. La entrada ARP es correcta. Y el mapeo sigue sin funcionar — porque precisamente que todas esas comprobaciones pasen es lo que hace que esta falla se esconda del orden de resolución de problemas obvio. Esta es la cadena de diagnóstico que profundiza un nivel más, hasta el contador del plano de reenvío que realmente nombra el problema.
Por Yuwen Zhang (Atlas), fundador de AtlasCommTech — 13 años de despliegues de redes de operadores y empresariales · Actualizado en julio de 2026
server-map normal, ruta normal, ARP normal — y el cliente en internet aún no puede llegar al servidor mapeado.
Un mapeo de NAT Server que simplemente no funciona es una de las fallas más desconcertantes en un router Huawei AR, precisamente porque las tres primeras cosas que cualquiera revisa — display firewall server-map nat-server, display ip routing-table, display arp — vuelven todas limpias. Si ya configuró NAT Server correctamente (vea nuestra guía de configuración de Easy IP para la puesta en marcha en sí), la falla no está en la definición del mapeo; está en algún lugar de la ruta de reenvío debajo de ella, y la forma más rápida de llegar es una verificación de la tabla de sesiones seguida de un contador de descarte de paquetes del plano de reenvío, no otra mirada a la configuración de NAT.
A continuación, esa cadena de diagnóstico en orden, las causas raíz que realmente revela, y respuestas de preguntas frecuentes de casos de campo sobre los comportamientos de NAT Server que siguen causando confusión.
Cuatro comprobaciones se ven completamente normales en esta falla, una por una, antes de que el descarte real aparezca en un contador del plano de reenvío que nadie piensa en revisar primero.
Esta es una cadena lineal, no una bifurcación — cada etapa confirma "no está aquí" y lo envía a la siguiente comprobación, o nombra la causa real y evita que vuelva a verificar una configuración que nunca fue el problema.
Las etiquetas del diagrama se mantienen en inglés por claridad técnica.
Las dos primeras etapas merecen confirmarse rápidamente y luego confiar en ellas — volver a revisar el server-map o la ruta por segunda y tercera vez después de que ya volvieron limpias es el mayor sumidero de tiempo en esta falla. La tabla de sesiones y el contador de reenvío son lo que realmente distingue "el mapeo está mal" de "el mapeo está bien pero el reenvío nunca llega a usarlo".
Las dos primeras comprobaciones confirman que el mapeo no es el problema — las dos últimas prueban el descarte y lo nombran.
Tres comandos, todos limpios, y ninguno de ellos es donde realmente está la falla.
<sysname> display firewall server-map nat-server
Current Total Server-map : 2
Type: Nat Server, ANY -> 100.1.1.101[192.168.205.101], Zone:---, protocol:---
Vpn: public -> public
Type: Nat Server Reverse, 192.168.205.101[100.1.1.101] -> ANY, Zone:---, protocol:---
Vpn: public -> public, counter: 1
// both forward and reverse entries present -- mapping itself is fine
[sysname] display ip routing-table 192.168.205.101
Destination/Mask Proto Pre Cost Flags NextHop Interface
192.168.205.0/24 Direct 0 0 D 192.168.205.1 10GE0/0/1
// route resolves correctly
[sysname] display arp network 192.168.205.101 32
IP ADDRESS MAC ADDRESS EXP(M) TYPE/VLAN INTERFACE VPN-INSTANCE
192.168.205.101 0000-c0a8-cd65 11 D 10GE0/0/1
// real MAC, not Incomplete -- ARP is fine too
Aquí es donde la falla realmente se muestra — un nivel por debajo de todo lo que ya confirmó que estaba bien.
<sysname> system-view
[sysname] diagnose
[sysname-diagnose] display forward information cpu-forward slot 0 cpuid 0 "hsd diag set pfa counter debug 0 1"
[sysname-diagnose] display forward information cpu-forward slot 0 cpuid 0 "hsd diag clear pfa counter 1"
// trigger the Telnet attempt against the mapped port here, then read the counter
[sysname-diagnose] display forward information cpu-forward slot 0 cpuid 0 "hsd diag show pfa counter all 1"
Module | error | Value
[ 4]IPV4
[ 4]ERROR_CNT_IPV4_ARPMISS 14
[ 6]ERROR_CNT_IPV4_NHP_DWN 14
[ 62]ERROR_CNT_BLACK_HOLE 37
// ARP Miss and black-hole counts climbing -- traffic never resolved to the right next hop
[sysname] interface 10GE0/0/1
[sysname-10GE0/0/1] display this
#
interface 10GE0/0/1
ip address 100.1.1.100 255.255.255.0
device transceiver 10GBASE-FIBER
#
// nat enable is missing here -- ingress traffic never went through server-map translation
[sysname-10GE0/0/1] nat enable
Una vez que la cadena anterior le indica que el mapeo y la ruta nunca fueron el problema, estas cinco explican la mayor parte de lo que realmente falla.
SÍNTOMAEl server-map, la ruta y el ARP para la dirección interna están todos limpios, pero nunca se crea ninguna sesión para el tráfico dirigido a la dirección pública mapeada, y el contador de errores de ARP-Miss del plano de reenvío sube cada vez que lo intenta.
CAUSALa entrada de server-map existe globalmente en el dispositivo, pero la traducción NAT solo se ejecuta realmente en una interfaz donde nat enable esté configurado. Sin ello, el tráfico destinado a la dirección pública mapeada se reenvía como una simple búsqueda IP contra esa dirección — que nunca estuvo destinada a ser enrutada a ningún lugar — en lugar de traducirse primero a la dirección interna.
SOLUCIÓNConfirme con display this en la interfaz de entrada, luego agregue nat enable.
[sysname-10GE0/0/1] display this
#
interface 10GE0/0/1
ip address 100.1.1.100 255.255.255.0
#
[sysname-10GE0/0/1] nat enable
SÍNTOMAEl tráfico en una dirección por la misma ruta funciona bien; la otra dirección falla, aunque la configuración de ambos extremos y el propio enlace se verifican bien — display ike sa (o el equivalente del túnel) muestra todo establecido.
CAUSAEl comportamiento automático de sesión inversa de NAT Server tiene prioridad sobre una política de source-NAT, incluso una que niega explícitamente traducir el tráfico protegido. La dirección privada se traduce a la dirección pública de todos modos en la ruta de retorno, rompiendo lo que esperaba que ese tráfico llegara sin traducir.
SOLUCIÓNConfigure no-reverse en el comando nat server cuando la dirección del lado del servidor solo deba traducirse en entrada, nunca en su propio tráfico saliente; verifique display firewall server-map para la entrada "Nat Server Reverse" y confirme que realmente está en juego.
[sysname2] nat server 0 protocol tcp global 2.1.1.10 3389 inside 10.1.2.2 3389 no-reverse
SÍNTOMASin síntoma evidente hasta que se profundiza — pero bajo carga, o tras un cambio de topología, el tráfico hacia la dirección global del NAT Server empieza a formar un bucle entre el dispositivo y el router aguas abajo en lugar de llegar al servidor.
CAUSACuando la dirección del pool NAT o la dirección global del NAT Server no está en la misma subred que la interfaz de salida, el dispositivo aún necesita que exista una ruta local para ella, de modo que un dispositivo aguas abajo no intente rebotar el tráfico coincidente. Sin una ruta de agujero negro, el dispositivo aguas abajo cree que el destino todavía es alcanzable a través del dispositivo y lo reenvía, formando un bucle.
SOLUCIÓNConfigure una ruta de agujero negro para la dirección global del NAT Server (o el rango del pool NAT) siempre que no esté en la misma subred que la interfaz de salida física — y considere una incluso cuando lo esté, ya que también evita que el dispositivo genere solicitudes ARP innecesarias para una dirección que en realidad nunca es un host real.
[sysname] ip route-static 100.1.1.101 255.255.255.255 NULL0
SÍNTOMAEl mapeo y la ruta se ven correctos, pero el tráfico se sigue descartando, y el descarte solo se resuelve una vez que la política de seguridad/ACL se reescribe para referenciar la dirección privada del servidor en lugar de la pública.
CAUSALa traducción de NAT Server ocurre antes de la comprobación de la política de seguridad en el orden de reenvío — una vez que un paquete coincide con la entrada de server-map, su dirección de destino ya está reescrita a la dirección interna para cuando ocurre la evaluación de la política. Una política escrita contra el destino público original nunca coincidirá.
SOLUCIÓNEscriba la dirección de destino de la política de seguridad como la dirección privada (interna) del servidor, no la dirección pública configurada en el mapeo de NAT Server.
SÍNTOMAQuiere confirmar que el tráfico realmente está impactando una entrada específica de NAT Server o pool, en lugar de simplemente existir como mapeo, y los comandos obvios no muestran un contador por entrada.
CAUSANo existe ningún comando display que informe directamente cuántos paquetes han coincidido con una entrada específica de NAT Server o pool de direcciones NAT.
SOLUCIÓNUse display nat-policy rule all en su lugar — reporta un contador HITS por regla de política NAT, que es el sustituto disponible más cercano para confirmar que una regla dada (y por extensión su server-map o pool asociado) realmente está siendo coincidida por tráfico real.
<sysname> display nat-policy rule all
Total:3
RULE ID RULE NAME STATE ACTION HITS
1 test disable no-nat 0
2 abc enable src-nat 5
0 default enable no-nat 0
Sacadas directamente del campo — las que merece la pena tener una respuesta lista.
Técnicamente sí, pero evítelo. Una vez que esa IP de interfaz se convierte en la dirección global del NAT Server, cada paquete destinado a la propia interfaz se traduce primero a la dirección interna del servidor — lo que rompe el ping, la gestión Web y Telnet al dispositivo en esa dirección. Usar la IP de la interfaz para la traducción de source-NAT en su lugar no tiene este problema, ya que el tráfico iniciado activamente hacia la interfaz sigue el proceso del primer paquete y evita la política de source-NAT.
No directamente. No hay un contador dedicado a una sola entrada de NAT Server o pool NAT. display nat-policy rule all es lo más cercano — reporta un conteo de HITS por regla de política NAT configurada.
Dos casos: cuando el pool NAT o la dirección global de NAT Server está en una subred diferente a la interfaz de salida (obligatorio, para evitar un bucle de reenvío), y — vale la pena hacerlo de todos modos — incluso cuando está en la misma subred, ya que evita que el dispositivo genere solicitudes ARP inútiles para una dirección que nunca fue un host real.
Este es el comportamiento no-reverse. Sin él, la sesión inversa automática de NAT Server traduce el propio tráfico saliente del servidor a la misma dirección pública que el mapeo — lo cual normalmente está bien. Pero si una política de source-NAT o un pool de direcciones diferente también está manejando el tráfico saliente de ese servidor, las dos traducciones no coinciden y las conexiones fallan; alinéelas a la misma dirección pública, o aplique no-reverse y configure NAT de salida explícitamente para ese host.
Porque la traducción de NAT Server ocurre antes de la comprobación de la política de seguridad. Para cuando la política evalúa el paquete, el destino ya se ha convertido en la dirección privada interna. Apunte la dirección de destino de la política a la dirección interna en su lugar.
La guía de configuración lo lleva a un mapeo definido correctamente. Esta nota es para el caso en que la definición ya es correcta y el tráfico aún no llega — lo que casi siempre significa que la falla está un nivel más abajo, en si la traducción NAT realmente se está aplicando a la interfaz de entrada, o en un descarte del plano de reenvío que el propio mapeo no puede mostrarle.
Esta nota se basa en el modelo de fallas de NAT Server del router Huawei serie AR, los diagnósticos de server-map / forward information cpu-forward y los casos de campo que los respaldan. En otras plataformas, los contadores de descarte del plano de reenvío equivalentes están bajo comandos diferentes, pero la cadena subyacente — mapeo, ruta, ARP, sesión, descarte de reenvío, habilitación de NAT en la interfaz — se traslada directamente. No cubre en profundidad los despliegues de NAT Server con balanceo de carga o multiactivos, ni escenarios NAT64/NAT-PT.
Envíenos su salida de display firewall server-map nat-server más qué etapa de esta cadena ha confirmado limpia, y le ayudamos a interpretar el resto.