OSPF es el protocolo de routing dinamico de facto en redes ISP con multiples puntos de presencia. En una red MikroTik con mas de tres routers, OSPF elimina la necesidad de mantener rutas estaticas manualmente y permite convergencia automatica ante caidas de enlace en segundos. Esta guia cubre la configuracion completa en RouterOS 6 y 7, con sus diferencias de sintaxis.
MikroTik rediseno el modulo de routing en RouterOS 7. Los comandos OSPF cambiaron completamente. Esta guia cubre ambas versiones. Verifica tu version con /system resource print antes de aplicar.
1. Por que OSPF en un ISP con MikroTik
Escenarios donde OSPF es la solucion correcta:
- Multiples NOC/PoP: tienes routers en varias ubicaciones fisicas que deben conocer las rutas entre si
- Redundancia de enlace: si un enlace cae, OSPF redirige el trafico por el camino alternativo automaticamente
- Escalabilidad: anadir un nuevo router al dominio OSPF no requiere modificar todos los demas
- Integracion con BGP: OSPF distribuye rutas internas (iBGP) mientras BGP maneja el transit y los upstreams
2. Conceptos clave antes de configurar
| Concepto | Descripcion |
|---|---|
| Router ID | Identificador unico del router en OSPF. Usar la loopback IP o la IP mas estable. |
| Area | Agrupacion logica de routers. Area 0 (backbone) es obligatoria. Areas adicionales reducen el LSA flooding. |
| DR/BDR | Designated Router y Backup. Se eligen en redes multi-acceso (Ethernet). El de mayor priority gana. |
| Hello/Dead interval | OSPF envia hellos cada X segundos. Si no recibe respuesta en Dead (4x Hello), declara el neighbor caido. |
| LSA | Link State Advertisement. Cada router inunda la topologia con su LSA. OSPF construye el mapa completo. |
3. Configuracion OSPF en RouterOS 6
En ROS 6, la configuracion es con /routing ospf usando instancias, areas y redes.
# 1. Configurar la instancia OSPF con Router ID unico /routing ospf instance set default router-id=1.1.1.1 redistribute-connected=as-type-1 comment="instancia OSPF principal" # 2. Crear area backbone (obligatoria) /routing ospf area add name=backbone area-id=0.0.0.0 instance=default # 3. Anunciar las redes directamente conectadas /routing ospf network add network=10.0.0.0/30 area=backbone comment="enlace a Router2" /routing ospf network add network=10.0.1.0/30 area=backbone comment="enlace a Router3" /routing ospf network add network=172.16.0.0/24 area=backbone comment="red de gestion" # 4. Ajustar parametros de la interface del enlace punto-a-punto /routing ospf interface add interface=ether2-to-r2 network-type=point-to-point hello-interval=10s dead-interval=40s priority=1 comment="enlace a Router2"
# Router ID diferente al de Router 1
/routing ospf instance set default router-id=2.2.2.2
/routing ospf area add name=backbone area-id=0.0.0.0 instance=default
/routing ospf network add network=10.0.0.0/30 area=backbone comment="enlace a Router1"
/routing ospf network add network=192.168.100.0/24 area=backbone comment="red clientes R2"
/routing ospf interface add interface=ether1-to-r1 network-type=point-to-point hello-interval=10s dead-interval=40s
4. Configuracion OSPF en RouterOS 7
En ROS 7, el modelo cambio a instancias + areas + interface-templates. Es mas flexible pero requiere mas pasos.
# 1. Crear instancia OSPF /routing ospf instance add name=ospf-isp version=2 router-id=1.1.1.1 redistribute=connected comment="instancia OSPF ISP" # 2. Crear area backbone /routing ospf area add name=backbone area-id=0.0.0.0 instance=ospf-isp type=default # 3. Asignar interfaces al area (reemplaza a /routing ospf network) /routing ospf interface-template add area=backbone interfaces=ether2-to-r2 type=ptp hello-interval=10s dead-interval=40s comment="enlace a Router2" /routing ospf interface-template add area=backbone interfaces=ether3-to-r3 type=ptp hello-interval=10s dead-interval=40s comment="enlace a Router3" # 4. Incluir redes a redistribuir (si no usas redistribute=connected) /routing ospf static-neighbor add address=10.0.0.2 area=backbone
En ROS 7 ya no existe /routing ospf network. Se reemplaza por /routing ospf interface-template, que aplica configuracion a una o mas interfaces y puede usar wildcards. Un template con interfaces=all aplica OSPF a todas las interfaces (util para laboratorio, no para produccion).
5. Verificar neighbors y adjacencias
# Ver neighbors OSPF (estado debe ser "Full") /routing ospf neighbor print # Ver rutas aprendidas por OSPF en la tabla de routing /ip route print where routing-mark="" protocol=ospf # Ver la base de datos de estado de enlace (LSDB) /routing ospf lsa print # Ver instancias activas (ROS 7) /routing ospf instance print # Debug de OSPF (ver hello packets y cambios de estado) /system logging add topics=ospf action=memory /log print where topics~"ospf" # Ver tabla de routing completa con costos OSPF /ip route print detail where protocol=ospf
| Estado neighbor | Significado | Accion |
|---|---|---|
| Down | Sin contacto, no recibe hellos | Verificar conectividad L2 y firewall |
| Init | Recibe hellos pero no ve su propio Router ID en ellos | Verificar configuracion de red OSPF |
| 2-Way | Comunicacion bidireccional establecida | Normal en redes multi-acceso (no DR/BDR) |
| ExStart/Exchange | Intercambiando bases de datos | Normal durante sincronizacion inicial |
| Full | Adjacencia completa, rutas sincronizadas | Estado correcto — todo bien |
6. Redistribucion de rutas y rutas por defecto
# Redistribuir ruta por defecto hacia todos los routers del dominio OSPF # (util en el router que tiene el uplink a internet) # ROS 6: habilitar en la instancia /routing ospf instance set default originate-default=always # ROS 7: en el instance /routing ospf instance set ospf-isp originate-default=always # Redistribuir rutas conectadas como tipo 1 (costo se acumula) # ROS 6: /routing ospf instance set default redistribute-connected=as-type-1 # Verificar que la ruta 0.0.0.0/0 se propaga a los otros routers /ip route print where dst-address=0.0.0.0/0 # Filtrar que redes se anuncian (usar routing filter en ROS 7) /routing filter rule add chain=ospf-out rule="if (dst-len > 28) { reject }"
7. OSPF con interfaces loopback para router-id estable
# Crear interface loopback (bridge con una sola interface) /interface bridge add name=loopback protocol-mode=none comment="loopback OSPF" # Asignar IP unica al loopback (usar /32) /ip address add address=1.1.1.1/32 interface=loopback comment="router-id OSPF" # Incluir loopback en OSPF para que otros routers la conozcan # ROS 6: /routing ospf network add network=1.1.1.1/32 area=backbone # ROS 7: /routing ospf interface-template add area=backbone interfaces=loopback type=ptp # Ventaja: si cae una interface fisica, el router sigue siendo accesible # por su loopback mientras haya un camino alternativo
Disenamos tu arquitectura de routing
OSPF, BGP y WireGuard configurados correctamente para tu red ISP/WISP.
Conocer el soporte MikroTik remoto o solicita una evaluación gratuita →