Como configurar OSPF de área única (OSPF Single Area) desde cero.

Muy buenas queridos blogueros y visitante que nos lee, en esta ocasión quiero traerles un pequeño tutorial de como configurar OSPF de área única en un entorno CISCO, no es nada del otro mundo pero aun así tratare de hacerlo lo mas claro posible, así que manos a la obra..!!

OSPF

¿Que es OSPF?

OSPF es un protocolo de enrutamiento dinámico de estado de enlace que utiliza el Algoritmo de Dijkstra para elegir la mejor ruta posible…

Tranquilos que yo tampoco lo pille la primera vez que me lo dijeron, asi que vamos a definirlo en lenguaje de humanos. En el mundo del networking los router deben “enrutar” de la mejor manera posible los paquetes que viajan aun destino cualquiera, para saber cual es el mejor camino deben usar algo asi como un mapa (tabla de enrutamiento) el cual contiene todas las posibles rutas para que el paquete llegue a su destino, este “mapa” debe ser alimentado constantemente, actualizado, anunciado, etc… y se pueden imaginar el labor que significaría eso para cualquier administrador de red, y es entonces donde entran en juego “Los protocolos de enrutamiento dinámico” que logran de forma dinámica y muy rapida alimentar los mapas de todos los routers en un area determinada.

Cabe aclarar que cuando digo “routers” no me refiero al pequeñito que tenemos en nustras casas, me refiero a grandes routers que mueven mucho trafico entre redes extensas (WAN), asi que cambien la imagen en sus mentes…

OSPF utiliza el algoritmo de Dijkstra para determinar cual es el mejor camino para enviar un paquete a través de la red, lo hace basándose en una métrica (costo) que a su vez depende del ancho de banda del enlace (esto sera un poco complicado :-\ ). Cada enlace (caminos) tiene un costo asignado y la meta de OSPF es elegir el camino que tenga el costo mas barato. En la siguiente animación se muestra como OSPF decide cual es el mejor camino para llegar de A hasta B

Algoritmo SPF en funcionamiento.

Bueno, de protocolos de enrutamiento dinámico podríamos pasar una larga tarde hablando pero ese no es el caso, ya que aquí hablaremos estrictamente de OSPF y como configurar.

¿Como se hace funcionar?

Pero antes unos cuantos puntos…

OSPF tiene dos versiones, una para IPv4 (OSPF2) y la otra para IPv6 (OSPF3) aquí vamos a configurar OSPF2

Recursos necesarios:

||| GNS3 funcionando.
||| Imagen del IOS de algún router (recomiendo la del modelo 3745)
||| Bloque de direcciones mayor 192.168.1.1/24 (en mi caso ya he creado 6 subredes para la topologia, así que a practicar un poco sobre subneting chicos!!)
||| A cada router deben agregarle una tarjeta de interfaces seriales para los enlaces WAN.

Les he preparado una pequeña topologia en GNS3 para mostrarles de que va y como se configura.

Topologia GNS3

Configuramos el direccionamiento en el Router A de la siguiente manera…

R1#ena   
R1#conf t                                                                                                 #Entramos en el modo configuración global
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int fa0/0                                                                                #Llamamos la interfaz
R1(config-if)#ip add
R1(config-if)#ip address 192.168.1.1 255.255.255.224                         #Asignamos dirección IP y la mascara
R1(config-if)#no shutdown                                                                     #Encendemos la interfaz
R1(config-if)#
*Mar  1 00:10:58.147: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:10:59.147: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R1(config-if)#exit
R1(config)#inte
R1(config)#interface se                                                                             #Llamar interfaz
R1(config)#interface serial 0/0
R1(config-if)#ip add
R1(config-if)#ip address 192.168.1.97 255.255.255.224                         #Asignar dirección IP y mascara 
R1(config-if)#no shu                                                                                 #Encendemos la interfaz
R1(config-if)#
*Mar  1 00:25:25.187: %LINK-3-UPDOWN: Interface Serial0/0, changed state to up
R1(config-if)#
*Mar  1 00:25:26.191: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to up
R1(config-if)#
*Mar  1 00:25:53.427: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to down
R1(config-if)#interface serial 0/1                                                           #Llamamos la interfaz
R1(config-if)#ip address 192.168.1.190 255.255.255.224                    #Asignamos la direccion IP y la mascara
R1(config-if)#no shu                                                                             #Encendemos la interfaz
R1(config-if)#
*Mar  1 00:26:24.663: %LINK-3-UPDOWN: Interface Serial0/1, changed state to up
*Mar  1 00:26:25.663: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1, changed state to up
R1(config-if)#exit
*Mar  1 00:26:53.427: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1, changed state to down

