0% encontró este documento útil (0 votos)
14 vistas48 páginas

Implementación de Redes SDN con OpenDaylight

El documento presenta una guía sobre la implementación de redes SDN utilizando el controlador OpenDaylight, destacando su arquitectura modular, soporte multi-protocolo y capacidad para interactuar con aplicaciones externas. También se abordan conceptos clave como la virtualización de redes, VLAN, VPN, redes activas y programables, y Mininet, que facilitan la gestión y optimización de redes. Se espera que esta información sea útil para estudiantes en su formación académica y profesional en la configuración de redes.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas48 páginas

Implementación de Redes SDN con OpenDaylight

El documento presenta una guía sobre la implementación de redes SDN utilizando el controlador OpenDaylight, destacando su arquitectura modular, soporte multi-protocolo y capacidad para interactuar con aplicaciones externas. También se abordan conceptos clave como la virtualización de redes, VLAN, VPN, redes activas y programables, y Mininet, que facilitan la gestión y optimización de redes. Se espera que esta información sea útil para estudiantes en su formación académica y profesional en la configuración de redes.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Guías de laboratorio de Telemática

Guía 4: Implementación de redes SDN mediante el controlador


Opendaylight

Objetivo: Desplegar redes SDN mediante el controlador


Opendaylight.
Fundamentos Teóricos

La gestión de redes es una disciplina fundamental en la informática moderna que permite


establecer infraestructuras sólidas y confiables. En este contexto, OpenDaylight surge como
una alternativa innovadora para la configuración de redes definidas por software (SDN),
ofreciendo mayor flexibilidad, automatización y escalabilidad.
OpenDaylight es un proyecto de código abierto que proporciona una plataforma de
controlador SDN para redes de computadoras. Su arquitectura modular y extensible mediante
plugins permite añadir nuevas funcionalidades de forma sencilla. Además, soporta diversos
protocolos SDN como OpenFlow, OVSDB, NETCONF y BGP.
Una de las principales fortalezas de OpenDaylight es su capacidad para interactuar con
aplicaciones externas a través de APIs abiertas (Northbound APIs). Esto permite a los
desarrolladores crear aplicaciones personalizadas para agregar funciones avanzadas, como
monitoreo y gestión de tráfico, seguridad, optimización de ancho de banda, entre otras.
OpenDaylight es una herramienta poderosa en el ámbito de las redes definidas por software,
que permite a las organizaciones implementar redes más flexibles, programables y escalables,
al tiempo que fomenta la innovación y el desarrollo de soluciones personalizadas para la
gestión de redes.
A lo largo del documento, se abordará el uso de este controlador, así como también se
discutirá la Arquitectura de OpenFlow y Mininet. Se espera que este documento sea una
herramienta valiosa para el desarrollo del curso.
Como parte de la materia de configuración de redes, se espera que los estudiantes puedan
beneficiarse de esta información y aplicar los conocimientos adquiridos en su formación
académica y profesional.
VIRTUALIZACIÓN DE REDES

La convergencia de los recursos de red físicos y virtuales en una sola entidad administrativa
es lo que define la virtualización de redes. Su objetivo principal es proporcionar un entorno
compartido seguro y eficiente para que los usuarios y sistemas puedan utilizar recursos de
red. La virtualización de redes busca mejorar la productividad y eficiencia al automatizar
tareas y permitir la gestión centralizada de archivos, imágenes y programas desde un único
lugar físico.
En el entorno de virtualización de redes, se establecen varios objetivos de diseño:

• Adaptabilidad y diversidad: Permitir la integración de diferentes tecnologías y


sistemas en un entorno flexible.
• Capacidad de gestión: Facilitar la administración y control de los recursos de red de
manera eficiente.
• Aislamiento: Garantizar la seguridad y privacidad al mantener separados los distintos
entornos virtuales.
• Programabilidad: Proporcionar la capacidad de programar y personalizar las
funciones de red según las necesidades específicas.
• Facilidad en el desarrollo e investigación: Promover un entorno propicio para el
desarrollo de nuevas soluciones y la investigación en el campo de la virtualización de
redes.
• Soporte para sistemas tradicionales: Permitir la integración con sistemas y
tecnologías de red convencionales.

1
TECNOLOGÍAS

Red de Área Local Virtual (VLAN)

Una VLAN (Red de área local virtual o LAN virtual) es un método para crear redes lógicas
independientes dentro de una misma red física.
Gracias a las redes virtuales (VLAN), es posible liberarse de las limitaciones de la
arquitectura física (geográficas, de direccionamiento, etc.), ya que se define una
segmentación lógica basada en el agrupamiento de equipos según determinados criterios
(direcciones MAC, número de puertos, protocolo, etc).
Existen varios tipos de VLAN que son:

• VLAN de nivel 1 (por puerto): También conocida como “port switching”. Se


