Material de Ayuda Tarea ELO323/IPD438

Hans Lehnert

Revisión 2° Semestre 2018

Índice


GNS3

GNS3 es un software simulador de redes. Este programa trabaja principalmente con máquinas virtuales, permitiendo la emulación de equipos reales, como switches y routers. Es posible además conectar las redes simuladas con dispositivos externos. Estas características hacen que este simulador resulte muy útil para el estudio y práctica de la estructuración de redes de computadores.

Para la tarea no se realizará la emulación de equipos de red, sino que se utilizaran principalmente equipos terminales

Instalación en Windows

El software de GNS3 para Windows es distribuido por medio de la página web de GNS3. Basta con utilizar la configuración por defecto del instalador.

Si se utiliza Windows, para obtener un desempeño razonable de las máquinas virtuales se recomienda utilizar además la máquina virtual de GNS3, que puede también ser descargada desde la página web de GNS3.

Para correr la máquina es necesario instalar VMware Workstation (utilizar la versión 12, no la más reciente) y la api VIX.

Habiendo instalado VMware Workstation, se debe abrir con este programa el archivo con extensión ".ova" descargado previamente correspondiente a la máquina virtual GNS3.

Sugerencia: En lo posible, considere utilizar Linux para correr GNS3

Instalación en Linux (Ubuntu)

Para la instalación en distribuciones basadas en Ubuntu, basta con agregar el repositorio de GNS3 a apt y luego instalarlo con apt-get. Esto se puede realizar con los siguientes comandos

sudo add-apt-repository ppa:gns3/ppa
sudo apt-get update
sudo apt-get install gns3-gui

Para otras distribuciones el procedimiento es similar, cambiando el gestor de paquetes. Para más detalles revisar las instrucciones de GNS3, para las distribuciones soportadas.

Inicialización

Al iniciar GNS3 se presentará el asistente de inicialización. El primer paso es escoger en donde se correrán los equipos simulados. Si utilizará la maquina virtual de GNS3 escoja la primera opción. Si los ejecutará de manera local utilice la segunda opción.

Nota: Diferentes distribuciones del programa etiquetan de diferente forma las opciones, pero el orden y función se mantienen.

A continuación se debe escoger la configuración del servidor de GNS3. No es necesario realizar cambios a la configuración entregada por defecto.

A continuación, si escogió simular los dispositivos en la máquina virtual deberá configurarla. Al seleccionar la opción VMware (o VirtualBox) se debería detectar automáticamente la máquina virtual, si fue instalada correctamente.

Habiendo terminado el proceso de inicialización se presentará un cuadro de dialogo desde donde puede crear un nuevo proyecto de GNS3. De ser necesario acceder nuevamente al asistente de configuración lo puede realizar mediante la opción del menú superior Help > Setup Wizard

Uso básico

Tras haber creado un proyecto, el panel central de GNS3 nos muestra la configuración de nuestra topología de red, inicialmente vacía.

En la barra lateral se encuentran botones para abrir los "cajones" que contienen a los componentes disponibles, separados en routers, switches, dispositivos terminales y dispositivos de seguridad

Para agregarlos a nuestra red, basta arrastralos al área de trabajo.

Lo siguiente sería conectar los dispositivos. Esto se realiza activando la herramienta de "agregar enlaces" en la barra lateral. Al seleccionar los dispositivos a conectar podemos elegir también cuales de sus interfaces se conectarán.

Habiendo configurado la topología, para comenzar la simulación se debe presionar el botón correspondiente en la barra superior. En GNS3 cada componente funciona independientemente, por lo que la función de este botón es la de iniciar cada uno de los dispositivos. No es necesario que todos los dispositivos se encuentren activados al mismo tiempo e incluso es posible agregar o quitar dispositivos mientras el resto corre.

Importar Proyectos

GNS3 permite almacenar proyectos de simulación en un archivo comprimido único, pensado como una forma sencilla de compartir estas simulaciones, ya que además de almacenar la disposición de los equipos, es capaz de almacenar sus configuraciones. La extensión utilizada para estos archivos es gns3project

Importar proyectos es bastante sencillo, ya que es bastante similar a la apertura de un archivo. El primer paso es ir a la barra de herramientas, ir al menú de Archivo y allí seleccionar la opción Importar Proyecto Portátil.

Seleccionada esa opción, se abrirá una venta de selección de archivo, donde se debe buscar la ubicación del proyecto a importar y una vez que se localiza, se selecciona y se abre con un doble click sobre éste o con un click y apretando luego el botón inferior derecho de Abrir.

