Troubleshooting Routing
Contenido complementario
Este tema no está en las notas de tus cursos que tengo (la lección de Troubleshooting Routing de PCNSE está pendiente de ver); está completado con conocimiento general de PAN-OS. Compáralo con lo que veas en la lección y corrígelo si difiere.
Resumen
Un problema de enrutamiento se manifiesta como “no hay conexión con tal red” o “sale por el ISP equivocado”. Antes de tocar nada, hay que responder cuatro preguntas: ¿el firewall tiene una ruta hacia el destino?, ¿es la ruta que esperas (la mejor, con el siguiente salto correcto y por la interfaz correcta)?, ¿el siguiente salto responde (ARP, ping)?, y ¿la respuesta vuelve por el mismo camino? El firewall mantiene dos tablas relacionadas: la RIB (todas las rutas candidatas aprendidas por cualquier fuente) y la FIB (las rutas efectivamente instaladas y usadas para reenviar). Una ruta puede estar en la RIB y no en la FIB (por ejemplo, porque otra es mejor, o porque la interfaz está caída).
Esta nota da un procedimiento paso a paso para diagnosticar rutas estáticas, dinámicas (OSPF, BGP, RIP), Path Monitoring, PBF y rutas asimétricas, con los comandos exactos y qué significan sus resultados. Se apoya en Static Routing y Path Monitoring, Dynamic Routing, ECMP y PBF y en el Troubleshooting Toolkit.
Requisitos previos
- Los datos del problema: IP de origen, IP de destino, zona de entrada y de salida esperadas
- Conocer la topología (next hops, vecinos, qué Virtual Router) (ver Lab PCNSA (curso) y Lab Network Security Engineering (curso))
- Haber leído el Troubleshooting Toolkit y Packet Flow y Sessions (la consulta de ruta ocurre antes de NAT y de la política)
- Acceso CLI y GUI (ver CLI y Config Management)
- Saber las Administrative Distances por defecto (ver Static Routing y Path Monitoring)
Procedimiento
graph TD A["¿Existe ruta al destino?<br/>show routing route destination X"] -- No --> A1["Revisa interfaces, VR, rutas estáticas,<br/>vecinos dinámicos"] A -- Sí --> B["¿Es la ruta esperada?<br/>(interfaz, next hop, métrica, flags)"] B -- No --> B1["Compara AD y métricas,<br/>PBF, ECMP, Path Monitoring"] B -- Sí --> C["¿El next hop responde?<br/>show arp, ping source"] C -- No --> C1["Revisa capa 2, VLAN, cable,<br/>IP del next hop"] C -- Sí --> D["¿Vuelve la respuesta?<br/>show session id: s2c, captura"] D -- No --> D1["Ruta de retorno, asimetría,<br/>Security Policy y NAT"]
Paso 1: ¿Existe una ruta al destino?
show routing route
show routing route destination 8.8.8.8
show routing summary
test routing fib-lookup virtual-router default ip 8.8.8.8
Los flags de show routing route:
| Flag | Significado |
|---|---|
A | Activa (instalada y usada) |
? | Perdida o no confirmada (loose) |
C | Conectada |
S | Estática |
R | RIP |
O | OSPF |
B | BGP |
H | Host |
E | ECMP |
Si no hay ruta: ¿la interfaz de salida está arriba (show interface all)? ¿Pertenece al Virtual Router correcto? ¿Existe la ruta estática o el vecino dinámico?
Paso 2: ¿Es la ruta que esperas?
show routing route destination <IP>muestra la ruta ganadora: interfaz, next hop, métrica y flags.- Longest match primero: gana el prefijo más específico (por ejemplo
/24sobre/0), antes de comparar AD o métrica. - Entre rutas del mismo prefijo: gana la AD menor, y entre iguales, la métrica menor.
show routing fibmuestra lo realmente instalado; si la ruta está en la RIB y no en la FIB, mira la interfaz y el estado de Path Monitoring.- Descarta PBF:
show running pbf-policyo Policies > Policy Based Forwarding. PBF gana a la tabla de rutas para el tráfico que coincide. - Si hay ECMP, el tráfico se reparte entre las rutas de igual costo (ver Dynamic Routing, ECMP y PBF).
Paso 3: ¿Responde el siguiente salto?
show arp all
show arp interface ethernet1/6
ping source 23.1.2.15 host 23.1.2.1
Si no hay entrada ARP del next hop, el problema es de capa 2 (cable, VLAN, el equipo vecino, IP mal escrita). Un ping con source de esa interfaz comprueba la conexión directa.
Paso 4: ¿Vuelve la respuesta?
show session all filter source 10.10.0.20 destination 8.8.8.8
show session id <n>
En la sesión busca el flujo s2c: si no hay paquetes en s2c, la respuesta no llegó. Revisa la ruta de retorno en el destino y en los equipos intermedios. Con doble ISP, la respuesta puede volver por otro ISP si el destino no sabe cómo regresar (el NAT debe corresponder con la interfaz de salida; ver Source NAT).
Paso 5: Path Monitoring
show routing path-monitor
Si un destino monitoreado aparece Down, la ruta se retira de la FIB y entra la de respaldo. Comprueba: ¿el destino responde a ping source <IP-origen-del-monitor> host <destino>? ¿La regla de Security Policy permite el ping desde la zona del firewall? ¿La condición (Any/All) es la deseada?
Paso 6: Vecinos dinámicos
OSPF:
show routing protocol ospf neighbor
show routing protocol ospf interface
show routing protocol ospf lsdb
BGP:
show routing protocol bgp peer
show routing protocol bgp loc-rib
show routing protocol bgp rib-out
RIP:
show routing protocol rip database
show routing protocol rip interface
Los vecinos no suben normalmente por: parámetros que no coinciden (Area, timers, autenticación, AS), MTU, o una regla de Security Policy que no permite la aplicación (ospf, bgp, rip) en el sentido necesario (ver Security Policy Fundamentals).
Paso 7: Rutas asimétricas
Cuando ida y vuelta usan caminos distintos, el firewall puede ver solo un lado de la sesión; el síntoma típico es que TCP no completa el handshake o aparecen aplicaciones incomplete. Revisa:
- La ruta de retorno en los routers de destino.
- Si hay NAT por interfaz distinta de la que usó la ida.
- Las opciones de Zone Protection que descartan “non-SYN TCP” o “asymmetric path” (ver Zones, Zone Protection y DoS Protection).
Verificación
| Comando o lugar | Qué debes ver | Si no lo ves |
|---|---|---|
show routing route destination <IP> | Una ruta con flag A hacia la interfaz y next hop esperados | Si no hay ruta o es otra, aplica los pasos 1 y 2 |
test routing fib-lookup virtual-router default ip <IP> | La interfaz y el next hop elegidos para reenviar | Si difiere de show routing route, la FIB no tiene la ruta |
show arp interface <if> | Entrada ARP del next hop con su MAC | Si falta, falla la capa 2 |
ping source <IP-if> host <next-hop> | Respuestas | Si no, revisa el vecino y la conexión |
show routing path-monitor | Destinos en Up | Si Down, la ruta con Path Monitoring puede haberse retirado |
show routing protocol ospf neighbor / bgp peer | Vecinos en Full / Established | Si no, revisa parámetros y la Security Policy |
show session id <n> | Flujos c2s y s2c con paquetes en ambos | Si no hay s2c, falla el retorno |
| Monitor > Logs > System | Cambios de vecinos y rutas | Muestra cuándo cayó o volvió |
Errores comunes
No hay ruta al destino
- Causa: falta la ruta estática o el vecino dinámico no aprende ese prefijo, o la interfaz no está en el Virtual Router.
- Solución: agrega la ruta o corrige el protocolo y asigna la interfaz al VR.
La ruta existe pero el tráfico sale por otro ISP
- Causa: otra ruta con prefijo más específico, menor AD o menor métrica; o PBF.
- Solución: revisa el orden de preferencia y quita o ajusta la que gana.
La ruta no está activa tras caer un ISP
- Causa: el Path Monitoring no está configurado o el destino monitoreado sigue respondiendo por otro camino.
- Solución: configura el monitoreo con un destino representativo (ver Static Routing y Path Monitoring).
El tráfico se rompe al activar ECMP
- Causa: sesiones asimétricas o NAT inconsistente entre salidas.
- Solución: activa Symmetric Return y asegúrate de que cada salida tenga NAT y Security Policy.
Un vecino OSPF o BGP no sube
- Causa: parámetros distintos, MTU, autenticación o regla de seguridad.
- Solución: compara ambos lados, permite la aplicación y vuelve a probar.
Después de un cambio de ruta, las sesiones viejas siguen usando el camino anterior
- Causa: las sesiones existentes no se reevalúan.
- Solución:
clear session all filter source <IP>.
Una interfaz se ve activa pero no hay ARP del vecino
- Causa: VLAN, cable o IP del vecino incorrectos, o el vecino bloquea ARP.
- Solución: revisa la capa 2 y prueba con otro equipo en esa red.