especifica qué puertos del switch pertenecen a la VLAN, los miembros de dicha
VLAN son los que se conecten a esos puertos.
• VLAN de nivel 2 por direcciones MAC: Se asignan hosts a una VLAN en función
de su dirección MAC. Tiene la ventaja de que no hay que reconfigurar el dispositivo
de conmutación si el usuario cambia su localización.
• VLAN de nivel 2 por tipo de protocolo: La VLAN queda determinada por el
contenido del campo tipo de protocolo de la trama MAC
• VLAN de nivel 3 por direcciones de subred (subred virtual): La cabecera de nivel
3 se utiliza para mapear la VLAN a la que pertenece. En este tipo de VLAN son los
paquetes, y no las estaciones, quienes pertenecen a la VLAN.
• VLAN de niveles superiores: La pertenencia a una VLAN puede basarse en una
combinación de factores como puertos, direcciones MAC, subred, hora del día, forma
de acceso, condiciones de seguridad del equipo.

Las VLANs están definidas por los estándares IEEE 802.1D, 802.1p, 802.1Q y 802.10.

2
Redes Virtuales Privadas (VPN)

Una red privada virtual VPN de las siglas en inglés de Virtual Private Network, es una
tecnología de red que permite una extensión segura de la red local (LAN) sobre una red
pública o no controlada como Internet. Permite que la computadora en la red envíe y reciba
datos sobre redes compartidas o públicas como si fuera una red privada con toda la
funcionalidad, seguridad y políticas de gestión de una red privada.
Básicamente existen cuatro arquitecturas de conexión VPN:

• VPN de acceso remoto: Es quizás el modelo más usado actualmente, y consiste en


usuarios que se conectan desde sitios remotos utilizando Internet como vínculo de
acceso. Una vez autenticados tienen un nivel de acceso muy similar al que tienen en
la red local de la empresa
• VPN punto a punto: El servidor VPN, que posee un vínculo permanente a Internet,
acepta las conexiones vía Internet provenientes de los sitios y establece el túnel VPN.
Esto permite eliminar los costosos vínculos punto a punto tradicionales (realizados
comúnmente mediante conexiones de cable físicas entre los nodos).
• Tunneling: La técnica de tunneling consiste en encapsular un protocolo de red sobre
otro (protocolo de red encapsulador) creando un túnel dentro de una red de
computadoras. El establecimiento de dicho túnel se implementa incluyendo una PDU
(unidades de datos de protocolo) determinada dentro de otra PDU con el objetivo de
transmitirla desde un extremo al otro del túnel sin que sea necesaria una interpretación
intermedia de la PDU encapsulada.
• VPN over LAN: Una aplicación realmente desconocida pero muy útil y potente
consiste en establecer redes privadas virtuales dentro de una misma red local. Una
aplicación muy típica de este modelo se utiliza para aumentar la seguridad en redes
de acceso inalámbrico, separándolas así de la red física para evitar posibles fugas de
información o accesos no autorizados. Sirve para aislar zonas y servicios de la red
interna.

REDES ACTIVAS Y PROGRAMABLES

Las redes activas (Active Networking) orientadas hacia el control de la red, conceptualizando
una interfaz de programación (API) que expone los recursos (procesamiento,
almacenamiento, colas de paquetes, etc) en nodos de red individuales y soporta la
construcción de funcionalidades personalizadas para aplicar a un subconjunto de paquetes
que pasan a través del nodo.

3
REDES OVERLAY

Una red overlay es una red virtual de nodos enlazados lógicamente, que está construida sobre
una o más redes subyacentes. Su objetivo es implementar servicios de red que no están
disponibles en la red subyacente. Las redes superpuestas pueden apilarse de forma que
tengamos capas que proporcionen servicios a la capa superior.

REDES ACTUALES

Debido al aumento en el número de dispositivos conectados y el creciente flujo de datos en


las redes, las arquitecturas tradicionales se enfrentan a varias limitaciones:

• Complejidad: Para satisfacer las demandas cada vez más exigentes de los usuarios,
se han desarrollado numerosos protocolos de red que ofrecen mejor rendimiento,
confiabilidad y seguridad más estricta. Sin embargo, estos protocolos se han diseñado
de manera aislada, lo que significa que cada solución está destinada a abordar un
problema específico, lo que limita los beneficios de las soluciones generales. Esta
complejidad dificulta la adaptabilidad dinámica de las redes a los cambios en el tráfico
de las aplicaciones, lo que resulta en redes estáticas. La asignación de recursos se
vuelve manual, ya que es necesario configurar equipos de diferentes fabricantes y
ajustar parámetros según cada sesión o aplicación.
• Inconsistencias en las políticas: Implementar políticas que abarquen toda la red
requiere la configuración de miles de mecanismos y dispositivos, lo que puede
resultar en incumplimiento de regulaciones o configuraciones erróneas. Esto deja a la
red vulnerable y expuesta a riesgos de seguridad y calidad de servicio inconsistentes.
• Falta de escalabilidad: Con la incorporación de cientos o miles de dispositivos de
red, la gestión y configuración manual se vuelve cada vez más complicada. La red no
puede escalar de manera eficiente para adaptarse al crecimiento y los cambios en la
infraestructura.
• Dependencia de los fabricantes: La implementación de nuevas capacidades y
servicios en respuesta a las demandas de los usuarios se ve obstaculizada por los
ciclos de desarrollo de los fabricantes y la falta de interfaces estandarizadas. Esto
limita la capacidad de la red para adaptarse rápidamente a entornos específicos y
aprovechar las últimas innovaciones tecnológicas.