Ahora vamos a configurar OSPF en el mismo Router…

R1(config)#router ospf 1                                                                #Entramos en la configuración de OSPF y asignamos un ID
R1(config-router)#router-id 1.1.1.1                                                #Asignamos un ID al router (No es una direccion IP)
R1(config-router)#network 192.168.1.169 0.0.0.31 area 0   #Declaramos las redes, wildcard mas y su área (área única, recuerdan..?)
R1(config-router)#network 192.168.1.0 0.0.0.31 area 0               #Declaramos las redes que queremos anunciar a los routers vecinos
R1(config-router)#network 192.168.1.96 0.0.0.31 area 0             #Declaramos las redes que queremos anunciar a los routers vecinos
R1(config-router)#end

Por ultimo guardamos el archivo de ejecución en el archivo de inicio, para evitar perder las configuración tras algún reinicio inesperado.

R1#copy running-config startup-config
Destination filename [startup-config]? 
Building configuration...
[OK]
R1#

Ya esta configurado el Router A, pero antes de seguir cabe hacer unas aclaraciones:

Los enlaces WAN solo se levantan cuando se encienden ambos lados del enlace, por eso cuando hacemos un “no shutdown” a un enlace WAN este se muestra UP:

*Mar 1 00:25:26.191: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to up

Y luego down…

*Mar 1 00:25:53.427: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to down

Por razones de rendimiento en la red los protocolos de enrutamiento dinámico se configuran por áreas especificas, de esa forma si ocurre un problema en una área de la red esta no afecta el resto, esta es la razón por la que al declarar una red debemos especificar el área:

R1(config-router)#network 192.168.1.96 0.0.0.31 area 0

Cada router corriendo OSPF en un área determinada debe tener un ID para poder identificar a sus vecinos y ser identificados, una ID de router es un valor decimal de 32 bits muy similar a una dirección IP (casi idéntico) pero no tiene relevancia en el proceso de enrutamiento, es decir NO FUNCIONA como una dirección IP. “Se parece pero no es”

Dicho esto vamos a realizar las configuraciones en el Router B (En el primer ejemplo comente todos los comandos para que hagan de referencia para el resto del tutorial, asi que de aquí en adelante no los comentare)

Configuramos el direccionamiento en el Router B

R2#ena
R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#int fa0/0
R2(config-if)#ip add
R2(config-if)#ip address 192.168.1.33 255.255.255.224
R2(config-if)#no shu
R2(config-if)#
*Mar  1 00:17:12.331: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:17:13.331: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R2(config-if)#int se 0/1                             
R2(config-if)#int se 0/0
R2(config-if)#ip add
R2(config-if)#ip address 192.168.1.126 255.255.255.224
R2(config-if)#no shu
R2(config-if)# 
*Mar  1 00:18:36.135: %LINK-3-UPDOWN: Interface Serial0/0, changed state to up
R2(config-if)#
*Mar  1 00:18:37.139: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to up

Procedemos a configurar nuestro proceso OSPF…

R2(config-if)#router ospf 1
R2(config-router)#router-id 2.2.2.2
R2(config-router)#network 192.168.1.32 0.0.0.31 area 0
R2(config-router)#network 192.168.1.96 0.0.0.31 area 0
R2(config-router)#
*Mar  1 00:20:34.947: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Serial0/0 from LOADING to FULL, Loading Done
R2(config-router)#network 192.168.1.128 0.0.0.31 area 0
R2(config-router)#exit

