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.

Sintaxis diferente entre ROS 6 y ROS 7

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:

2. Conceptos clave antes de configurar

ConceptoDescripcion
Router IDIdentificador unico del router en OSPF. Usar la loopback IP o la IP mas estable.
AreaAgrupacion logica de routers. Area 0 (backbone) es obligatoria. Areas adicionales reducen el LSA flooding.
DR/BDRDesignated Router y Backup. Se eligen en redes multi-acceso (Ethernet). El de mayor priority gana.
Hello/Dead intervalOSPF envia hellos cada X segundos. Si no recibe respuesta en Dead (4x Hello), declara el neighbor caido.
LSALink 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.

RouterOS 6 — OSPF Router 1 (core)
# 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"
RouterOS 6 — OSPF Router 2 (spoke)
# 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.

RouterOS 7 — OSPF Router 1 (nuevo modelo)
# 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
interface-template vs network (ROS 7)

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

RouterOS — Verificacion OSPF
# 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 neighborSignificadoAccion
DownSin contacto, no recibe hellosVerificar conectividad L2 y firewall
InitRecibe hellos pero no ve su propio Router ID en ellosVerificar configuracion de red OSPF
2-WayComunicacion bidireccional establecidaNormal en redes multi-acceso (no DR/BDR)
ExStart/ExchangeIntercambiando bases de datosNormal durante sincronizacion inicial
FullAdjacencia completa, rutas sincronizadasEstado correcto — todo bien

6. Redistribucion de rutas y rutas por defecto

RouterOS — Redistribucion de rutas
# 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

RouterOS — Loopback para OSPF
# 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 →