Elegido el archivo, se abrirá una ventana que se encarga de generar el proyecto de forma local, por lo que solicitará el nombre a asignar al proyecto y su ubicación.

Terminado esto, ya se dispondrá del proyecto importado, para su posterior modificación o para ejecutar la simulación en sí.

Componentes

Los componentes incluidos en GNS3, en general son bastante básicos, para poder utilizar todo el potencial de GNS3 es necesario obtener imágenes de dispositivos. No obstante algunos de los dispositivos básicos serán de utilidad. En particular, los de interés para nosotros serán

Componentes adicionales que no son incluidas en GNS3 son:

Para agregar estas componentes a GNS3, se deben en primer lugar descargar los archivos correspondientes (que pueden ser encontrados en la sección de recursos al final de la página). Luego utilizar la opción File > Import Appliance de la barra de menú y seleccionar el archivo ".gns3a", lo que iniciará el asistente de configuración del componente.

Al llegar a la pantalla de archivos requeridos, se listarán las imágenes necesarias para el dispositivo. Si ya descargó las imágenes estas deberían sr detectadas automáticamente de la carpeta de descargas. En otro caso puede utilizar el botón de importar para especificar la ruta a la imagen.

Teniendo todos los archivos necesarios configurados, se debe seleccionar la versión a instalar y seguir con el resto del proceso.

Captura de Paquetes

Durante la instalación de GNS3 se da la opción de instalar el capturador de paquetes Wireshark, dado que el simulador permite enlazar su operación con este programa, permitiendo la captura en cualquiera de los enlaces utilizados.

Esto se realiza de una manera muy sencilla, ya que basta posicionar el cursor sobre un enlace, el cual se pondrá rojo cuando este posicionado correctamente, apretar el botón derecho del cursor, se desplegará un menú y allí se debe seleccionar la opción Iniciar Captura.

Se abrirá un menú que permite seleccionar el tipo de enlace a capturar, en nuestro caso basta con dejarlo en Ethernet, que además permite asignarle un nombre a la captura. Terminado la configuraciones, basta con seleccionar Aceptar y se iniciará la captura de los datos, dando paso a la ejecución de Wireshark en una ventana nueva.


Streaming con VLC

El reproductor multimedia VLC permite tanto emitir como recibir streams de videos mediante RTP. La emisión se puede configurar usando el asistente de emisión en la opción de menú Archivo > Emitir o presionando Ctrl + S. En la ventana que se presenta se debe en primer lugar agregar los archivos a transmitir.

Luego, debemos escoger el destino de la transmisión. Para un flujo de video se debe escoger RTP / MPEG Transport Stream

Al presionar el botón Add se agregará una pestaña para configurar el destino. Aquí se debe configurar la dirección IP del destinatario del flujo. También es posible cambiar el puerto a usar para la transmisión.

Por último se pueden configurar las opciones de transcodificación, pero se sugiere deshabilitar para tener un mejor rendimiento

Tras finalizar el asistente, VLC comenzará la transmisión del video haya o no un receptor escuchando

También es posible iniciar la transmisión a través de la linea de comando, utilizando la opción --sout de vlc

vlc <archivo de entrada> --sout "#rtp{mux=ts,dst=192.168.0.2}"

Para poder recibir un flujo de video se debe utilizar la opción Abrir ubicación de red en el menú Archivo. Ahí se debe utilizar la URL rtp://@ para recibir un stream dirigido a la propia dirección IP

No es necesario que la transmisión haya comenzado antes de abrir el flujo en el destinatario. El reproductor comenzará a reproducir automáticamente una vez comience a recibir el flujo de video

También es posible abrir el flujo de video por medio de la interfaz de linea de comando

vlc rtp://@

Nota: Para que wireshark decodifique los paquetes RTP se debe habilitar la opción rtp_udp en el menú Analyze > Enabled Protocols...


iperf

iperf es un programa de linea de comando que permite medir el ancho de banda entre dos equipos. Funciona con un modelo cliente-servidor. Para iniciar el servidor se utiliza el siguiente comando

iperf -s

Una vez está corriendo el servidor, un cliente se puede conectar

iperf -c <direccion ip del servidor>

Es posible también configurar el tiempo de prueba con la opción -t. Una vez terminada la prueba, los resultados se imprimen en las terminales tanto del cliente como el servidor.