4
MININET

Es una plataforma de emulación de red, que crea redes definidas por software (Tipo
OpenFlow por ejemplo) totalmente escalables (cuyas dimensiones pueden ser de hasta
cientos de nodos, según la configuración deseada) que están contenidas en una PC que utiliza
procesamiento Linux.
Mininet permite crear, interactuar, personalizar y compartir de forma rápida un prototipo de
red definido mediante software al mismo tiempo proporcionar un camino fácilmente
adaptable para la migración a hardware.
Los atributos en los que se basa Mininet son los siguientes:

• Flexible: Soporta diferentes tecnologías y funcionalidades de las nuevas tecnologías


de red basadas en software.
• Desplegable: La implantación correcta de un prototipo SDN no debe exigir cambios
en el código.
• Interactivo: La gestión y la operación de la red debe realizarse en tiempo real, como
si no se tratase de una red virtualizada.
• Realista: el comportamiento de la red debe coincidir con la real.
• Compartible: Compartición de los diferentes prototipos para poder realizar pruebas
de todos ellos en diferentes experimentos.
La principal limitación de MiniNet es la pérdida de fidelidad en su rendimiento especialmente
ante grandes cargas debido al multiplexado en el tiempo de los recursos de la CPU planificado
por defecto en Linux.

5
¿QUÉ ES OPENDAYLIGHT?

OpenDaylight es un proyecto de código abierto que proporciona una plataforma de


controlador de red definida por software (SDN) para redes de computadoras.

Más específicamente, OpenDaylight se caracteriza por:

• Un controlador SDN: Funciona como el núcleo central para controlar y gestionar


redes definidas por software de manera centralizada y programable.
• Una plataforma modular: Su arquitectura basada en plugins y módulos permite la
incorporación de nuevas funcionalidades y capacidades mediante plugins
desarrollados por la comunidad.
• Soporte multi-protocolo: Admite diversos protocolos SDN como OpenFlow,
OVSDB, NETCONF, BGP, entre otros, lo que facilita la interacción con una amplia
gama de dispositivos de red.
• APIs Northbound: Proporciona APIs abiertas para que aplicaciones externas
interactúen y programen el comportamiento del controlador.
• Distribución de código abierto: Es respaldado por una comunidad grande de
desarrolladores y empresas líderes en tecnología, siendo un proyecto de código
abierto.
• Plataforma de desarrollo: Sirve como un framework para la creación de
aplicaciones y servicios de red personalizados sobre una infraestructura SDN.

OpenDaylight ofrece una solución integral que centraliza el control de la red, posibilita la
programación y automatización, y facilita el desarrollo de aplicaciones SDN avanzadas sobre
una plataforma abierta y ampliamente adoptada en la industria.

MODELO DE SERVICIOS

6
OpenDaylight sigue un modelo de servicios que define diferentes capas y componentes para
organizar su arquitectura. Este modelo consta de las siguientes capas principales:

Capa de Infraestructura:

• Esta capa proporciona los servicios fundamentales y las abstracciones básicas para
interactuar con los dispositivos de red subyacentes.
• Incluye componentes como la interfaz de controlador del sur (Southbound plugins)
que implementan protocolos como OpenFlow, OVSDB, NETCONF, etc.

Capa de Plataforma:

• En esta capa se encuentran los servicios centrales y comunes que se basan en la capa
de infraestructura.
• Incluye servicios como el Modelo de Datos (MD-SAL), servicios de topología,
estadísticas, entre otros.
• El Modelo de Datos (MD-SAL) es un componente clave que proporciona una
representación coherente de los datos de red y una forma estandarizada de acceder y
manipular esos datos.

Capa de Servicios de Red:

• Aquí se encuentran los servicios de red específicos que se construyen sobre los
servicios de la plataforma.
• Incluye servicios como gestión de flujos, ingeniería de tráfico, virtualización de redes,
entre otros.

Capa de Aplicaciones y Orquestación:

• Esta capa superior alberga las aplicaciones de red y los componentes de orquestación.
• Las aplicaciones pueden consumir los servicios de red expuestos por las capas
inferiores y realizar tareas de orquestación y automatización de red.

Northbound APIs:

7
• OpenDaylight proporciona APIs abiertas (Northbound APIs) que permiten a
aplicaciones externas interactuar con el controlador y consumir sus servicios.
• Ejemplos de estas APIs son las APIs REST, YANG, entre otras.

Esta arquitectura en capas y el modelo de servicios permiten a OpenDaylight ser extensible


y modular. Los desarrolladores pueden crear nuevos componentes, servicios y aplicaciones
que se integren en las diferentes capas según sea necesario.
Este enfoque también promueve la reutilización de componentes y servicios, lo que facilita
el desarrollo y la integración de nuevas funcionalidades en la plataforma OpenDaylight.

