Cuando un firewall Huawei USG “no deja pasar el tráfico”, la falla casi siempre está en uno de estos tres lugares — la política de seguridad nunca coincidió, la tabla de sesiones muestra algo anómalo, o el NAT tradujo lo incorrecto. Este es el orden que lo encuentra más rápido: los comandos display que ejecutar en cada etapa, cómo leer lo que devuelven, y los comandos de debugging a los que recurrir cuando los comandos display por sí solos no bastan.
Por Yuwen Zhang (Atlas), fundador de AtlasCommTech — 13 años de despliegues de redes de operadores y empresariales · Actualizado en julio de 2026
Tres formas de falla distintas terminan en el mismo ticket — “el firewall no deja pasar el tráfico” — y cada una tiene su propio orden de diagnóstico.
Un reporte de tráfico de firewall rara vez viene con un síntoma claro. “No funciona” puede significar que la política de seguridad nunca coincidió con el tráfico, que la tabla de sesiones muestra algo raro una vez que existe una sesión, o que el NAT tradujo algo que no debía — o no tradujo lo que debía. Cambiar reglas en la capa de política y en la capa de NAT al mismo tiempo, esperando que algo funcione, es la forma más lenta de resolverlo. Trabajar las tres categorías en un orden fijo — política de seguridad, luego tabla de sesiones, luego NAT — encuentra la falla real más rápido, porque cada etapa descarta un conjunto distinto de causas antes de pasar a la siguiente.
A continuación, ese orden: los comandos display exactos para cada etapa y cómo leer lo que devuelven, los comandos de debugging y captura de paquetes a los que recurrir cuando los comandos display por sí solos no bastan, cinco trampas extraídas de casos reales de campo, y cinco respuestas a preguntas frecuentes construidas de la misma manera.
Una falla de tráfico de firewall se divide claramente en exactamente tres formas — ubicar el síntoma en este árbol primero le indica qué sección de abajo realmente se aplica.
Cada rama de abajo descarta una capa específica. Trabajar de arriba hacia abajo — política, luego tabla de sesiones, luego NAT — significa que nunca está solucionando problemas de NAT porque asumió que la capa de política estaba bien.
Las etiquetas del diagrama se mantienen en inglés por claridad técnica.
Para la persona que reporta el problema, los síntomas de política de seguridad, tabla de sesiones y NAT a menudo se ven idénticos — “no funciona”. Revisar los hits antes que la tabla de sesiones antes que el NAT, en ese orden, es lo que realmente ahorra tiempo: cada etapa da un sí o no concluyente sobre si continuar.
Tres categorías, tres conjuntos diferentes de cosas a revisar — además de los comandos de debugging a los que recurrir cuando los comandos display por sí solos no bastan.
Si el contador de hits nunca se mueve, el tráfico no está llegando a la regla que usted cree — revise con qué está coincidiendo en realidad.
<sysname> display security-policy rule destination 1.1.1.1 protocol tcp destination-port 8888
RULE ID RULE NAME STATE ACTION HITS
-------------------------------------------------------------------------------
1 1 enable permit 0
2 2 enable permit 0
5 5 enable permit 0
6 6 enable deny 0
0 default enable deny 0
-------------------------------------------------------------------------------
// HITS stays at 0 on every rule -> this traffic never reached this rule set as you defined it
<sysname> display firewall session table verbose
// cross-check the session's actual destination zone against the authentication policy's configured destination zone
O bien la sesión no existe en absoluto, o existe con contadores que indican exactamente qué dirección está rota.
<sysname> display firewall session table verbose source global 10.107.7.23 destination global 10.3.8.211 destination-port global 80
tcp VPN: public --> public ID: a38f5d6f74b701cf56ec2a0d
Zone: untrust --> trust TTL: 00:20:00 Left: 00:17:57
Interface: Eth-Trunk0 NextHop: 0.0.0.0 MAC: 0000-0000-0000
<--packets: 10 bytes: 703 -->packets: 10 bytes: 703
10.107.7.23:47150 --> 10.3.8.211:80 PolicyName: 1
// non-zero packet count in both directions -> forward and return path both reach this device, networking is normal
// the same command on a failing flow instead shows:
<--packets: 0 bytes: 0 -->packets: 12 bytes: 840
// one direction stuck at 0 -> asymmetric routing or a downstream drop on the return path, not a local fault
<sysname> display firewall session table verbose
udp VPN: public --> public ID: a68f5bd4603f01f756c5ab54663
Zone: local --> trust TTL: 00:02:00 Left: 00:01:58
// IKE/IPSec control traffic to the device itself lands in the local zone, not the interface's usual zone
Las fallas de NAT tienden a esconderse en uno de estos tres lugares: la dirección incorrecta configurada en la política, agotamiento de puertos en un pool PAT, o una función no relacionada descartando silenciosamente el paquete ya traducido.
[sysname-diagnose] display nat port conflict
The history data of port conflict, Slot: 1 CPU: 0
2015-11-19 16:03:53 vsys:public protocol:17
192.168.1.1:2048[10.2.2.2:23878]-->8.8.8.8:53
pool:addressgroup1 porthash:**********
[FW] nat address-group addressgroup2
[FW-address-group-addressgroup2] mode no-pat global
[FW-address-group-addressgroup2] section 10.2.2.2
[FW-address-group-addressgroup2] route enable
<sysname> display firewall statistic system discard
Discard statistic information:
IP header field invalid packets discarded:5
TCP session miss packets discarded:7
ATK packets discarded:77
// rising ATK-discard count with NAT/session otherwise healthy -> check anti-attack false positives, e.g. IP-spoofing detection
Una vez que las etapas anteriores le han indicado dónde está el problema pero no por qué, este es el orden para recurrir al debugging y a la captura de paquetes.
<sysname> terminal monitor
<sysname> terminal debugging
<sysname> debugging ikev1 all
<sysname> debugging ipsec all
[sysname] acl 3100
[sysname-acl-adv-3100] rule 5 permit ip source 10.1.1.1 0 destination 10.2.1.1 0
[sysname] packet-capture ipv4-packet 3100 interface GigabitEthernet 1/0/1
[sysname] packet-capture startup packet-num 1500
[sysname] packet-capture queue 0 to-file 1.cap
<sysname> display diagnostic-information dia-info.txt
<sysname> save logfile all
Una vez que las tres etapas anteriores le han indicado dónde está el problema, estas son las trampas específicas que siguen apareciendo una vez que llega ahí.
SÍNTOMAEl tráfico se descarta aunque una regla de security-policy parece, en teoría, permitirlo — en un escenario donde también hay NAT configurado en la misma ruta.
CAUSALa security-policy siempre evalúa la dirección real para esa dirección de tráfico, no la que parece intuitiva: en un escenario de NAT de origen, la dirección de origen de la política debe ser la dirección previa al NAT, y en un escenario de NAT de destino, la dirección de destino de la política debe ser la dirección posterior al NAT. Configurar el lado equivocado de ese par produce una regla que se ve correcta y aun así nunca coincide.
SOLUCIÓNEscriba la dirección de la política con la dirección real previa o posterior al NAT, según la dirección de la traducción — no la dirección que un usuario o la documentación pública del servicio referenciaría.
[FW] nat address-group addressgroup2
[FW-address-group-addressgroup2] mode no-pat global
[FW-address-group-addressgroup2] section 10.2.2.2
[FW-address-group-addressgroup2] route enable
// security-policy source-address for this flow must reference the pre-NAT address, not 10.2.2.2
SÍNTOMAdefault action deny está configurado y no existe ninguna regla explícita de security-policy, sin embargo el tráfico entre interfaces de la misma zona — o el tráfico de gestión hacia el propio dispositivo — sigue pasando.
CAUSAEl tráfico intrazona sí sigue coincidiendo con la ruta de evaluación de security-policy, pero bajo el comportamiento predeterminado de filtrado de paquetes no muestra un nombre de política coincidente a menos que exista una regla detallada con la zona de origen y la zona de destino explícitamente configuradas. Por separado, cuando service-manage enable está activo en una interfaz, el tráfico de gestión destinado a la zona Local omite por completo la coincidencia de security-policy — el permiso de filtrado de paquetes para ese tráfico lo decide service-manage, no el motor de políticas.
SOLUCIÓNNo interprete “sin nombre de política en la sesión” como “nada está filtrando esto”. Si necesita visibilidad o control sobre el tráfico intrazona, agregue una regla detallada con la zona de origen y la zona de destino coincidentes explícitamente configuradas; gestione deliberadamente qué servicios están abiertos bajo service-manage, ya que esa ruta omite el motor de políticas por diseño.
SÍNTOMAUna regla de security-policy configurada para denegar el tráfico de un usuario autenticado específico no surte efecto — se confirma que el usuario está en línea, pero su tráfico no está siendo bloqueado.
CAUSALa zona de destino de la política de autenticación no coincide con la zona de destino real de la sesión, por lo que la sesión nunca coincide con la política de autenticación en primer lugar — y una regla de security-policy basada en el usuario, aguas abajo de eso, tampoco tiene nunca la oportunidad de aplicarse, sin importar qué tan correctamente esté escrita.
SOLUCIÓNCompare display firewall session table verbose con la configuración de la política de autenticación; si la zona de destino necesita cubrir más de una zona, configúrela como any, luego verifique de nuevo que el conteo de hits de la regla basada en el usuario realmente empiece a moverse.
SÍNTOMAEl NAT funciona bien con carga ligera, pero luego las sesiones a través de un pool PAT que ya funcionaba empiezan a fallar intermitentemente o a descartarse a medida que crece el tráfico.
CAUSAEl modo PAT permite que una sola IP pública supere su límite bruto de 63,488 sesiones mediante la reutilización de puertos, pero la probabilidad de un conflicto de puertos aumenta con la tasa de reutilización. La práctica de campo generalmente lo mantiene en aproximadamente 200,000 sesiones por IP pública como límite de trabajo, muy por debajo de cualquier máximo teórico.
SOLUCIÓNRevise display nat port conflict en busca de un historial de conflictos creciente antes de asumir que la configuración del pool en sí está mal; si una sola IP pública está genuinamente sobrecargada, agregue más direcciones al pool o divida el tráfico entre IP públicas adicionales.
[sysname-diagnose] display nat port conflict
The history data of port conflict, Slot: 1 CPU: 0
2015-11-19 16:03:53 vsys:public protocol:17
192.168.1.1:2048[10.2.2.2:23878]-->8.8.8.8:53
pool:addressgroup1 porthash:**********
SÍNTOMAUn mapeo NAT que ha funcionado de forma confiable durante mucho tiempo deja de funcionar de repente, a menudo en un firewall de doble salida, sin ningún cambio de configuración en el lado de NAT o enrutamiento.
CAUSAUna función anti-ataque — la detección de suplantación de IP es una común — puede empezar a descartar silenciosamente paquetes que activan su heurística, sin ningún síntoma a nivel de NAT o de sesión que señalar directamente. Desde afuera, se presenta de forma idéntica a una falla de NAT o enrutamiento.
SOLUCIÓNRevise display firewall statistic system discard en busca de un conteo de descartes ATK en aumento antes de dedicar más tiempo a una configuración de NAT o de tabla de sesiones que ya es correcta; desactive o ajuste la función anti-ataque específica una vez confirmado, en lugar de dejar el anti-ataque desactivado por completo.
<sysname> display firewall statistic system discard
Discard statistic information:
IP header field invalid packets discarded:5
TCP session miss packets discarded:7
ATK packets discarded:77
Sacadas directamente del campo — las que vale la pena tener una respuesta lista.
Confirme primero la alcanzabilidad de la ruta, luego revise si la security-policy realmente permite el tráfico con display security-policy rule y su conteo de HITS. Una sesión que nunca se creó casi siempre significa que el paquete nunca llegó al dispositivo, o fue denegado antes de que pudiera siquiera construirse una sesión — no un error de la tabla de sesiones.
Significa que el tráfico está coincidiendo con otra cosa — una regla diferente de mayor prioridad, o la regla implícita por defecto — antes de llegar siquiera a la regla que está observando. Revise el orden de las reglas y refine las condiciones de coincidencia; una regla con un conteo de hits atascado en cero rara vez está “rota”, generalmente simplemente no es la regla que realmente se está evaluando.
Esto solo aplica al tráfico intrazona y al tráfico de gestión de zona Local bajo service-manage. El tráfico intrazona todavía es evaluado por el motor de políticas pero no muestra un nombre de política coincidente bajo el comportamiento predeterminado de filtrado de paquetes a menos que exista una regla detallada; el tráfico service-manage hacia el propio dispositivo omite por completo el motor de políticas por diseño. Ninguno de los dos es un error — ambos son comportamiento predeterminado documentado.
Ninguna sesión en absoluto en display firewall session table verbose significa que el tráfico nunca pasó de la capa de política — revise los hits antes que nada. Una sesión que sí existe, con los contadores de paquetes/bytes de una dirección atascados en 0 mientras la otra se mueve, significa que la política ya dejó pasar el tráfico y el problema real es enrutamiento asimétrico o un descarte aguas abajo — no es en absoluto un problema de política, y no vale la pena volver a tocar la configuración de la política por eso.
Una vez que los comandos display le han dicho en qué etapa está atascado pero no por qué — por ejemplo, una negociación IKE que display ike sa muestra como ausente, sin una razón clara del lado de la política o el enrutamiento. Habilite primero terminal monitor y terminal debugging, luego ejecute el comando de debugging específico para esa función (debugging ikev1 all, debugging ipsec all, etc.) junto con una captura de paquetes acotada, y exporte un paquete de diagnóstico completo con display diagnostic-information y save logfile all antes de escalar.
Esta nota se basa en el conjunto de comandos de tabla de sesiones, security-policy y NAT del firewall Huawei serie USG, además de los casos de falla de campo que los respaldan. No cubre fallas a nivel de perfil UTM (IPS, antivirus, filtrado de URL como funciones de inspección de contenido en lugar de coincidencia de políticas), casos límite de conmutación de alta disponibilidad/activo-activo, ni en profundidad la herencia de políticas específica de sistemas virtuales (vsys) — esos temas tienen un alcance lo suficientemente diferente como para merecer su propio tratamiento.
Cuéntenos en qué etapa está atascado — política, tabla de sesiones o NAT — junto con la salida de display security-policy / display firewall session table, y le ayudamos a interpretarla.