Se observan todos estos síntomas:
Falla de traceroute: Los comandos de traceroute iniciados directamente desde el dispositivo Cisco Firewall Threat Defence (FTD) devuelven de forma uniforme sólo * * * para todos los saltos cuando tienen como objetivo direcciones IP externas.
Conectividad satisfactoria: Las pruebas de ping ICMP al mismo destino se realizan correctamente y el tráfico ICMP está permitido explícitamente en la política de control de acceso.
Este comportamiento impide la visibilidad de los saltos de ruta para el tráfico que se origina en el dispositivo FTD, lo que afecta a los esfuerzos de resolución de problemas de la ruta de red.
El ping al destino funciona:
firepower# ping 192.168.203.89 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.203.89, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/10 ms
Pero traceroute no es:
firepower# traceroute 192.168.203.89 Type escape sequence to abort. Tracing the route to 192.168.203.89 1* * * 2* * * 3* * * ... 30* * * firepower#
Cisco Secure Firewall Threat Defence (FTD).
Primera vez observada en: 7.4, 7.4.2.3, 7.6.2. Otras versiones también podrían verse afectadas.
Cisco Secure Firewall Management Center (FMC / cdFMC / FDM) para la gestión.
Reglas NAT estáticas en uso, incluidas las configuraciones bidireccionales.
Comandos de traceroute ejecutados desde la CLI de FTD (modo de línea).
ICMP permitido en la política de control de acceso.
inline_image_0.png
Las posibles soluciones dependen del propósito de la regla NAT configurada.
Si el objetivo era traducir la IP del servidor interno sólo para el acceso saliente, puede configurar la regla NAT como unidireccional.
En FMC esto se puede hacer desde las opciones avanzadas de la regla NAT:
inline_image_0.pngLa configuración de NAT implementada:
firepower# show run nat nat (INSIDE,OUTSIDE) source static server_host interface unidirectional firepower#
firepower# traceroute 192.168.203.89 Type escape sequence to abort. Tracing the route to 192.168.203.89 1 192.168.201.88 2 msec 2 msec 2 msec 2 192.168.203.89 1 msec * 1 msec
Si el objetivo es que el servidor interno sea accesible desde el exterior, puede hacer que la regla NAT sea más específica mediante la configuración del reenvío de puertos:
inline_image_0.pngLa configuración de NAT implementada:
firepower# show run nat nat (INSIDE,OUTSIDE) source static server_host interface service SVC_25769850586 SVC_25769850587
firepower# traceroute 192.168.203.89 Type escape sequence to abort. Tracing the route to 192.168.203.89 1 192.168.201.88 2 msec 2 msec 2 msec 2 192.168.203.89 1 msec * 1 msec
El firewall envía un mensaje de solicitud de eco (ICMP tipo 8 código 0).
Se crea una nueva conexión de firewall para ICMP.
El firewall recibe un mensaje de respuesta de eco (ICMP tipo 0 código 0).
El mensaje coincide con la conexión creada en el paso 2.
El firewall consume el mensaje de respuesta de eco.
El firewall envía tres paquetes UDP que parten de los puertos 33434, 33435 y 33436 hacia el destino con TTL 1.
Se crea una nueva conexión de firewall para UDP.
El firewall recibe un ICMP TTL superado en tránsito (tipo 11 código 0) o un puerto ICMP inalcanzable (tipo 3 código 3).
Una vez que los paquetes ICMP llegan al firewall, se tratan como conexiones diferentes a los paquetes UDP del paso 2.
Esto se puede ver en Wireshark:
inline_image_0.png
Habilite las capturas de paquetes en la interfaz de salida del firewall con seguimiento para ver cómo el firewall trata los paquetes de entrada:
firepower# capture CAPI trace interface OUTSIDE match ip host 192.168.203.89 host 192.168.201.100
Prueba con ping:
firepower# ping 192.168.203.89 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.203.89, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
A continuación, pruebe con traceroute:
firepower# traceroute 192.168.203.89 Type escape sequence to abort. Tracing the route to 192.168.203.89 1* * * 2* * * 3* * * 4* * * 5* * * 6* * * 7* * * …
Verifique el contenido de la captura:
Los paquetes 1-10 están relacionados con la prueba ICMP ping.
Los paquetes 11-16 están relacionados con traceroute. Las respuestas son del primer salto.
Los paquetes 17-28 también están relacionados con traceroute. Las respuestas provienen del punto final de destino.
firepower# show capture CAPI 190 packets captured 1: 13:50:27.345471 802.1Q vlan#201 P0 192.168.201.200 > 192.168.203.89 icmp: echo request 2: 13:50:27.345975 802.1Q vlan#201 P0 192.168.203.89 > 192.168.201.200 icmp: echo reply 3: 13:50:27.346219 802.1Q vlan#201 P0 192.168.201.200 > 192.168.203.89 icmp: echo request 4: 13:50:27.346600 802.1Q vlan#201 P0 192.168.203.89 > 192.168.201.200 icmp: echo reply 5: 13:50:27.346814 802.1Q vlan#201 P0 192.168.201.200 > 192.168.203.89 icmp: echo request 6: 13:50:27.347165 802.1Q vlan#201 P0 192.168.203.89 > 192.168.201.200 icmp: echo reply 7: 13:50:27.347378 802.1Q vlan#201 P0 192.168.201.200 > 192.168.203.89 icmp: echo request 8: 13:50:27.347714 802.1Q vlan#201 P0 192.168.203.89 > 192.168.201.200 icmp: echo reply 9: 13:50:27.347928 802.1Q vlan#201 P0 192.168.201.200 > 192.168.203.89 icmp: echo request 10: 13:50:27.348279 802.1Q vlan#201 P0 192.168.203.89 > 192.168.201.200 icmp: echo reply 11: 13:50:33.229724 802.1Q vlan#201 P0 192.168.201.200.49168 > 192.168.203.89.33434: udp 0 12: 13:50:33.232562 802.1Q vlan#201 P0 192.168.201.88 > 192.168.201.200 icmp: time exceeded in-transit 13: 13:50:36.220279 802.1Q vlan#201 P0 192.168.201.200.49168 > 192.168.203.89.33435: udp 0 14: 13:50:36.222827 802.1Q vlan#201 P0 192.168.201.88 > 192.168.201.200 icmp: time exceeded in-transit 15: 13:50:39.220172 802.1Q vlan#201 P0 192.168.201.200.49168 > 192.168.203.89.33436: udp 0 16: 13:50:39.222675 802.1Q vlan#201 P0 192.168.201.88 > 192.168.201.200 icmp: time exceeded in-transit 17: 13:50:42.220157 802.1Q vlan#201 P0 192.168.201.200.49168 > 192.168.203.89.33437: udp 0 18: 13:50:42.220737 802.1Q vlan#201 P0 192.168.203.89 > 192.168.201.200 icmp: 192.168.203.89 udp port 33437 unreachable 19: 13:50:45.220264 802.1Q vlan#201 P0 192.168.201.200.49168 > 192.168.203.89.33438: udp 0 20: 13:50:45.220752 802.1Q vlan#201 P0 192.168.203.89 > 192.168.201.200 icmp: 192.168.203.89 udp port 33438 unreachable 21: 13:50:48.220157 802.1Q vlan#201 P0 192.168.201.200.49168 > 192.168.203.89.33439: udp 0 22: 13:50:48.220645 802.1Q vlan#201 P0 192.168.203.89 > 192.168.201.200 icmp: 192.168.203.89 udp port 33439 unreachable 23: 13:50:51.220157 802.1Q vlan#201 P0 192.168.201.200.49168 > 192.168.203.89.33440: udp 0 24: 13:50:51.220645 802.1Q vlan#201 P0 192.168.203.89 > 192.168.201.200 icmp: 192.168.203.89 udp port 33440 unreachable 25: 13:50:54.220264 802.1Q vlan#201 P0 192.168.201.200.49168 > 192.168.203.89.33441: udp 0 26: 13:50:54.220752 802.1Q vlan#201 P0 192.168.203.89 > 192.168.201.200 icmp: 192.168.203.89 udp port 33441 unreachable 27: 13:50:57.220157 802.1Q vlan#201 P0 192.168.201.200.49168 > 192.168.203.89.33442: udp 0 28: 13:50:57.220645 802.1Q vlan#201 P0 192.168.203.89 > 192.168.201.200 icmp: 192.168.203.89 udp port 33442 unreachable
Rastree los paquetes ICMP de ingreso de la prueba de ping.
El paquete #2 es la respuesta a la solicitud de ping ICMP enviada en el paquete #1.
firepower# show capture CAPI packet-number 2 trace 190 packets captured 2: 13:50:27.345975 802.1Q vlan#201 P0 192.168.203.89 > 192.168.201.200 icmp: echo reply … Phase: 4 Type: FLOW-LOOKUP Subtype: Result: ALLOW Elapsed time: 488 ns Config: Additional Information: Found flow with id 143799, using existing flow … Phase: 6 Type: ADJACENCY-LOOKUP Subtype: Resolve Nexthop IP address to MAC Result: ALLOW Elapsed time: 1952 ns Config: Additional Information: Found adjacency entry for Next-hop 0.0.0.0 on interface identity Adjacency :Active MAC address 0000.0000.0000 hits 483359 reference 2 Result: input-interface: OUTSIDE(vrfid:0) input-status: up input-line-status: up output-interface: NP Identity Ifc Action: allow Time Taken: 18056 ns 1 packet shown
Los puntos clave del seguimiento son:
El paquete coincidió con un flujo existente.
La interfaz de salida es el propio firewall (interfaz de identidad).
Rastree los paquetes ICMP de ingreso desde la prueba de traceroute.
El paquete #12 es la respuesta del host de tránsito:
firepower# show capture CAPI packet-number 12 trace 190 packets captured 12: 13:50:33.232562 802.1Q vlan#201 P0 192.168.201.88 > 192.168.201.200 icmp: time exceeded in-transit Phase: 3 Type: UN-NAT Subtype: static Result: ALLOW Elapsed time: 6344 ns Config: nat (INSIDE,OUTSIDE) source static server_host interface Additional Information: NAT divert to egress interface INSIDE(vrfid:0) Untranslate 192.168.201.200/49168 to 192.168.200.50/49168 Phase: 7 Type: ACCESS-LIST Subtype: Result: ALLOW Elapsed time: 97 ns Config: access-group CSM_FW_ACL_ global access-list CSM_FW_ACL_ advanced permit ip any any rule-id 268436480 access-list CSM_FW_ACL_ remark rule-id 268436480: ACCESS POLICY: mzafeiro_empty - Default access-list CSM_FW_ACL_ remark rule-id 268436480: L4 RULE: DEFAULT ACTION RULE Additional Information: This packet will be sent to snort for additional processing where a verdict will be reached ... Phase: 18 Type: FLOW-CREATION Subtype: Result: ALLOW Elapsed time: 16104 ns Config: Additional Information: New flow created with id 143805, packet dispatched to next module ... Phase: 20 Type: SNORT Subtype: identity Result: ALLOW Elapsed time: 39496 ns Config: Additional Information: user id: no auth, realm id: 0, device type: 0, auth type: invalid, auth proto: basic, username: none, AD domain: none, src sgt: 0, src sgt type: unknown, dst sgt: 0, dst sgt type: unknown, abp src: none, abp dst: none, location: none Result: input-interface: OUTSIDE(vrfid:0) input-status: up input-line-status: up output-interface: INSIDE(vrfid:0) output-status: up output-line-status: up Action: allow Time Taken: 158341 ns
El paquete forma parte de una nueva conexión (no coincide con un flujo existente).
El paquete está sujeto a la Traducción de direcciones de red (específicamente, la NAT-UN significa NAT de destino).
El paquete se trata como tráfico de tránsito de firewall y está sujeto a la política de control de acceso (ACP) y a la inspección de Snort.
La interfaz de salida (salida) es INSIDE. Esto se debe a la traducción NAT.
En este caso, el problema es causado por esta regla de NAT estática:
firepower# show run nat nat (INSIDE,OUTSIDE) source static server_host interface
| Revisión | Fecha de publicación | Comentarios |
|---|---|---|
2.0 |
22-Apr-2026
|
Todo el texto, formato. |
1.0 |
09-Apr-2026
|
Versión inicial |