En este artículo se aborda un problema de enrutamiento que puede surgir al implementar ADVPN con OSPF, el cual es irrelevante para ADVPN con BGP. Específicamente, el problema puede ocurrir cuando hay al menos tres FortiGates Spoke que han establecido atajos de ADVPN de forma encadenada (es decir, Spoke_A tiene un atajo a Spoke_B, y Spoke_B tiene un atajo a Spoke_C). Este problema es importante de resolver para asegurar un enrutamiento eficiente y evitar la pérdida de paquetes en la red.
Índice
Descripción del problema
ADVPN puede utilizar OSPF en lugar de BGP para manejar anuncios de enrutamiento dinámicos entre los diferentes Hub(s) y Spokes de la red. Ambos protocolos abordan esta tarea de manera diferente:
- ADVPN con BGP utiliza iBGP Route-Reflection, de forma que los Spokes solo establecen emparejamientos BGP con el Hub FortiGate. El Hub refleja estas rutas al resto de la red de Spokes de ADVPN, permitiendo que todos los Spokes sepan cómo alcanzarse entre sí sin necesidad de formar una red de emparejamiento completa.
- En cambio, ADVPN con OSPF da lugar a la formación de adyacencias OSPF siempre que existan enlaces de red entre los FortiGates. Al principio, los Spokes solo tendrán adyacencias con el Hub FortiGate, pero una vez que se forma un túnel de atajo, el Spoke también tendrá adyacencias con otros Spokes. Esto permite que los Spokes anuncien rutas directamente entre ellos, utilizando el costo para determinar la mejor ruta a un destino dado.
Entendiendo el Problema
Considera la siguiente topología de ejemplo:
- El Hub FortiGate tiene configurado un único túnel de ADVPN con OSPF. Spoke_A, Spoke_B y Spoke_C se conectan a ese túnel.
- En este estado inicial, cada Spoke tendrá una única adyacencia OSPF correspondiente a la conexión con el Hub, y todos los caminos para alcanzar otros Spokes requerirán viajar a través del Hub.
- Supongamos que el costo OSPF para la interfaz del túnel ADVPN está configurado en 1 para cada FortiGate.
Más tarde, Spoke_A envía tráfico a Spoke_B y forma un túnel de atajo. Como están directamente conectados, forman una adyacencia OSPF y comparten rutas entre sí.
- Aquí, Spoke_A tendrá una ruta directa para alcanzar las redes anunciadas de Spoke_B, con un costo OSPF inferior que al viajar a través del Hub (costo Spoke-Spoke de 1 frente a costo Spoke-Hub-Spoke de 2).
Spoke_C envía tráfico a Spoke_B más tarde y también forma un túnel de atajo. Spoke_B comparte sus propias rutas aprendidas con Spoke_C, incluyendo las nuevas rutas que ha aprendido de Spoke_A. Ahora, Spoke_A quiere enviar tráfico a Spoke_C, y hay dos caminos posibles:
- Spoke_A puede enviar tráfico a Spoke_C a través del Hub, con un costo OSPF de 2.
- Alternativamente, Spoke_A también tiene una ruta a Spoke_C a través de Spoke_B, también con un costo OSPF de 2.
Dependiendo del enrutamiento ECMP, Spoke_A puede decidir enviar tráfico a Spoke_C a través de Spoke_B en lugar del Hub. A menos que Spoke_B tenga políticas de firewall configuradas para permitir este tráfico IPsec a IPsec (lo cual es poco probable), el tráfico se descartará al llegar a Spoke_B.
El problema ocurre debido a los siguientes puntos clave:
- OSPF permite que se formen caminos que evitan el Hub FortiGate.
- Los costos OSPF para el camino Spoke-Hub-Spoke pueden volverse idénticos al camino Spoke-Spoke-Spoke.
- Si ambos caminos existen, hay una posibilidad significativa de que el tráfico vaya en la dirección equivocada y se descarte.
Diagnóstico paso a paso
Para resolver este problema, los costos OSPF deben ajustarse de tal manera que se cumplan las siguientes condiciones:
- El costo Spoke-Spoke debe ser menor que el costo Spoke-Hub-Spoke, de lo contrario, no se utilizarán los atajos.
- El costo Spoke-Hub-Spoke debe ser menor que el costo Spoke-Spoke-Spoke, de lo contrario, no se formarán atajos y los Spokes estarán sometidos a tráfico innecesario.
Resolviendo el Problema
Para ajustar el costo OSPF en un escenario de túnel único de ADVPN, utiliza la siguiente fórmula:
S1 < S1 + H1 < S1 + S1, donde:
- S1 = El costo OSPF asignado en la interfaz del túnel VPN del Spoke.
- H1 = El costo OSPF asignado en la interfaz del túnel VPN del Hub.
Esta ecuación se reduce a: 0 < H1 < S1, indicando que el costo OSPF del Hub debe ser mayor que 0 pero menor que el costo OSPF del Spoke.
Comandos CLI utilizados
A continuación se presentan comandos útiles que pueden emplearse para ajustar los costos OSPF en FortiGate:
config router ospf
config area
edit 0.0.0.0
set cost 1
next
end
end
Buenas prácticas y recomendaciones
Al implementar OSPF en configuraciones de red con múltiples túneles, considera:
- Mantener consistencia en los costos aplicados a todas las interfaces OSPF de los Spokes.
- Documentar cuidadosamente cualquier ajuste en los costos para facilitar la gestión futura.
- Realizar pruebas de conectividad una vez aplicados los cambios para verificar el enrutamiento correcto.
Notas adicionales
Dado que la complejidad de usar ADVPN con OSPF aumenta con múltiples túneles, puede ser preferible considerar cambiar a ADVPN con BGP. BGP permite a los administradores especificar las adyacencias que se pueden establecer y dispone de más herramientas de filtrado/control para afinar entornos específicos.
¿Te ha resultado útil??
0 / 0

Hola, somos Mila Jiménez y César Sánchez. Dos apasionados de la ciberseguridad con muchos años de experiencia. Hemos trabajado en muchas empresas del mundo TI y ahora nos apetece compartir nuestro conocimiento con cualquiera que lo necesite.
¡Si te gusta nuestro contenido puedes invitarnos a un café AQUÍ!