COMPONENTES

OpenDaylight está compuesto por varios componentes clave que trabajan juntos para
proporcionar una plataforma de controlador SDN completa. Estos componentes son:

1. Controlador Principal (ODL Controller):


• Es el componente central que coordina y gestiona todos los demás
componentes y servicios.
• Actúa como el punto de entrada para interactuar con el sistema.

2. Interfaz Southbound (Southbound Plugins):


• Son los componentes que implementan los diferentes protocolos SDN para
comunicarse con los dispositivos de red subyacentes.
• Ejemplos: OpenFlow, OVSDB, NETCONF, BGP, etc.

3. Modelo de Datos y Servicios Abstractos de Red (MD-SAL):


• Proporciona una representación coherente de los datos de red y una forma
estandarizada de acceder y manipular esos datos.
• Actúa como una capa de abstracción entre los componentes Southbound y los
servicios de red.

4. Servicios de Red:
• Son componentes que implementan funcionalidades específicas de red, como
gestión de flujos, ingeniería de tráfico, virtualización de redes, etc.
• Se basan en los servicios proporcionados por el MD-SAL.

8
5. Aplicaciones de Red:
• Son programas de alto nivel que consumen los servicios de red expuestos por
OpenDaylight.
• Permiten a los desarrolladores crear soluciones personalizadas para
automatización, monitoreo y gestión de redes.

6. Interfaz Northbound (Northbound APIs):


• Son APIs abiertas que permiten a aplicaciones externas interactuar con
OpenDaylight.
• Ejemplos: APIs REST, APIs YANG, etc.

7. Sistema Operativo Base (Base OS):


• OpenDaylight se ejecuta sobre un sistema operativo base, generalmente una
distribución de Linux.

8. Plano de Datos (Data Plane):


• Está compuesto por los dispositivos de red físicos y virtuales que conforman
la infraestructura de red real.
• OpenDaylight controla y gestiona este plano de datos a través de los
componentes Southbound.

Además, OpenDaylight cuenta con otros componentes como el sistema de administración,


herramientas de desarrollo, documentación, entre otros. Todos estos componentes trabajan
juntos para proporcionar una plataforma SDN robusta, escalable y extensible.

9
ARQUITECTURA CONTROLADOR OPENDAYLIGHT

Figura 1. Arquitectura Controlador Opendaylight

10
GUIA DE INSTALACIÓN

MAQUINA VIRTUAL (VIRTUAL BOX)

La máquina virtual es lo más importante de este laboratorio, por lo cual se ha decidió instalar
una de las más recomendadas, la cual es VirtualBox, una aplicación creada por la empresa de
Oracle, la cual nos ayudara a emular una maquina independiente en nuestra computadora.
Para instalar el VirtualBox, es necesario descargar el instalador de su página, el cual pueden
encontrar a continuación
$ [Link]

Una vez que pulsen el enlace y los redireccione a la página, descargaran el instalador que va
de acuerdo con su sistema operativo, en este caso el sistema operativo que se está usando es
el Windows 11, por lo cual el instalador que se necesita para ejecutar el sistema es el del
Windows, el cual se procede a descargar y arrojara un archivo de instalación.

DESCARGAR IMAGEN ISO UBUNTU

Después de haberse instalado y ejecutado el VirtualBox sin problemas, procedemos a instalar


el sistema operativo recomendado para trabajar con OpenStack, el cual es el sistema operativo
Ubuntu Focal Fossa, el cual pueden instalar en el enlace que se proporcionara a continuación
$ [Link]

11
Después de ingresar a la página oficial en el cual descargaran la imagen .ISO del apartado
que dice “Desktop Imagen”.

Este es el archivo que se utilizara para configurar nuestro entorno Linux, en la máquina virtual
de VirtualBox, ahora procederemos a dirigir a nuestra máquina virtual y en el apartado de
arriba, nos dirigimos al botón que dice “Nueva” y lo pulsamos:

Figura 2. Entorno VirtualBox

Se nos abrirá un apartado en donde procederemos a hacer los siguientes pasos:


1. Asignamos el nombre de la máquina virtual.
2. Seleccionamos la imagen .ISO con la que vamos a trabajar la cual se selecciona en el
apartado que dice “ISO IMAGE”.

12
Figura 3. Creación de Máquina Virtual

3. Después, pasamos al siguiente apartado en donde se configurará la contraseña si así


usted lo desea o se deja por default(changeme) como se hará en esta ocasión:

Figura 4. Creación de Máquina Virtual (Credenciales)

13
4. Pasamos al siguiente apartado en donde configuraremos la Memoria Base y el
Procesador en este caso asignaremos 5000 MB de memoria base y 6 CPUs, puede
dejarse por “default”, si gustan.

Figura 5. Creación de Máquina Virtual (Hardware)

5. Ahora, se pasará a la siguiente parte y es donde configuraremos el espacio, por motivos


