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
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 o Mac Os, 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 GNS3 VM
Para correr la máquina es necesario instalar VMware Workstation (usar la versión VMware Workstation Player la cual es solo para uso no comercial).
Una vez instalado VMware Workstation, se debe abrir con este programa el archivo con extensión ".ova" descargado previamente correspondiente a la máquina virtual GNS3. En caso de existir problemas con las actualizaciones de Windows a la hora de abrir cualquier versión de VMware puede seguir los pasos de este tutorial para evitar los errores de compatibilidad.
Sugerencia: En lo posible, considere utilizar Linux para correr GNS3
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.
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.
Una vez 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
Si decidió simular en la maquina virtual del GNS3 (recomendada para instalaciones en Windows y Mac OS) recuerde usar la version player del VMware la cual es gratuita y luego que tenga cargada y iniciada la GNS3 VM iniciar el GNS3 y podrá seguir los pasos anteriormente descritos
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. Cuando los soltemos en el área de trabajo, en caso que se trabaje con la GNS3 VM, le va a salir una ventana preguntando si quiere correr el dispositivo de forma local o en la máquina virtual.
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.
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í.
Ethernet switch: Cumple las funcionalidades básicas de un switch, es decir, direccionamiento a nivel de la capa de enlace.
VPCS: Simula un dispositivo terminal muy simple. En particular, podemos asignarle una dirección IP y realizar pings a otros hosts. Una vez se encuentra corriendo es posible abrir una terminal haciendo doble-click sobre su símbolo o por el menú contextual. Se pueden usar los comandos que se detallan a continuación.
ip 192.168.16.10 255.255.255.0 gateway 192.168.16.1 (Ejemplo de configuración IP del VPCS)
ip dhcp (Configurar la IP por DHCP, si la IP está bien configura la respuesta al comando será DORA siglas de las acciones de asignación de direcciones IP con DHCP)
show ip (Muestra la configuración ip de la VPCS)
Nube: La nube permite conectar nuestra red a la red exterior, por medio de una de las interfaces de red de nuestro equipo. Inicialmente no abrá ninguna interfaz configurada en la nube. Para agregarlas, se debe entrar a la configuración de la nube, la opción Configure que aparece al hacer click derecho sobre esta.
En esta ventana agregamos la interfaz que queremos utilizar a la lista, tras lo cual podemos conectar la nube a la red como se haría con cualquier dispositivo.
Nota: Es posible que tenga problemas para conectarse por medio de una interfaz inalámbrica, por lo que se sugiere utilizar su interfaz física.
En caso de usar la conexión inalámbrica se recomienda el uso de una interfaz de loopback para que funcione sin problemas la conexión de la Nube, puede usar la configuración recomenda en el siguiente enlace para crear un interfaz loopback y luego hacer lo recomendado en el foro para asociar la interfaz loopback a la interfaz WIFI.
Cuando se desea conectar las PC dentro del entorno virtual del GNS3 y nuestra PC es necesario desactivar el firewall o el antivirus de nuestra PC para impedir que estos bloqueen la comunicación (Linux y Windows )
Componentes adicionales que no son incluidas en GNS3 son:
NETem: Esta componente tiene dos interfaces de red y nos permite simular enlaces con características especiales, como límites de ancho de banda, retardos y pérdidas.
Una vez iniciado el dispositivo, podemos acceder a la terminal de configuración haciendo doble-click sobre su símbolo. Aquí podemos configurar las características del enlace.
Terminal Linux: Una máquina virtual con Linux, con un escritorio y las aplicaciones necesarias para el desarrollo de la tarea. (La clave del usuario es elo323)
Nota: Si se está corriendo GNS3 de manera local (sin utilizar la máquina virtual de GNS3) y no tiene un instalado un cliente de vnc, para poder ver el escritorio se puede entrar a la ventana de configuración del componente (accedida mediante el menú contextual) y borrar la opción "-nographics" en la pestaña Advanced Settings, en el campo de opciones adicionales.
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 ser 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.
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.
La imagen de switch ethernet que trae por defecto GNS3 es bastante poderosa. No solo redirecciona los paquetes sin la necesidad de configurar el dispositivo, además permite la creación de VLANs y puertos troncales de manera veloz e intuitiva mediante el uso de una ventana de configuración.
Para asignar una VLAN a un puerto del switch, lo primero que hay que realizar es ubicar el equipo en el entorno de simulación y luego hacer click derecho sobre él, donde se despliega un menú de opciones, entre la que se encuentra la opción Configure.
Seleccionada dicha opción, se abrirá la ventana de configuración, donde se muestran todas los puertos existente dentro de un marco en el lado derecho y las propiedades de uno de ellos en el lado izquierdo. Cabe señalar que por defecto todos los puertos pertenecen por defecto a la VLAN 1.
Para cambiar el valor del campo VLAN se puede seleccionar el número y escribir directamente en el cuadro, o bien, hacer click en las flechas del borde derecho del cuadro y aumentar o disminuir uno a uno el valor de dicho campo.
Haciendo click en el panel de selección del campo Type se obtienen 3 tipos distintos de configuraciones para los puertos. Access es el modo común de operación, donde el puerto solo trabaja con una sola VLAN; dot1q es el modo troncal, donde el puerto permite pasar paquetes de todas las VLANs y qinq es un modo que opera como un VPN en la capa enlace.
Para almacenar los cambios realizados, basta con hacer click en el botón Add. Si colocan como número de puerto un valor que no existe, el switch creará dicho puerto y le asignará las propiedades seleccionadas.
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 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 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.
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>
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
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 |
Recurso | Fuente | Tamaño | MD5 |
Red Pregunta 1A | Link | 69.8M | af85be95f81cfd4d0470f6e8f9741082 |
Red Pregunta 1B | Link | 69.8M | 12f34222cd6b107b65416d21dc8e97c2 |