Configurando OSPF de área única (OSPF Single Area)

Iniciado por Cl0udswX, Febrero 03, 2015, 05:50:21 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Febrero 03, 2015, 05:50:21 PM Ultima modificación: Febrero 03, 2015, 06:20:24 PM por Cl0udswX
Muy buenas underc0ders, en esta ocasión quiero traerles un pequeño tutorial de como configurar OSPF de área única, no es nada del otro mundo pero aun así tratare de hacerlo lo mas claro posible, así que manos a la obra..!!


¿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 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta para determinar cual es el mejor camino para enviar un paquete a travez 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



Bueno, de protocolos de enrutamiento dinamico podriamos pasar una larga tarde hablando pero ese no es el caso, ya que aqui 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.

Pues prepare una pequeña topologia en GNS3 para mostrarles de que va y como se configura.



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

Código: php
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...

Código: php
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.

Código: php
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:

a) 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:
Citar*Mar  1 00:25:26.191: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to up

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

b) 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:

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

c) 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

Código: php
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...

Código: php
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

Código: php
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...

d) 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...

CitarR2(config-if)#router ospf 1

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

Direccionamiento:

Código: php
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.

Código: php
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.

Código: php
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:

Citar*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
Citar*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
Citar*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:

Código: php
R1#show ip ospf neighbor


Y veremos:



R2



R3



Y ahora si, listo!!!!

Saludos por allá underc0ders y hasta la próxima.
El talento se parece al tirador que da en un blanco que los demás no pueden alcanzar; el genio se parece al tirador que da en un blanco que los demás no pueden ver.



Lo leí detenidamente pues hay cosas que para mí eran desconocidas,  Cl0udswX.
Sin embargo, y gracias a tu forma didáctica de redactar el paper, pude acopiar nuevo conocimiento.  ;D

Gracias por el esfuerzo que haces en compartir saberes y además, explicarlos con tanta claridad.

Gabi
Tú te enamoraste de mi valentía, yo me enamoré de tu oscuridad; tú aprendiste a vencer tus miedos, yo aprendí a no perderme en tu abismo.

Cualquier duda que tengas puedes preguntar y con mucho gusto te respondo bruja.

En cuanto a lo del esfuerzo te diré que estoy un poco libre en estos días así que me verás muy activo, saludos por allá bruja un abrazo!!!


Enviado desde mi iPhone utilizando Tapatalk
El talento se parece al tirador que da en un blanco que los demás no pueden alcanzar; el genio se parece al tirador que da en un blanco que los demás no pueden ver.