de no gastarle tanto espacio a su disco duro, lo dejaremos por default.

Figura 6. Creación de Máquina Virtual (Espacio en Disco)

14
6. Por último, se nos mostrara en la siguiente ventana un breve resumen de cómo se
configuro toda la máquina virtual y le daremos al botón de “Terminar”.

Figura 7. Creación de Máquina Virtual (Resumen)

Teniendo el archivo ISO descargado, se proceder a crear una máquina virtual en el VirtualBox
con él, obteniendo el siguiente resultado.

15
Figura 8. Entorno VirtualBox (Maquina Creada)
Posterior a la creación de la maquina es necesario abrirla para que se hagan todas las
configuraciones del sistema alojado dentro de ella, debido a que al ser un espacio virtual que
recrea un computador, se tiene que hacer las configuraciones de dicho sistema como si se
estuviera instalando en un computador normal.

Ahora, al entrar se arrojará al inicio del sistema operativo Ubuntu, aquí se encontrará que se
pide una contraseña para acceder, esto se debe a que VirtualBox al crear una máquina virtual
esta es generada con un usuario y contraseña definidos.

Figura 9. Ubuntu Login.

Para acceder al escritorio de trabajo, simplemente se escribirá la contraseña definida por uno
en el momento de crear la máquina virtual, en caso tal que al momento de la creación todo se
dejara por defecto, entonces la contraseña que tendrá asignada la maquina será “changeme”,
la cual permitirá posterior a la escritura de ella acceder al escritorio donde se le dará siguiente
a todo sin seleccionar nada para que el sistema trabaje en un entorno limpio.

16
Figura 10. Ubuntu Escritorio

En esta parte se hará unas ultimas configuraciones para que el sistema pueda correr las
utilidades necesarias para el funcionamiento de Opendaylight.

Dentro del escritorio, será necesario dirigirse al apartado de configuración o settings y se


buscara el apartado de idioma dentro del sistema operativo, ahí se cambiará el idioma a
cualquier otro como el inglés de Canadá o español, esto se hace con el objetivo de que, al
cambiar el idioma, la terminal logre poder ejecutarse. Debido a ciertos motivos el idioma por
defecto con el que viene Ubuntu o la configuración dentro de la máquina virtual impide que
logre ejecutarse de manera efectiva, aplicar esta configuración lograra arreglar el problema.

17
Figura 11. Consola del Sistema
Por último, se agregará un nuevo superusuario o usuario root dentro de las credenciales del
sistema, esto es necesario para poder hacer uso de varios comandos que se necesitaran en la
instalación de OpenStack.

Para esto, es necesario dirigirse a la terminal de Linux, y se escribirá el siguiente comando:


$ su

El comando “su” se utiliza para cambiar al usuario superusuario (root) en un sistema Linux.
Al ejecutar este comando, se pedirá que se ingrese la contraseña del superusuario. Una vez
que se autentique, el prompt del sistema cambiará y se tendrá privilegios de superusuario, lo
que permite realizar operaciones que requieran permisos elevados.

Después, les pedirá escribir una contraseña la cual es la misma con la que se accede al
escritorio (changeme) y posteriormente se procederá a escribir el siguiente comando:

$ nano /etc/sudoers

El comando nano /etc/sudoers se utiliza para abrir y editar el archivo de configuración


/etc/sudoers utilizando el editor de texto nano. El archivo /etc/sudoers es un archivo de
configuración que determina los permisos y configuraciones relacionadas con el comando
sudo en Linux.

Una vez aplicado el comando, esto los redireccionará a un apartado donde se buscará la
siguiente línea:
#User privilege specification

18
Aquí se encontrará el apartado donde se va a agregar el nuevo superusuario, para esto, se
hará un espacio debajo del superusuario ya existente y se agregará la siguiente línea:

vboxuser ALL=(ALL:ALL)ALL

Aquí cabe mencionar que se están usando parámetros que vienen por defecto en el
VirtualBox, en caso de que estos se encuentren diferentes, como por ejemplo el usuario no
sea “vboxuser”, sino cualquier otro diferente a este, es necesario cambiarlo por el que se
designó por ustedes. El resultado final sería el siguiente:

Figura 12. Consola del Sistema (Asignación de Privilegios)

Después de efectuar todo, se procede a salir y guardar los cambios con la siguiente
combinación de teclas:

$ ctrl + x
$ Y (Para aceptar los cambios)
$ Tecla enter

Por último, se cerrará la ventana de la terminal para posteriormente iniciarla de manera


limpia.

19
PREPARACIÓN DEL AMBIENTE

Para esta parte es necesario hacer ciertos detalles, por el cual nos dirigiremos al apartado
principal de la máquina virtual y ahí le daremos “click derecho” a la maquina virtual creada
anteriormente y nos dirigiremos al apartado de “setting” o “configuración”.

Figura 13. Entorno VirtualBox (Configuración Maquina)

Luego, se nos abrirá un apartado como el siguiente:

20
Figura 14. Entorno de Configuración Máquina Virtual

