Configuración Basica

1. Habilitar el proceso OSPF

El process ID es de significancia local (NO tiene que coincidir entre routers para formar adyacencia.)

  • Comando: Router(config)# router ospf <process-id>
  • Ejemplo: Router(config)# router ospf 1

El valor de <process-id> ser un valor entre 1–65535, local a este router únicamente.

2. Fijar el Router ID

Eleccion de Router-ID (RID)

  1. **router-id manual.
  2. IP más alta de loopback activa.
  3. IP más alta de interfaz física activa.

Asignar manualmente el Router ID del proceso

  • Comando: Router(config-router)# router-id <router-id-IPv4>
  • Ejemplo: Router(config-router)# router-id 1.1.1.1
Router(config)# router ospf 1
Router(config-router)# router-id 1.1.1.1

Un cambio de Router ID no aplica hasta hacer clear ip ospf process.
El valor de RID siempre debe ser diferente. Un Router ID nunca puede repetirse dentro del mismo dominio OSPF.

3. Anunciar redes

Método A - Comando network

Anunciar una red y asignarla a un área

  • Comando: Router(config-router)# network <red> <wildcard-mask> area <area-id>
  • Ejemplo: Router(config-router)# network 192.168.10.0 0.0.0.255 area 0
Router(config)# router ospf 1
Router(config-router)# router-id 1.1.1.1
Router(config-router)# network 192.168.10.0 0.0.0.255 area 0
Router(config-router)# network 10.1.1.1 0.0.0.0 area 0

<wildcard-mask> → máscara invertida. 0.0.0.255 hace match con un /24; 0.0.0.0 hace match con una sola IP exacta (lo más específico).
Cualquier interfaz cuya IP caiga en el rango se añade a OSPF en esa área.

Match más específico

Usar un wildcard 0.0.0.0 con la IP exacta de la interfaz mete solo esa interfaz en OSPF — la forma más precisa y predecible de controlar qué interfaces corren OSPF.

Método B - Habilitar OSPF en una interfaz específica (Recomendado)

Primero buscar la interface que deseamos que participe en OSPF.

  • Comando: Router(config-if)# ip ospf <process-id> area <area-id>
  • Ejemplo: Router(config-if)# ip ospf 1 area 0
Router(config)# router ospf 1
Router(config-router)# router-id 1.1.1.1
Router(config-router)# exit

Configuracion:

Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip ospf 1 area 0
Router(config-if)# exit

Hace el mismo trabajo que network, pero aplicado por interfaz.
El enfoque moderno y explícito: sin cálculo de wildcard, nombras la interfaz directamente.

4. Opcional: Cambiar el tipo de Network Type

Ambos extremos (Interfaces) deben tener el mismo Network Type o algun Type compatible, de no ser asi no se formara OSPF.

Network typeHelloDeadDR/BDRHellos toMedios típicos
Broadcast10 s40 sSí224.0.0.5 / .6Ethernet, Token Ring, FDDI
Non-broadcast (NBMA)30 s120 sSíUnicastFrame Relay, X.25, ATM
Point-to-point10 s40 sNo224.0.0.5HDLC, PPP, enlaces seriales
Point-to-multipoint30 s120 sNo224.0.0.5NBMA / DMVPN hub-and-spoke
Point-to-multipoint non-broadcast30 s120 sNoUnicastVariantes NBMA sin multicast
Compatibilidad (con timers por defecto):
BroadcastNBMAPoint-to-pointP2MP2M non-broadcast
BroadcastSíNoParcialNoNo
NBMANoSíNoParcialParcial
Point-to-pointParcialNoSíNoNo
P2MNoParcialNoSíParcial
P2M non-broadcastNoParcialNoParcialSí
  • Sí = forma adyacencia y funciona. Lo recomendado: el mismo tipo en ambos extremos.
  • Parcial = los timers coinciden y la adyacencia puede subir, pero un lado espera DR/BDR y el otro no (o uno usa multicast y el otro unicast). Resultado típico: vecino en FULL pero rutas que no se instalan o next-hop incorrecto. No recomendado.
  • No = los timers por defecto no coinciden (10/40 contra 30/120), así que no forma.

Si igualas los timers

Con ip ospf hello-interval / dead-interval iguales, las parejas que tienen el mismo comportamiento de DR funcionan bien: Broadcast con NBMA (ambos eligen DR) y Point-to-point con P2M (ninguno elige DR). Las demás pasan a “Parcial”.

  • Comandos:
Router(config)# interface <Numero_Interface>
Router(config-if)# ip ospf network ?
  broadcast          Specify OSPF broadcast multi-access network
  non-broadcast      Specify OSPF NBMA network
  point-to-multipoint  Specify OSPF point-to-multipoint network
  point-to-point     Specify OSPF point-to-point network

Interfaces Ethernet (Gigabit, Fast, etc.) → por defecto Broadcast. Como Ethernet es lo más común hoy, en la práctica sí verás Broadcast como el default la mayoría de las veces.