Por ultimo copiamos el archivo de configuración en ejecución al archivo de ejecución de inicio

R2#copy running-config st
R2#copy running-config startup-config
Destination filename [startup-config]? 
Building configuration...
[OK]

Ya esta configurado el Router 2 y como es de costumbre vamos a realizar algunas aclaraciones…

En una red y en un Router pueden ser configurados múltiples procesos de OSPF, por ello cada proceso OSPF debe ser identificado con un ID de proceso, de ahí que siempre usamos…

R2(config-if)#router ospf 1

Casi terminamos… Es hora de configurar el Router B, así que vamos a ello.

Direccionamiento:

R3#ena
R3#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config)#int fa0/0
R3(config-if)#ip add
R3(config-if)#ip address 192.168.1.65 255.255.255.224
R3(config-if)#no shu
R3(config-if)#
*Mar  1 00:02:34.975: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 00:02:35.975: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R3(config-if)#int se0/0                              
R3(config-if)#ip add
R3(config-if)#ip address 192.168.1.161 255.255.255.224
R3(config-if)#no shu
R3(config-if)#
*Mar  1 00:03:32.167: %LINK-3-UPDOWN: Interface Serial0/0, changed state to up
R3(config-if)#
*Mar  1 00:03:33.171: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to up
R3(config-if)#int se0/1                               
R3(config-if)#ip add
R3(config-if)#ip address 192.168.1.158 255.255.255.224
R3(config-if)#no shu
R3(config-if)#
*Mar  1 00:04:22.167: %LINK-3-UPDOWN: Interface Serial0/1, changed state to up
*Mar  1 00:04:23.167: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/1, changed state to up
R3(config-if)#exit

OSPF config.

R3(config)#router ospf 1
R3(config-router)#router-id 3.3.3.3
R3(config-router)#net
R3(config-router)#network 192.168.1.64 0.0.0.31 area 0
R3(config-router)#network 192.168.1.128 0.0.0.31 area 0
R3(config-router)#
*Mar  1 00:08:13.639: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial0/1 from LOADING to FULL, Loading Done
R3(config-router)#network 192.168.1.160 0.0.0.31 area 0
R3(config-router)#
*Mar  1 00:08:30.219: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Serial0/0 from LOADING to FULL, Loading Done
R3(config-router)#end

Guardar las configuraciones.

R3#copy running-config st
R3#copy running-config startup-config
Destination filename [startup-config]? 
Building configuration...
[OK]
R3#

Listo!!!!

Pero antes de dar por finalizado, viene la tanda de aclaraciones ::)

No se si se habrán fijado en los avisos que van saltando a medida que vamos configurando OSPF, avisos como:

*Mar 1 00:20:34.947: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Serial0/0 from LOADING to FULL, Loading Done
*Mar 1 00:08:30.219: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Serial0/0 from LOADING to FULL, Loading Done
*Mar 1 00:08:13.639: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial0/1 from LOADING to FULL, Loading Done

Ummmm…. Interesante no?

Pues OSPF como protocolo de enrutamiento dinámico necesita conocer sus vecinos, conocer sus tablas de enrutamiento, anunciar sus propias redes conectadas, etc… y para lograr ese fin crea algo llamado Adyacencias  basándose en una regla de saludos, solicitudes y acuses de recibo y cuando logra unificar las bases de datos de todos los router en su área de acción llega su estado FULL de convergencia, lo que en resumen significa que: 

“Todos los routers en un área especifica conocen totalmente la topologia de la red así como sus costos”

Para saber si los enrutadores han logrado la Full convergencia solo debemos escribir:

R1#show ip ospf neighbor

Y veremos:

Adyacencias R1

Adyacencias R2

Adyacencias R3

Y ahora si, listo!!!!

Saludos por allá blogueros y si les gusto recuerden seguir mi blog, así como mi cuenta de Twitter y mi pagina de Facebook.

Gracias.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s