Una vez aquí dentro nos dirigiremos al apartado de “network” o “red” como se muestra a
continuación:

21
Figura 15. Entorno de Configuración Máquina Virtual (General)

Estando aquí, procederemos a cambiar la conexión de “NAT” por la conexión de “Adaptador


de puente” o “Bridged adapter”, una vez hecho eso, se nos desplegara algunas opciones como
las que se ven a continuación:

Figura 16. Entorno de Configuración Máquina Virtual (Network)

Estas opciones no serán iguales para todos y puede que aparezcan más de una, lo importante
es que una vez se despliegue las opciones, la opción de “Ethernet Connection” o “Conexión
por Ethernet” es para computadores conectados directamente por cable al router y la
“Conexión Wi-Fi” son para aquellos que están conectados de manera inalámbrica, es
importante elegir la opción en base a esto, después de haber explicado esto, se procederá a
elegir la primera opción ya que el computador donde se trabaja actualmente, está por
conexión directa.
Después de haberse hecho esto, se procederá a abrir nuevamente la máquina virtual, si tenían
la máquina virtual abierta cuando hicieron esta parte será necesario que la reinicien, posterior
a esto será necesario entrar a la consola, como se puede ver a continuación:

22
Figura 17. Consola del Sistema

Ahora bien, otro elemento que se usara en este laboratorio va a ser la herramienta PuTTY, la
cual nos ayudara a hacer las pruebas con el framework Opendaylight, para esto, nos
dirigiremos al siguiente enlace que nos redireccionara a la página donde se descargara el
aplicativo.
$ [Link]

Una vez dentro de la página, procederemos a presiona la siguiente opción:

23
Figura 18. Página web PuTTY
Esta opción nos redirigirá a la siguiente página donde se presionará el link de descarga con
el que instalaremos el PuTTY, como se muestra a continuación:

Figura 19. Página web PuTTY (Descarga)

Una vez descargado el instalador, lo proceden a ejecutar y luego de haberse terminado de


instalar, lo abren y les ejecutara lo siguiente:

24
Figura 20. Entorno PuTTY
PREPARACIÓN DEL AMBIENTE.

Para correr Opendaylight, se deberá tener abierta la máquina virtual con el sistema operativo
instalado anteriormente y sobre todo debidamente configurado ya que esto ayudará a no tener
inconvenientes durante su instalación.

Figura 21. Ubuntu Escritorio

Para empezar, se abrirá la terminal y dentro de la terminal se escribirá el siguiente comando:


$ sudo apt update -y && sudo apt upgrade -y

Este comando servirá para actualizar las listas de paquetes y luego mejorar todos los paquetes
a las últimas versiones sin pedir confirmación.

25
Figura 22. Consola del Sistema (Actualización de Paquetes)

Cabe destacar que en algunas ocasiones el sistema pedirá una verificación, ya que son
cambios y actualizaciones que se están haciendo a nivel sistemático, esta verificación es pedir
nuevamente la contraseña de acceso al sistema.

Todos estos cambios y actualizaciones que se hagan se pueden verificar con el comando:
$ sudo apt list --upgradeable

Si todos los cambios fueron efectuados de manera correcta, mostrara un “Listo” (Done) como
respuesta.

26
Figura 23. Consola del Sistema (Verificación de paquetes)

Ahora, procederemos a escribir el siguiente comando:


$ sudo apt-get update

Este comando actualiza la lista de paquetes disponibles para instalar desde los repositorios
configurados en tu sistema.

27
Figura 24. Consola del Sistema (Actualización de paquetes 2)

Luego, escribiremos el siguiente comando:


$ sudo apt-get install openssh-server

Este comando se usa para instalar el servidor OpenSSH en sistemas Ubuntu, después de
ejecutar este comando e instalar OpenSSH, tu sistema estará configurado para aceptar
conexiones SSH entrantes, lo que te permitirá conectarte de forma segura a tu sistema desde
otra computadora a través de la red y realizar diversas tareas, como transferir archivos de
forma segura o ejecutar comandos en el sistema remoto

28
Figura 25. Consola del Sistema (Instalación de Openssh server)

Este comando se usa para proporcionar un conjunto de herramientas de red como “ifconfig”,
“netstat”, “route”, entre otros.
$ sudo apt install net-tools

29
Figura 26. Consola del Sistema (Instalación net-tools)
Después de esto, escribiremos el siguiente comando que será esencial para continuar con el
laboratorio:
$ sudo systemctl status ssh

Este comando se utiliza para verificar el estado del servicio SSH (Secure Shell) en sistemas
que utilizan el sistema de inicio systemd, como muchas distribuciones basadas en Linux.

30
Figura 27. Consola del Sistema (Verificación del estado de servicio ssh)

Para cerrar aquí simplemente apretamos la combinación de “control + c”, que nos devolverá
al apartado donde podemos seguir escribiendo el resto de los comandos.
Ahora, para continuar, procedemos a escribir el siguiente comando:
$ ip a