Cambiar eleccion de DR/BDR

La función de este comando es controlar la elección del DR/BDR en un segmento de acceso múltiple (broadcast o NBMA).

  • Comando: Router(config-if)# ip ospf priority <Valor>
  • Ejemplo: Router(config-if)# ip ospf priority 25

Valor de 0 a 255. Mayor número = más probabilidad de ser DR.
Una interfaz con priority 0 NUNCA puede ser DR ni BDR.
Usar el comando show ip ospf neighbor para saber los roles de los vecinos de OSPF.

Una vez cambiado la Priority, usar clear ip ospf process en los Routers a los cuales deseamos cambiar el DR/BDR. (No todos.)

  • Orden de seleccion de DR/BDR:
  1. Gana la prioridad más alta → DR.
  2. La segunda más alta → BDR.
  3. El Router ID solo desempata si las prioridades son iguales.

Configuración Adicional (Opcional)

Interfaz passive

La regla general: haces passive toda interfaz por la que no hay otro router OSPF con el que formar adyacencia. Si al otro lado del cable solo hay hosts, impresoras, servidores o cualquier dispositivo final (no un router/switch L3 corriendo OSPF), esa interfaz debe ser passive.

Metodo 1 - Hacer passive una interfaz concreta

  • Comando: Router(config-router)# passive-interface <interface>
  • Ejemplo: Router(config-router)# passive-interface GigabitEthernet0/2
Router(config)# router ospf 1
Router(config-router)# passive-interface GigabitEthernet0/2

Metodo B - Hacer todas passive por defecto

  • Comando: Router(config-router)# passive-interface default

Timers Hello y Dead

Se configuran por interfaz y deben coincidir en ambos extremos o la adyacencia no forma.
Por defecto Dead = 4 × Hello.

  • Comando: Router(config-if)# ip ospf hello-interval <segundos>

  • Ejemplo: Router(config-if)# ip ospf hello-interval 5

  • Comando: Router(config-if)# ip ospf dead-interval <segundos>

  • Ejemplo: Router(config-if)# ip ospf dead-interval 20

Router(config)# interface Gi0/0
Router(config-if)# ip ospf hello-interval 5
Router(config-if)# ip ospf dead-interval 20

El Dead no se reajusta solo

Si cambias el hello-interval, el dead-interval no se recalcula automáticamente a 4×. Configúralo de forma explícita y verifica que coincida con el vecino.

Cambiar el MTU de una interfaz

Un MTU distinto entre vecinos deja la adyacencia atascada en EXSTART/EXCHANGE. Se corrige igualando el MTU en ambos extremos.

  • Comando: Router(config-if)# ip mtu <bytes>
  • Ejemplo: Router(config-if)# ip mtu 1500
Router(config)# interface Gi0/0
Router(config-if)# ip mtu <1500>

Verificar: Router# show ip interface <Interface>

mtu vs ip mtu vs mtu-ignore

  • mtu → cambia el MTU de toda la interfaz (todos los protocolos).
  • ip mtu → cambia solo el MTU de IP en esa interfaz.
  • ip ospf mtu-ignore oculta el problema en vez de resolverlo; evítalo en producción y corrige el MTU real en ambos extremos.

Configuración para cambiar rutas

OSPF elige por cost, inversamente proporcional al ancho de banda. Fórmula: cost = reference-bandwidth ÷ interface-bandwidth. Hay tres formas de influir en él.

(Imagen: Valor predeterminado del dispositivo.)

Metodo A - Reference bandwidth (afecta a todo el router)

  • Comando: Router(config-router)# auto-cost reference-bandwidth <Mbps>
  • Ejemplo: Router(config-router)# auto-cost reference-bandwidth 10000 = 10 Gbps
Router(config)# router ospf 1
Router(config-router)# auto-cost reference-bandwidth <Mbps>

Debe ser idéntica en todo el dominio

El reference-bandwidth por defecto es 100 Mbps, así que cualquier enlace de 100 Mbps o más rápido recibe cost 1 y SPF no los distingue. Si la cambias, hazlo igual en todos los routers o los cálculos de cost no coincidirán entre ellos.

Metodo B - Bandwidth de la interfaz

Definir el ancho de banda que OSPF usa para calcular el cost

  • Comando: Router(config-if)# bandwidth <kbps>
  • Ejemplo: Router(config-if)# bandwidth 10000
Router(config)# interface Gi0/0
Router(config-if)# bandwidth <kbps>

Cambia el valor de ancho de banda que OSPF usa para calcular el cost; no altera la velocidad física real del enlace.

Metodo C - Fijar el cost de una interfaz manualmente (Recomendado)

  • Comando: Router(config-if)# ip ospf cost <valor>
  • Ejemplo: Router(config-if)# ip ospf cost <valor>
Router(config)# interface Gi0/0
Router(config-if)# ip ospf cost 348

Verificar Costo: Router# show ip ospf interface <Interface>

Fija el cost a mano e ignora la fórmula por completo.