Configurar y comprobar OSPF en Sophos Firewall
OSPF intercambia automáticamente rutas IPv4 entre routers. Esto resulta útil cuando hay varias sedes, rutas redundantes o redes que cambian con frecuencia y mantenerlas mediante rutas estáticas se vuelve demasiado laborioso.
En el siguiente ejemplo, dos Sophos Firewall forman una adyacencia OSPF a través de una red de tránsito dedicada. Al final, el vecino aparece como Full, Firewall A conoce la LAN situada detrás de Firewall B y viceversa. Para IPv6, OSPFv3 se configura por separado.
⚠️ OSPF solo debe ejecutarse en interfaces de tránsito o VPN previstas para ello y de confianza. No se debe habilitar
Dynamic Routingde forma general para las zonas LAN y WAN ni activarRedistribute connectedsin saber qué redes conectadas directamente se anunciarán como consecuencia.
OSPF en siete pasos
Para establecer una conexión OSPFv2 sencilla se necesitan estos pasos:
- Asignar direcciones a las interfaces de tránsito y comprobar la conectividad IP directa.
- En
Administration > Device access, permitir Dynamic Routing para una zona de tránsito propia o mediante una Local Service ACL Exception estrictamente limitada. - En
Routing > OSPF, introducir un Router ID único en cada firewall. - Crear Area
0.0.0.0como Normal. - En Networks, asignar la red de tránsito local a Area
0.0.0.0. - Anunciar únicamente las rutas LAN que sean realmente necesarias.
- En
Routing > Information > OSPF, comprobar que el estado del vecino sea Full y que la ruta se haya aprendido.
Un Network de OSPF no es la red de destino remota. La entrada activa OSPF en las interfaces locales cuya dirección IP pertenece a esa red. La LAN remota solo aparece cuando el otro extremo la anuncia a través de OSPF.
Qué decide OSPF en el firewall
OSPF es un protocolo de enrutamiento interno de estado de enlace. Los routers vecinos intercambian información sobre las redes y rutas que pueden alcanzar, construyen con ella una Link-State Database y calculan el camino de menor coste. Se prefiere un Cost menor frente a uno mayor.
Por tanto, OSPF resuelve una tarea distinta de las reglas de firewall y SD-WAN:
- OSPF aprende y distribuye redes de destino dentro del dominio de enrutamiento propio.
- Una regla de firewall sigue decidiendo si el tráfico de datos puede pasar entre las zonas y redes implicadas.
- NAT modifica las direcciones cuando es necesario, pero no forma parte de OSPF.
- Una SD-WAN Route puede decidir adicionalmente según el origen, el servicio, la aplicación o la calidad del enlace.
Sophos Firewall asigna las rutas aprendidas dinámicamente a la categoría static dentro de la Route Precedence global. Si una ruta OSPF compite con una ruta SD-WAN o VPN, la Route Precedence también debe corresponder al flujo de paquetes deseado. Dentro de OSPF, en cambio, decide el Cost.
OSPFv2 procesa IPv4. OSPFv3 cumple la misma función para IPv6, pero se configura por separado en Sophos Firewall.
Planificar la topología de ejemplo
Los valores del ejemplo representan dos sedes:
- Firewall A: Router ID
192.0.2.10, IP de tránsito198.51.100.1/30, LAN local10.10.10.0/24 - Firewall B: Router ID
192.0.2.20, IP de tránsito198.51.100.2/30, LAN local10.20.20.0/24 - Red de tránsito:
198.51.100.0/30 - OSPF Area:
0.0.0.0
Las direcciones 192.0.2.0/24 y 198.51.100.0/24 son redes de documentación. Se deben sustituir por los valores reales del entorno.
El Router ID tiene el aspecto de una dirección IPv4, pero no es necesario que esté asignado a una interfaz. Lo importante es que sea único y se mantenga estable de forma permanente dentro del dominio OSPF. 0.0.0.0 no está permitido. Si no se especifica un valor propio, SFOS utiliza la dirección de interfaz más alta; elegir de forma consciente un Router ID evita que la identidad cambie inesperadamente después de modificar una interfaz.
Para este diseño sencillo basta con Backbone Area 0.0.0.0. Solo merece la pena utilizar varias Areas cuando se quiere dividir y resumir deliberadamente un dominio de enrutamiento más grande. Cada Area adicional necesita una conexión con Backbone Area.
Preparar OSPF de forma segura
Antes de configurar OSPF deben cumplirse los siguientes requisitos:
- El firewall funciona en Gateway Mode. OSPF no está disponible en Transparent Mode.
- Ambas IP de tránsito pertenecen a la misma red y pueden comunicarse directamente, por ejemplo mediante Ping.
- La interfaz, la máscara de subred, la MTU y la zona están documentadas.
- Router ID, Area, autenticación, Hello interval y Dead interval están coordinados en ambos lados.
- Se dispone de una copia de seguridad de la configuración y de un acceso de administración independiente.
- Se han planificado reglas de firewall y rutas de retorno adecuadas para ambas LAN.
Una VLAN de tránsito y una zona de tránsito propias facilitan la protección. Configurar zonas e interfaces de Sophos Firewall explica los fundamentos.
Habilitar Dynamic Routing de forma selectiva
En Administration > Device access, Dynamic Routing está desactivado de forma predeterminada para todas las zonas. Para el ejemplo, el servicio se activa únicamente en la zona de tránsito propia a la que está vinculada la red 198.51.100.0/30.
La casilla de la matriz Device Access se aplica a toda la zona y no solo a una interfaz concreta. Si la interfaz de tránsito comparte su zona con otras redes, una Local Service ACL Exception debe limitar el servicio a la red de tránsito y a los extremos previstos.
Este permiso afecta a los paquetes OSPF destinados al propio firewall. No hace falta una regla de firewall normal para ellos. Sin embargo, el tráfico real entre 10.10.10.0/24 y 10.20.20.0/24 sigue necesitando reglas de firewall IPv4 adecuadas. Proteger Device Access en Sophos Firewall explica la separación entre los servicios locales y el tráfico reenviado.
Configurar OSPFv2 en WebAdmin
Los siguientes pasos se realizan en ambos firewalls. Solo cambian Router ID, la IP de tránsito y la LAN local.
1. Definir los ajustes globales
En Routing > OSPF se definen los valores globales:
- Router ID:
192.0.2.10en Firewall A,192.0.2.20en Firewall B - Default metric: mantener
20, salvo que exista un requisito específico para las rutas redistribuidas - ABR type:
Standardpara un diseño estándar nuevo - Auto-cost reference-bandwidth: mantener el valor predeterminado
100000 Mbps, mientras la planificación de costes no exija otro valor de referencia común - Default-information originate:
Never, mientras el firewall no deba distribuir expresamente una Default Route a todos los vecinos OSPF - Redistribute connected, static, RIP y BGP: mantener desactivados inicialmente
A continuación, aplicar la configuración global con Apply.
Default Metric afecta a las rutas que se importan en OSPF desde otras fuentes. Interface Cost, en cambio, determina la selección de la ruta dentro de la topología OSPF. Gana el Cost menor.
Default-information originate: Always no debe utilizarse como un interruptor rápido de conmutación por error de Internet. De este modo, el firewall anunciaría una Default Route aunque no dispusiera de una. Regular solo la anuncia cuando existe una Default Route en la tabla de enrutamiento.
2. Crear Backbone Area
En la sección Areas, hacer clic en Add y establecer los valores siguientes:
- Area:
0.0.0.0 - Type:
Normal
En Area se selecciona Authentication Type Text o MD5. Si el otro extremo admite MD5, es preferible a la variante de texto sin cifrar. La Key ID correspondiente y la clave se introducen más adelante en la interfaz de tránsito. MD5 autentica los paquetes OSPF, pero no cifra la información de enrutamiento intercambiada.
Después, guardar Area con Save.
3. Añadir la red de tránsito
En la sección Networks, hacer clic en Add:
- IPv4/Netmask:
198.51.100.0/30 - Area:
0.0.0.0
En Firewall A, la dirección 198.51.100.1 coincide con este Network; en Firewall B, coincide 198.51.100.2. De este modo, OSPF se ejecuta en las respectivas interfaces de tránsito y ambos firewalls pueden formar una adyacencia.
Guardar la entrada de Network con Save.
La LAN local no se debe introducir simplemente como supuesto destino remoto. Una entrada adicional de Network puede anunciarla incluso sin vecinos, pero también activa OSPF en la interfaz LAN correspondiente. Si no se prevén routers OSPF en esa interfaz, una Redistribution selectiva delimita el anuncio de forma más precisa.
4. Sobrescribir los valores de interfaz solo deliberadamente
En Override interface configuration se puede seleccionar la interfaz de tránsito. Los valores predeterminados son adecuados para muchas conexiones Ethernet:
- Hello interval: 10 segundos
- Dead interval: 40 segundos
- Retransmit interval: 5 segundos
- Transmit delay: 1 segundo
- Interface cost:
Auto - Router priority: 1
Hello y Dead deben ser idénticos en todos los routers del segmento. Retransmit Interval y Transmit Delay se establecen localmente. Cost y Router Priority pueden diferir de forma intencionada: Cost determina la ruta de datos preferida, mientras que Priority influye en la elección de DR y BDR en redes de difusión. Una Priority de 0 excluye la interfaz de esta elección.
Si la Priority es la misma, decide Router ID, pero una elección de DR en curso no es preventiva. Definir manualmente un Cost resulta útil cuando se quiere preferir una de varias rutas. Con Auto, SFOS calcula el Cost a partir de la Reference Bandwidth global y la velocidad de interfaz configurada. Si se modifica la velocidad del enlace en Network > Interfaces, OSPF solo aplica el nuevo Auto Cost después de reiniciar el firewall.
Para la autenticación MD5, seleccionar Authentication Type MD5 en Area. Después, introducir la misma Key ID de 0 a 255 y la misma clave en la interfaz de tránsito de ambos lados.
Aplicar los valores modificados de la interfaz con Save.
5. Anunciar solo las LAN necesarias
En el ejemplo, Firewall A debe anunciar 10.10.10.0/24 y Firewall B, 10.20.20.0/24. Existen dos métodos fundamentalmente distintos:
- Un OSPF Network activa OSPF en la interfaz local correspondiente. Es adecuado cuando otros routers OSPF deben formar allí una adyacencia.
- Redistribution importa en OSPF una ruta procedente de otra fuente de enrutamiento. De este modo se puede anunciar una LAN conectada directamente sin necesitar una adyacencia OSPF en esa interfaz.
En el ejemplo, las dos LAN se redistribuyen de forma selectiva porque en sus interfaces no debe establecerse una adyacencia con otros routers OSPF.
La opción Redistribute connected de WebAdmin importa todas las redes conectadas directamente. En un firewall de producción, esto también puede incluir redes WAN, de administración, DMZ, VPN y otras VLAN. Por eso no se debe activar la casilla sin revisar sus efectos.
Para un anuncio selectivo se puede utilizar una ACL con una Route Map en la CLI de OSPF. Tras iniciar sesión por SSH, la ruta es 3. Route Configuration > 1. Configure Unicast Routing > 2. Configure OSPF. El siguiente ejemplo en Firewall A solo permite la LAN local 10.10.10.0/24:
enable
configure terminal
access-list ospf-connected-out permit 10.10.10.0/24
route-map ospf-connected-filter permit 10
match ip address ospf-connected-out
exit
router ospf
redistribute connected route-map ospf-connected-filter
exit
write
show running-config
En Firewall B se utiliza 10.20.20.0/24 en access-list. La ACL tiene una regla Deny final implícita; por tanto, las Connected Routes que no se permitan expresamente no se redistribuyen mediante esta Route Map.
Con este procedimiento, la opción global Redistribute connected permanece desactivada en WebAdmin. Después de realizar cambios posteriores en la configuración OSPF global, se debe volver a comprobar show running-config, ya que WebAdmin puede eliminar ajustes avanzados de CLI que entren en conflicto.
Redistribute static también necesita un filtrado deliberado. Entre otras, incluye rutas Blackhole estáticas que, de lo contrario, podrían propagarse involuntariamente a los routers vecinos.
Comprobar y validar OSPF
Una adyacencia por sí sola no demuestra que se pueda alcanzar la LAN deseada. Por eso, la validación abarca desde el nivel OSPF hasta el flujo real de paquetes.
- En
Routing > Information > OSPF > Neighbors, el otro extremo debe aparecer con su Router ID. Full indica que la información de estado de enlace relevante se ha intercambiado por completo. - En Routes, Firewall A debe ver
10.20.20.0/24a través de198.51.100.2. Firewall B debe ver10.10.10.0/24a través de198.51.100.1. - En Interface, comprobar Area, Router ID, Cost, temporizadores, Network Type y MTU.
- En
Diagnostics > Tools > Route lookup, comprobar un destino concreto, por ejemplo10.20.20.10en Firewall A. - A continuación, probar una conexión real entre un host de cada LAN. Log Viewer y Packet Capture deben mostrar la regla de firewall esperada, la interfaz de tránsito y el tráfico de retorno.
Para los dos últimos pasos puede resultar útil Probar una regla de Sophos Firewall con Log Viewer y Packet Capture.
Para una comprobación adicional mediante SSH, la ruta del CLI es 3. Route Configuration > 1. Configure Unicast Routing > 2. Configure OSPF:
enable
show ip ospf interface
show ip ospf database
show ip ospf neighbor
show ip ospf route
Estos comandos permiten documentar conjuntamente las interfaces implicadas, la Link-State Database, el estado de los vecinos y las rutas calculadas por OSPF.
En Advanced Shell, los registros de OSPF y del kernel ofrecen contexto adicional. El acceso se realiza mediante 5. Device Management > 3. Advanced Shell:
cd /log
tail -f ospfd.log
La salida continua se detiene con Ctrl+C. Después se puede comprobar el segundo registro:
tail -f zebra.log
ospfd.log muestra los eventos de OSPF. zebra.log ayuda a comprobar si una ruta aprendida dinámicamente se ha incorporado al kernel. Para no seguir el registro en directo, se puede utilizar, por ejemplo, less /log/ospfd.log. Archivos de servicio y registro de Sophos Firewall relaciona otros archivos con los servicios responsables.
Delimitar los errores sistemáticamente
No aparece ningún vecino
Primero se comprueba la conectividad directa de las IP de tránsito. Después, la interfaz de tránsito debe estar activa, OSPF Network debe coincidir con la IP de interfaz local y Dynamic Routing debe estar habilitado en la zona correcta. Area, máscara de subred, Authentication Type, Key ID, clave, Hello y Dead deben coincidir en ambos lados. Los Router ID duplicados también impiden establecer correctamente una adyacencia.
El vecino permanece en Init o 2-Way
Init significa que llegan paquetes Hello, pero la comunicación aún no se ha confirmado en ambas direcciones. Device Access, los filtros asimétricos, la asignación de interfaces y la ruta de retorno son los primeros puntos que se deben comprobar.
2-Way es normal entre dos routers de una red de difusión si ninguno de ellos es DR ni BDR. En el ejemplo, con exactamente dos routers OSPF y Priority 1, ambos participantes se convierten en DR y BDR; por eso, su adyacencia debe alcanzar el estado Full. Si permanece en 2-Way, hay que comprobar Router Priority, Network Type y el otro extremo.
El vecino permanece en ExStart, Exchange o Loading
En estos estados, la sincronización de Link-State Database ha comenzado, pero no se completa. Las causas habituales son valores de MTU distintos, Network Types incompatibles, Router ID duplicados o conexiones inestables. En Routing > Information > OSPF > Interface se muestran MTU, MTU Mismatch Detection, Network Type y los temporizadores para compararlos.
El vecino está Full, pero falta la LAN remota
En ese caso, la adyacencia funciona, pero la LAN no se anuncia o el filtro no la permite. En el firewall emisor, Connected Route, ACL, Route Map y redistribute connected route-map deben coincidir con el prefijo deseado. show running-config muestra la configuración OSPF guardada.
Si se ha activado Redistribute connected en WebAdmin, se debe comprobar no solo la LAN que falta, sino la lista completa de todas las redes anunciadas como consecuencia.
La ruta existe, pero el tráfico no funciona
OSPF ha cumplido su función cuando existe la ruta con el Next Hop correcto. A partir de ahí, los errores suelen encontrarse en la regla de firewall, NAT, Route Precedence, la ruta de retorno o el sistema de destino. En redes entre sedes con enrutamiento normal, por lo general no hace falta SNAT, porque ambos firewalls deben conocer las LAN mediante OSPF.
OSPF a través de IPsec route-based
OSPF también puede ejecutarse sobre una interfaz XFRM de un túnel IPsec Site-to-Site route-based. En un túnel Any-to-Any o Dual-Stack, se asignan a las interfaces XFRM de ambos lados direcciones IP únicas de la misma red de tránsito. Esta asignación no es posible con Traffic Selectors específicos.
Para esta variante se aplican además los requisitos siguientes:
Dynamic Routingse permite para la zona VPN enAdministration > Device access.- La red de tránsito XFRM se introduce como OSPF Network.
- El tráfico de datos necesita reglas de firewall IPv4 o IPv6 adecuadas para la zona VPN.
- Hello, Dead, autenticación y MTU deben coincidir con el otro extremo.
- Se compara el OSPF Network Type mostrado en ambos lados. Una diferencia puede impedir que se forme la adyacencia; si no se puede corregir en WebAdmin, hay que adaptar el otro extremo o recurrir a Sophos Support.
Un túnel IPsec en verde y un vecino OSPF en estado Full son comprobaciones independientes. Solo la ruta aprendida y un flujo de paquetes real confirman que toda la configuración funciona.
En un clúster HA, OSPF puede volver a converger después de una conmutación por error. Por eso se debe probar una conmutación planificada y, después, comprobar en el Node activo que el vecino, las rutas, ospfd.log y zebra.log vuelvan a mostrar el estado esperado.
OSPFv3 para IPv6
En Routing > OSPFv3, el enrutamiento IPv6 se configura independientemente de OSPFv2. Router ID sigue siendo un valor único con notación IPv4.
A diferencia de OSPFv2, no se introduce primero un Network. En Interfaces, se selecciona la interfaz compatible con IPv6 y se asigna a un Area. Para un diseño sencillo también se utiliza Area 0.0.0.0. Hello y Dead deben coincidir en el segmento; Cost, Retransmit, Transmit Delay y Router Priority se establecen según la topología propia. Actualmente, SFOS solo admite una instancia OSPFv3 por interfaz con la Instance ID predeterminada 0.
Actualmente, Sophos Firewall no admite autenticación para OSPFv3. Por tanto, el intercambio solo debe realizarse mediante enlaces de confianza o ya protegidos. Una configuración OSPFv2 existente no anuncia redes IPv6 y el tráfico de datos IPv6 necesita reglas de firewall IPv6 propias.
En WebAdmin se pueden redistribuir en OSPFv3 las redes IPv6 conectadas directamente y las rutas BGP IPv6. También en este caso, Redistribute connected abarca todas las redes IPv6 conectadas directamente y no se debe activar de forma general.
La validación se realiza en Routing > Information > OSPFv3; si se producen errores, ospf6d.log proporciona contexto específico del protocolo.
Revertir el cambio de forma segura
Antes de eliminar OSPF debe existir una ruta alternativa o una ventana de mantenimiento planificada para cada red de destino aprendida. Primero se elimina la Redistribution de la LAN local, después el Network de tránsito y, por último, se desactiva Dynamic Routing para la zona. A continuación, se vuelven a comprobar Route Lookup, la tabla de enrutamiento y el acceso de administración.
Si solo se revierte un Cost, un temporizador o un filtro incorrecto, se debe cambiar únicamente ese ajuste. Así se puede determinar si se ha visto afectada la adyacencia OSPF, el anuncio de rutas o solamente el tráfico de datos.