Este comando se utiliza para mostrar información detallada sobre las interfaces de red del
sistema.
Una vez escrito el comando, procedemos a buscar la interfaz de red que necesitamos, en este
caso se está usando una interfaz de red la cual en este caso para la red que se está usando es
la siguiente:

Figura 28. Consola del Sistema (Consulta de interfaz)

Esta va a variar de acuerdo con la red de cada uno. Una vez tengamos nuestra interfaz o
mascara de red, procedemos a abrir el programa PuTTY y ahí dentro se procede a escribir la
máscara de red que arrojo el comando anterior como se muestra a continuación:

31
Figura 29. Entorno PuTTY (Ingreso de IP)

Esto nos abrirá una ventana en donde si aparece un anuncio se procede a darle en “Aceptar”
y posterior a esto terminaremos en la siguiente ventana:

Figura 30. Entorno Remoto PuTTY (Login)

En esta ventana, se nos pedirá un “Login” y un “Password”, estos dos son los mismos con
los que accedemos al sistema operativo en la máquina virtual, los cuales, si se dejan por
default seria “vboxuser” y “changeme”, de lo contrario son los que le asignaron ustedes
mismos, una vez escrito esto les arrojara lo siguiente:

32
Figura 31. Entorno Remoto PuTTY (Escritorio)
Una vez aquí, procedemos a hacer prácticamente el mismo proceso que se hizo con el sistema
operativo anteriormente, para esto se empezara escribiendo primero el siguiente comando:
$ sudo apt-get update

Se nos pedirá de igual forma una contraseña la cual es la misma contraseña que se ha
utilizado, en este caso “changeme” y luego arrojara lo siguiente:

33
Figura 32. Actualización de Paquetes PuTTY

Ahora, se procede a escribir el siguiente comando:


$ sudo apt-get -y install unzip vim wget

Este comando se utiliza para instalar varios paquetes en sistemas basados en Linux, Ubuntu,
los cuales son “unzip”, “vim” y “wget”.
Después de escribir el comando tiene que arrojar algo como lo que se muestra a continuación:

Figura 33. Instalación de Paquetes 2

34
Posterior a esto, procedemos a escribir el siguiente comando:
$ sudo apt-get -y install openjdk-8-jre

Este comando se utiliza para instalar la versión 8 del entorno de ejecución de Java (JRE) de
OpenJDK en sistemas como Ubuntu.

Después de instalado nos arrojara lo siguiente:

35
Figura 34. Instalación de OpenJDK

Posterior a esto, procedemos a escribir el siguiente comando:


$ sudo update-alternatives --config java

Este comando se utiliza para seleccionar la versión de Java que deseas utilizar entre las
diferentes versiones instaladas en tu sistema.

Figura 35. Selección de Java OpenJDK


Después de esto, procedemos a escribir el siguiente comando:
$ echo 'export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre' >> ~/.bashrc

Este comando nos actualizara el archivo “BASHRC” de nuestro sistema.

36
Posterior a esto, procedemos a buscar el archivo modificado en nuestro sistema con el
siguiente comando:
$ source ~/.bashrc

Luego, escribimos el siguiente comando:


$ echo $JAVA_HOME

Este comando se utiliza para imprimir en la terminal la ruta del directorio donde está instalado
el JDK.
Nos mostrara lo siguiente:

Figura 36. Ruta del Directorio JDK

Ahora, después de haber hecho esto, se procede a descargar el archivo del framework
Opendaylight, para esto, se escribira el siguiente comando:
wget
[Link]
integration/karaf/0.8.4/[Link]

Nos mostrara lo siguiente:

37
Figura 37. Descarga de Archivo Opendaylight

Después se procede a escribir el siguiente comando:


$ sudo su

Este comando nos ayudara a entrar en el modo de super usuario.


Luego, se nos pedirá la contraseña nuevamente y procedemos a escribir el siguiente comando:
$ sudo mkdir /usr/local/karaf

Este comando se utiliza para crear un nuevo directorio llamado "karaf" en la ruta /usr/local/
de tu sistema.
Después se escribe el siguiente comando:
$ sudo mv [Link] /usr/local/karaf

Este comando se utiliza para mover el archivo "[Link]" al directorio


"/usr/local/karaf" en tu sistema.
Ahora, procedemos con el siguiente:
$ sudo unzip /usr/local/karaf/[Link] -d /usr/local/karaf/

Este comando descomprime el archivo "[Link]" en el directorio "/usr/local/karaf/"


en tu sistema.
Esto provocara que se nos extraiga varios archivos y al final nos mostrara algo como esto:

38
Figura 38. Descompresión del Archivo Karaf

Ahora, procedemos a escribir el siguiente comando:


$ sudo update-alternatives --install /usr/bin/karaf karaf
/usr/local/karaf/karaf-0.8.4/bin/karaf 1

Este comando nos ayudara a registrar una nueva alternativa para el comando "karaf" en el
sistema.
Después de ingresarlo nos mostrara lo siguiente:

Figura 39. Ejecución de Alternativa Karaf

Luego, procedemos a escribir el siguiente comando:


$ sudo update-alternatives --config karaf