Nota: iperf utiliza una conexión TCP para medir ancho de banda por defecto.


QEMU

QEMU es un emulador de sistemas que permite correr máquinas virtuales de equipos con diferentes arquitecturas. Gracias a esto, GNS3 puede simular una gran variedad de hardware de red.

Crear una máquina virtual

Las máquinas virtuales a utilizar en la tarea corren sobre esta plataforma y si bien se encuentran listas para su uso, puede ser de interés crear una máquina virtual propia. Para esto basta con crear una imagen de disco con el programa qemu-img.

qemu-img -f qcow2 imagen.qcow2 10G

Con el comando anterior, por ejemplo, se crea una imagen llamada "imagen.qcow2" de tamaño 10GB. La opción -f indica el formato de la imagen. El formato qcow2 crea una imagen que crecerá a medida que el disco duro es escrito, sin necesidad de reservar la capacidad completa de la imagen. (El formato de la imagen no es el formato del sistema de archivos).

Ahora sólo necesitamos ejecutar uno de los sistemas de QEMU, utilizando esta imagen.

qemu-system-x86_64 -hda imagen.qcow2

Con este comando ejecutamos una máquina x86 de 64 bits, con nuestra imagen. Sin embargo, nuestra imagen no posee algún programa o sistema operativo. Podemos además agregar a la máquina una imagen que contenga el instalador para algún sistema operativo.

qemu-system-x86_64 -hda imagen.qcow2 -cdrom <imagen_so> -boot d

Con esto el sistema iniciará y podrá instalar el sistema operativo como en cualquier máquina. Luego de esto podrá correr el sistema operativo directamente de la imagen del disco.

Sugerencia: Si va a ejecutar una máquina virtual con sistema operativo Linux use la opción -enable-kvm para obtener un mejor desempeño

Si desea ejecutar una máquina virtual ya creada, se debe introducir el mismo comando utilizado anteriormente, con la diferencia que se bootea desde el disco duro y a que se le debe asignar una cantidad de memoria RAM su ejecución.

qemu-system-x86_64 -hda imagen.qcow2 -boot c -m <memoria a asignar>

Montar imágenes

Si se requiere transferir archivos desde una máquina virtual de QEMU que no posee características de red, es posible montar la imagen utilizada en el sistema de archivos de nuestro equipo. Esto se puede realizar con la siguiente serie de comandos:

sudo modprobe nbd
sudo qemu-nbd --connect=/dev/nbd0 [ruta a la imágen]
sudo mount /dev/nbd0p1 /mnt

Lo que hacemos aquí es activar el módulo nbd de Linux, para dispositivos de almacenamiento en red. Luego, con la utilidad de QEMU conectamos nuestra imágen como el dispositivo nbd0 y luego montamos la partición 1 de la imágen en la ruta /mnt

Si queremos montar uno de los equipos con los que hemos trabajado en GNS3, las imágenes de los equipos se encuentran en los directorios en la ruta project-files/qemu, dentro de la carpeta de nuestro proyecto. Cuidado de no montar la imagen base.

Una vez se ha terminado de trabajar con la imagen, se puede realizar el proceso inverso para desmontarla.

sudo umount /dev/nbd0p1
sudo qemu-nbd --disconnect /dev/nbd0
sudo modprobe -r nbd


Recursos

Appliances de GNS3

Recurso Fuente Mirror Tamaño MD5
Appliance NETem Link Link 1.7K 908b5ec270624b4c35814fe8acb740b9
Imagen NETem Link Link 25M e678698c97804901c7a53f6b68c8b861
Appliance Lubuntu Link
1K 52d7f7a05abac738f4fafae62978df77
Imagen Lubuntu Link
4.1G 60f4f59999fd213cf5bc4a9b5c7dad3c

Proyectos de GNS3

Recurso Fuente Tamaño MD5
Red Pregunta 1A Link 69.8M af85be95f81cfd4d0470f6e8f9741082
Red Pregunta 1B Link 69.8M 12f34222cd6b107b65416d21dc8e97c2

Windows

Recurso Fuente Mirror Tamaño MD5
Imagen de máquina virtual GNS3 para VMware Link Link 317M fc8188145850615143c3239279117dcf
Instalador VMware Workstation Player 12.5.7 Link Link 78M 990fac0461e42feea24af72333e744f9
Instalador VIX API 1.15 Link Link 37M 726cd73b24b5c3d080c927fd287df8e2