Dynamic Routing, ECMP y PBF
Contenido complementario
Las secciones de ECMP y de Policy Based Forwarding (PBF) no están en las notas de tus cursos que tengo; están completadas con conocimiento general de PAN-OS. Compáralas con lo que viste en la lección y corrígelas si difieren.
Resumen
Las rutas estáticas funcionan bien en redes pequeñas, pero cuando hay muchas redes o varios routers, mantenerlas a mano es inviable. Un protocolo de enrutamiento dinámico (RIP, OSPF, BGP) permite que el firewall y los routers vecinos intercambien rutas automáticamente y se adapten a cambios. El firewall participa como un router más: forma “vecindades” con otros routers, aprende sus rutas y anuncia las suyas.
Además hay dos herramientas para controlar por dónde sale el tráfico. ECMP (Equal Cost Multi-Path) reparte el tráfico entre varias rutas de igual costo, para aprovechar más de un enlace. PBF (Policy Based Forwarding) decide la salida según una regla (origen, aplicación, usuario…) en lugar de la tabla de rutas, por ejemplo “el tráfico de la aplicación X sale por el ISP B”. Esta nota cubre la configuración básica de RIP, OSPF y BGP, ECMP, PBF y cómo comprobar los vecinos y las rutas aprendidas.
Requisitos previos
- Interfaces Layer 3 con IP y Virtual Router (ver L3 Interfaces, Subinterfaces y DHCP)
- Conocimiento de la topología del vecino: su IP, el protocolo, el área (OSPF), el AS (BGP) o el modo de la interfaz (RIP en PAN-OS es solo v2) (ver Lab PCNSA (curso))
- Conectividad directa con el vecino y una regla de Security Policy que permita el protocolo entre las zonas (RIP, OSPF y BGP son aplicaciones que se pueden permitir) (ver Security Policy Fundamentals)
- Para OSPF y RIP: la interfaz debe estar en el protocolo con el mismo tipo de red y parámetros que el vecino
- Para BGP: los números de AS, el Router ID y la IP del peer alcanzable
- Para PBF: saber el next hop y la interfaz de salida, y una IP de monitoreo si quieres conmutar si falla
Conceptos clave
| Concepto | Qué es |
|---|---|
| RIP | Protocolo por vector de distancia; métrica = saltos (máx. 15); sencillo, para redes pequeñas |
| OSPF | Protocolo de estado de enlace; usa áreas (el área 0 es el backbone); converge rápido |
| BGP | Protocolo entre sistemas autónomos (AS); base de Internet y de redes grandes |
| Router ID | Identificador único del router en OSPF y BGP |
| Redistribution Profile | Reglas para pasar rutas de un origen (estáticas, conectadas, otro protocolo) a otro |
| ECMP | Reparte tráfico entre rutas de igual costo |
| PBF | Reenvío según regla, antes de consultar la tabla de rutas |
graph LR FW["Firewall<br/>VR default"] -- "OSPF área 0" --- R1["Router vecino 1"] FW -- "BGP AS 65001 a AS 65002" --- R2["Router ISP"] FW -- "RIP v2" --- R3["Router vecino 3"] R1 --- NET["Redes aprendidas<br/>entran a la tabla de rutas"]
Configuración (Ejemplo, Lab PCNSA)
1. RIP
- Network > Virtual Routers >
default> RIP. - Marca Enable. Opcional: Reject Default Route (por defecto activado).
- Interfaces > Add: la interfaz (por ejemplo
ethernet1/1), Enable, Modenormal, y opcionalmente Advertise Default Route. - Auth Profiles (opcional): contraseña o MD5 para autenticar a los vecinos.
- OK y Commit.
- Crea la regla de Security Policy para la aplicación
ripentre las zonas del vecino.
2. OSPF
- Network > Virtual Routers >
default> OSPF. - Marca Enable y define el Router ID (por ejemplo
10.10.0.15). - Areas > Add: Area ID
0.0.0.0(backbone), TypeNormal. - En el área, pestaña Interface > Add: la interfaz (
ethernet1/1), Enable, Passive (si no debe formar vecinos, solo anunciar la red), Link Type (broadcast,p2pop2mp), Metric, y los timers (Hello Interval 10 s, Dead Counts 4 por defecto; deben coincidir con el vecino). - Auth Profile (opcional) con contraseña o MD5.
- OK y Commit.
- Crea la regla de Security Policy para la aplicación
ospfentre las zonas.
Tipos de área: Normal, Stub, NSSA. Un Stub no recibe rutas externas; un NSSA permite redistribución local.
set network virtual-router default protocol ospf router-id 10.10.0.15 enable yes
set network virtual-router default protocol ospf area 0.0.0.0 interface ethernet1/1 enable yes
commit
Si un comando no coincide con tu versión, usa Tab o ?.
3. BGP
- Network > Virtual Routers >
default> BGP. - Marca Enable, Router ID (por ejemplo
23.1.2.15) y AS Number (por ejemplo65001). - Peer Group > Add: Name
ISP-A, TypeEBGP(oIBGP). - En el grupo > Peer > Add: Name
isp-a-peer, Peer AS65002, Local Address (interfaz y IP, por ejemploethernet1/623.1.2.15/24), Peer Address (23.1.2.1). - Opcional: Import/Export rules, Auth Profile, Multi Hop (si el peer no está directamente conectado, necesario con eBGP a loopback), timers.
- Marca Install Route en BGP > General: sin esa opción las rutas aprendidas por BGP no se instalan en la tabla de rutas. (Reject Default Route viene activado: ignora la
0.0.0.0/0anunciada por los peers.) - OK y Commit.
- Crea la regla de Security Policy para la aplicación
bgp.
Para anunciar redes propias por BGP: BGP > Redist Rules > Add y elige el Redistribution Profile; las Export Rules de BGP solo filtran lo anunciado a cada peer group.
4. Redistribution Profile (compartir rutas entre orígenes)
- Network > Virtual Routers >
default> Redistribution Profiles > Add (en la lista de perfiles IPv4). - Name
static-to-ospf, Priority, RedistributeRedist, Source Typestatic(oconnected,ospf,bgp,rip), y filtros por destino o interfaz. - Aplícalo: en OSPF > Export Rules o RIP > Export Rules (o en BGP > Redist Rules) > Add y elige el perfil.
- Commit.
Sin redistribución, las rutas estáticas o de otro protocolo no se anuncian por defecto.
5. ECMP
- Network > Virtual Routers >
default> Router Settings > ECMP. - Marca Enable, y elige el método de reparto:
IP Modulo,IP Hash,Weighted Round RobinoBalanced Round Robin. - Max Path: cuántas rutas iguales usar (2 a 4).
- Opcional: Symmetric Return (el retorno sale por la misma interfaz por la que entró), Strict Source Path.
- OK y Commit.
- Debe haber al menos dos rutas al mismo destino, con la misma métrica y AD, por ejemplo dos rutas por defecto con métrica
10por interfaces distintas.
El cambio de ECMP puede requerir reiniciar el Virtual Router (la GUI avisa), con corte breve.
6. Policy Based Forwarding (PBF)
- Policies > Policy Based Forwarding > Add. Name
app-via-isp-b. - Source: Source Zone o Source Interface (por ejemplo
inside), Source Address, Source User. - Destination/Application/Service: la aplicación o destino a desviar.
- Forwarding: Action
Forward, Egress Interfaceethernet1/7, Next HopIP Address24.1.2.1. - Monitor (opcional): Profile
Wait RecoveroFail Over, y una IP de destino para saber si el camino sigue vivo. - Enforce Symmetric Return (opcional): fuerza el retorno por el mismo camino.
- OK y Commit.
Otras Actions de PBF: Discard (descarta) y No PBF (excluye ese tráfico de PBF para que use la tabla de rutas normal).
PBF y el orden
PBF se evalúa antes que la tabla de rutas, pero solo para el primer paquete de la sesión; el resto sigue el camino de la sesión. Aun así, necesitas Security Policy y NAT correctos para la interfaz de salida elegida.
Verificación
| Comando o lugar | Qué debes ver | Si no lo ves |
|---|---|---|
show routing protocol ospf neighbor | Vecinos en estado Full | Si está en Init o ExStart/Exchange (o en 2-Way con un vecino que debería ser DR/BDR), revisa el área, timers, MTU y autenticación |
show routing protocol ospf interface | Interfaces activas con área y estado | Si no aparece, la interfaz no está habilitada en OSPF |
show routing protocol bgp peer | Peer en estado Established | Si está en Active o Idle, revisa IP, AS, puerto 179 y regla |
show routing protocol bgp loc-rib | Rutas aprendidas por BGP | Si está vacío, no hay rutas aceptadas por las import rules |
show routing protocol rip database | Rutas RIP aprendidas | Si está vacío, revisa autenticación, interfaz y regla |
show routing route | Las rutas con su origen (flags O, B, R, S, C) | Si falta una, no se aprendió o hay una de menor AD |
show routing fib | Rutas instaladas en la FIB | Si la RIB tiene la ruta y la FIB no, mira ECMP y el estado de la interfaz |
show routing summary | Resumen de rutas por protocolo | Útil para ver si aumentan al activar el protocolo |
show pbf rule all (o show running pbf-policy; verificar con Tab o ?) | Reglas PBF activas y su estado | Si no aparecen, falta commit o la regla está deshabilitada |
| Monitor > Logs > Traffic | La interfaz de salida usada por la sesión | Si no es la esperada, PBF o la ruta no coinciden |
| Monitor > Logs > System | Cambios de vecinos y de rutas | Útil para saber cuándo cayó un vecino |
Errores comunes
El vecino OSPF no llega a Full
- Causa: Area ID, Hello/Dead timers, tipo de red, autenticación o MTU no coinciden; o la Security Policy no permite
ospf. - Revisa:
show routing protocol ospf neighbory Monitor > Logs > Traffic (tráfico denegado). - Solución: alinea los parámetros con el vecino y permite la aplicación
ospfen ambos sentidos entre las zonas.
La sesión BGP no se establece
- Causa: IP o AS del peer incorrectos, el puerto TCP 179 bloqueado, el Local Address no coincide con lo que el vecino espera, o falta Multi Hop si no están directamente conectados.
- Revisa:
show routing protocol bgp peery la regla debgp. - Solución: corrige los datos, permite la aplicación
bgpy confirma la configuración espejo en el vecino.
Se aprenden rutas pero no se instalan o no se usan
- Causa: hay otra ruta con menor AD o métrica; la ruta aprendida no pasa las import rules; en BGP no está marcado Install Route.
- Revisa:
show routing routey las AD (ver Static Routing y Path Monitoring). - Solución: ajusta AD o métricas y revisa las reglas de importación.
Mis rutas no se anuncian a los vecinos
- Causa: no hay redistribución ni export rule; la red no está en una interfaz habilitada en el protocolo.
- Solución: habilita la interfaz en el protocolo o crea un Redistribution Profile y aplícalo.
El tráfico se rompe después de activar ECMP
- Causa: ECMP puede hacer que ida y vuelta usen caminos distintos, y el NAT o la política por interfaz rompe las sesiones asimétricas.
- Solución: activa Symmetric Return, asegúrate de que haya NAT/Security Policy coherentes para todas las salidas y prueba con tráfico real.
PBF no desvía el tráfico
- Causa: la regla no coincide (zona, origen, aplicación), o el tráfico ya tiene sesión, o falta un
No PBFprevio que lo excluye. - Revisa: orden de reglas PBF y la sesión (
show session id <n>). - Solución: ajusta la regla; para probar, borra la sesión con
clear session all filter source <IP>.
Tras conmutar con PBF las sesiones fallan
- Causa: el NAT por la otra interfaz no existe o la Security Policy no contempla esa zona de salida.
- Solución: crea NAT y reglas para cada interfaz de salida (ver Source NAT).
El firewall aprende una ruta por defecto que no quiero
- Causa: un vecino anuncia
0.0.0.0/0y el firewall la acepta. - Solución: usa Reject Default Route (RIP) o filtros de importación en BGP/OSPF.