Hace un tiempo hice un lab explicando como implementar OSPF. Hoy me hicieron una pregunta sobre si podríamos configurar un router Mikrotik y uno Cisco con OSPF y qué tipo de problemas puede haber, algo que también veo prometí aquella vez que escribí sobre este protocolo.
En teoría no debería haber ningún problema, OSPF es un estandar (RFC 2328 para OSPFv2). De todas formas esta vez vez solo vamos a hacer el laboratorio para demostrar las configuraciones, ya que OSPF se trata con detalle aquí: https://www.nerdadas.com/blog/ospf-v2-repasando-ando/
Routers de diferentes Marcas
OSPF (Open Short Path First) es un protocolo soportado por todos o casi todos los routers comerciales(y no tan comerciales) lo cuál hace que, salvo diferencias en la interfaz de cada router, todos manejen los mismos parámetros.
En este caso particular vamos a usar:
Area: 0
tipo: Backbone
ID: 1.1.1.1 y 2.2.2.2
Las redes detras de los routers son:
R1: 192.168.10.0/04 – Cisco
R2: 192.168.20.0/24 – Mikrotik

Ambos routers entregaran IPs a sus LAN por DHCP.
Configuraciones
Les dejo la configuración del Router R1 (Cisco) con comentarios pero completa para que puedan ver cualquier detalle que no haya quedado claro.
# Versión del router, he usado un Cisco 7200
version 15.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname R1
!
!
#Configuración del DHCP LAN
ip dhcp pool lan
network 192.168.10.0 255.255.255.0
default-router 192.168.10.1
domain-name LAN.Cisco
!
#Como está en GNS3, la interfaz WAN lleva DHCP, igual que el mkt
!
interface FastEthernet0/0
ip address dhcp
duplex full
!
interface FastEthernet1/0
ip address 192.168.10.1 255.255.255.0
duplex full
!
interface FastEthernet2/0
no ip address
shutdown
duplex full
!
#Configuración de OSPF donde anunció las redes
router ospf 1
router-id 1.1.1.1
network 192.168.10.0 0.0.0.255 area 0
network 192.168.122.0 0.0.0.255 area 0
!
end
Ahora vamos con las configuraciones del Router R2 que tiene como S.O. RouterOS 7.
#Hostname
/system identity
set name=R2
#Configuración para DHCP de la LAN
/ip address
add address=192.168.20.1/24 comment=LAN interface=ether2 network=192.168.20.0
/ip pool
add name=dhcp_pool0 ranges=192.168.20.2-192.168.20.254
/ip dhcp-server
add address-pool=dhcp_pool0 interface=ether2 name=dhcp1
/ip dhcp-server network
add address=192.168.20.0/24 gateway=192.168.20.1
#WAN por dhcp
/ip dhcp-client
add interface=ether1
#La configuración de OSPF
/routing ospf instance
add disabled=no name=ospf1 router-id=2.2.2.2
/routing ospf area
add disabled=no instance=ospf1 name=backbone
#Redes que anuncio en OSPF
/routing ospf interface-template
add area=backbone disabled=no networks=192.168.122.0/24
add area=backbone disabled=no networks=192.168.20.0/24
Como se habrán dado cuenta en RouterOS Area es: 0.0.0.0 y en IOS 0. Son totalmente compatibles.
Después de ejecutar algunos comandos podemos ver las interfaces dónde estamos propagando ospf, las rutas que recibimos y las que declaramos.

En Mikrotik también podemos ver las rutas aprendidas y nuestros vecinos.

Problemas
Aunque en la práctica no debería haber problemas por lo que ya he comentado arriba la realidad dice que cada fabricante se toma sus «libertades» a la hora de implementarlo en sus dispositivos y puede haber alguno que otro roce. Cuáles?
MTU mismatch
Si un lado tiene MTU 1500 y el otro 1492, por ejemplo, la vecindad queda en EXSTART o EXCHANGE o directamente nunca llega a FULL
Cisco es más estricto con esto y puede directamente acomodarse, en Mikrotik puede que tengas que declararlo a mano
#Con este comando ignoras el MTU en Cisco
ip ospf mtu-ignore
Network Type diferente
En Ethernet normalmente es:
broadcast
Pero si un lado está como:
point-to-point
Y el otro como broadcast, pueden tener comportamientos raros con DR/BDR.
En enlaces router-router dedicados conviene forzar:
Cisco:
ip ospf network point-to-point
MikroTik (ROS7 template):
type=ptp
Autenticación distinta
Si activás autenticación:
- Cisco puede usar MD5
- MikroTik usa message-digest
Pero si uno la tiene activa y el otro no, no se ponen de acuerdo. Jamás serán vecinos!
Conclusiones
Cómo veras no es tan complicado configurar OSPF con diferentes marcas, es más un tema de con qué te sentís cómodo y con qué no lo que te da esa idea de que puede fallar. La verdad es que OSPF está super testeado y es un estandar abierto lo que lo convierte en super compatible.
En algún otro momento lo podemos implementar con alguna otra marca más pero me parece que con estas solucionamos la mayoría de las dudas con respecto a su compatilidad.

Bonus
Les dejo una más para los que les gustan estos ejercicios «manijas», configuración OSPF en Fortigate 7.2.1-1.
FortiOS-VM64-KVM # config router ospf
FortiOS-VM64-KVM (ospf) # show
config router ospf
set router-id 3.3.3.3
config area
edit 0.0.0.0
next
end
config network
edit 1
set prefix 192.168.122.0 255.255.255.0
next
edit 2
set prefix 192.168.30.0 255.255.255.0
next
end
config redistribute "connected"
end
FortiOS-VM64-KVM (ospf) #