Este comando se utiliza para seleccionar la alternativa de "karaf" que deseas utilizar entre las
disponibles en tu sistema.

39
Normalmente si no encuentra ninguna alternativa, nos arrojara algo como lo que se ve a
continuación:

Figura 40. Actualización de Alternativa Karaf

Después, procedemos a escribir el siguiente comando:


$ which karaf

Este comando se utiliza para encontrar la ubicación del ejecutable del comando "karaf" en tu
sistema.
Al escribir el comando y ejecutarlo nos mostrara lo siguiente:

Figura 41. Localización del Ejecutable Karaf

Por último, escribimos el siguiente comando:


$ sudo -E karaf

Este comando, se utiliza para ejecutar el comando "karaf" con privilegios de super usuario
(sudo) y mantener las variables de entorno del usuario actual (opción -E)
Este comando nos deberá mostrar lo siguiente:

40
Figura 42. Ejecución del comando Karaf (Entorno Opendaylight)

Una vez teniendo esto ejecutado y arrojándonos dichos resultados, significa que se ha podido
encender él servidor de Opendaylight, a lo cual desde el navegador Mozilla Firefox,
podremos acceder a el y las propiedades que trae.
Antes de hacer esto, es posible que, aunque todo el proceso salió bien y se este ejecutando el
servidor de Opendaylight, al acceder a él servidor desde el navegador nos conlleve a que este
nos arroje un error, para esto desde la misma consola en donde se encendio previamente el
servidor Opendaylight, escribiremos el siguiente comando:
$ feature:install odl-restconf-all odl-l2switch-all odl-mdsal-all odlyangtools-common
odl-dlux-core odl-dluxapps-topology odl-openflowplugin-apptopology-manager

Se ejecuta y quedara de la siguiente forma:

41
Figura 43. Ejecución del comando Karaf (Instalación de Features)

Después de esto, ahora si se puede proseguir a escribir la siguiente ruta de acceso en el


navegador:
$ localhost:8181/[Link]

Con esto, se nos redirigirá a Opendaylight como se muestra a continuación:

42
Figura 44. Entorno Opendaylight (Login)

Si queremos pausar en cualquier momento el funcionamiento de Opendyalight, desde la


consola en donde se prendio se procede a escribir el siguiente atajo “control + d” y
posteriormente se cerrara Opendaylight y si se va a cerrar o dejar de usar como
recomendación se tiene que hacer esto.
Ahora, para acceder a Opendaylight, es necesario ingresar el “Username” y “Password”, los
cuales por defecto vienen siendo “admin”, una vez ingresada las credenciales, accedemos y
nos mandara al siguiente apartado.

Figura 45. Entorno Opendaylight (Escritorio)


En este apartado, se visualizaran las topologias que se hagan en Mininet, ahora bien, para
poder ver esto, tendremos que dirigirnos abrir otra pestaña en el “CMD” o “Consola” del
sistema:

43
Figura 46. Consola del Sistema

Una vez abierta, procedemos a escribir el siguiente comando:


$ sudo apt install mininet

Este comando, instalará Mininet y todas sus dependencias desde los repositorios de paquetes
de Ubuntu.
Después de instalar el “Mininet” en el sistema procedemos a escribir el siguiente comando:
$ sudo mn

Este comando, se utiliza para iniciar Mininet, al ejecutar el comando este se inicia con
privilegios de super usuario para que pueda crear y configurar interfaces de red virtuales en
el sistema.
Al ejecutarse tendrá como mostrar lo siguiente:

44
Figura 37. Consola del Sistema (Ejecución mininet)
Indicando que esta funcionando correctamente. Ahora se procede a escribir el siguiente
comando:
$ sudo mn –-topo linear,3 –-mac –-controller=remote,ip=[Link],port=6633 – -
switch ovs,protocols=OpenFlow13

Este comando, le indica a Mininet que cree una topología lineal de 3 hosts, configurando la
dirección MAC, el controlador remoto y el switch Open vSwitch con el protocolo OpenFlow
13.
Cabe recalcar que en la parte de “ip”, tenemos que poner la ip de la mascara de red que
anteriormente averiguamos, de lo contrario arrojara error, después de hacer esto, nos mostrara
lo siguiente:

45
Figura 48. Ejecución de Topologia

Por ultimo, escribimos el siguiente comando:


$ pingall

Este comando se utiliza dentro del entorno de Mininet para enviar un paquete de ping desde
cada host a todos los demás hosts en la topología de red virtual.
Nos mostrara lo siguiente:

Figura 49. Testeo de Topología

Una vez hecho todo esto, nos dirigimos de nuevo al navegador donde se tiene el Opendaylight
abierto y nos mostrara lo siguiente:

Figura 50. Muestra de Topologia Opendayligth.


Con esto, se comprueba que está funcionando correctamente la conexión Mininet con el
Opendaylight y se puede crear diferentes tipos de topologías que se acomoden a la necesidad

46
de cada uno. En caso de que no les aparezca nada es recomendable recargar el
navegador.

47

También podría gustarte