GNS3 es un emulador de enrutadores que ha permitido a quienes desean preparar una certificación, hacer laboratorios en máquinas 100% fieles a la realidad sin tener que invertir cientos de dolares en la tarea. Hace ya muchos años que conocí a GNS3, en su momento me pareció genial y ahora me lo parece aún más gracias a su gran versatilidad. En esta entrada, de la categoría de automatización, voy dar instrucciones detalladas de cómo instalarlo exitosamente. Más adelante tendremos tiempo para explorar cómo agregarle imágenes de IOS y crear topologías de prueba. Al final de la entrada hay un video (sin audio) que muestra paso a paso todo lo descrito en éste escrito. Disfrútenlo.

Introducción

Esta es una breve introducción muy básica sobre el tema que incumbe no sólo a quienes desean obtener una certificación en el área de las redes fijas, datacom o como las quieran llamar sino a quienes deseen incursionar en la virtualización de servicios, que hoy en día es uno de los temas más importantes en este sector.

Cuando nos preparamos para una certificación, ninguna recomendación omite el trabajo sobre máquinas reales y éste es uno de los grandes obstáculos. Acceder a equipos reales cuyo costo es alto es difícil, entonces cómo podemos probar nuestro conocimiento, crear topologías de red y configurar lo que hemos aprendido?, tanto con fines de verificación como de aprendizaje mismo. GNS3 es un programa visual que permite crear topologías de red, en las cuales los dispositivos interactúan mediante protocolos reales como si fueran una red real. Este tipo de plataformas se hace muy pertinente en el mundo de las redes y las TI hoy en día, dado que la tendencia es a virtualizar casi todo, es un concepto un poco difícil de digerir al principio pero al cual ya no nos podemos resistir. Dentro de las cosas que se están virtualizando, por la posibilidad de crear un plano de control centralizado con mucho poder de cómputo y versatilidad en la forma de desplegar servicios es la propia infraestructura, es decir, los routers y los switches.

GNS3 proviene de las siglas Graphic Network Simulator y actualmente es usado en muchas compañías grandes para simular sus soluciones, hacer pruebas piloto, laboratorios de tecnologías a desplegar en sus redes o incluso como parte permanente de alguna solución. Los principales motores detrás de GNS3 se llaman Dynamips y Qemu, los cuales son denominados hipervisores (hypervisors) o contenedores, lo cual significa que son plataformas para crear máquinas virtuales con un kernel en común, es decir, más eficientes pero con algunas limitantes. Usualmente una plataforma de virtualización tipo VMWare o VirtualBox distribuye recursos físicos entre sus máquinas virtuales, un contenedor distribuye los recursos pero no entregándolos directamente a las VMs (Virtual Machines) sino manteniendo el control de los mismos. Dynamips es un emulador de enrutadores Cisco, es decir, simula el hardware y cualquier IOS ordinario puede ejecutarse como si estuviera en una máquina real, de otro lado Qemu es en realidad la auténtica magia detrás de GNS3, dado que permite emular una gran cantidad de cpus y varias arquitecturas, además permite controlar muchos parámetros del entorno de ejecución de las VMs, como la cantidad de memoria, la forma de comunicación con el usuario, cuántos procesadores, etc. y todo lo hace por línea de comandos (CLI). Qemu mismo podría dar para muchas entradas de este blog. Antes de pasar a la práctica, tenemos que tener en cuenta dos cosas muy importantes:

  • Cisco no sólo tiene IOS, actualmente Cisco tiene unos tres “sabores” de sistema operativo. El clásico IOS sólo llegó hasta 12.4, a partir de ésta versión aparecen dos importantes y muy distintas variantes: IOS XE y IOS XR. Dynamips sólo ejecuta IOS clásicos, no XE/XR dado que éstos en realidad son Linux con el IOS embebido. Como GNS3 usa Dynamips y Qemu, las imágenes de XE/XR se pueden ejecutar sobre qemu pero es un poco más trabajoso.
  • Para poder usar GNS3 se necesita tener imágenes de IOS, las cuales no vienen con la instalación y no se pueden descargar legalmente. En teoría, para poder usar un IOS se deben tener los equipos físicos o una licencia de Cisco, de otro lado, existen muchos sitios de los cuales se pueden descargar buenas versiones e incluso Cisco mismo ha puesto a disposición de la comunidad algunas imágenes que se pueden descargar con sólo crear el usuario de Cisco o CCO.

Instalación de GNS3: antes instale VM Player y VIX API

Como mencionaba anteriormente, GNS3 es como una plataforma de virtualización, tanto Dynamips como Qemu ejecutan IOS sobre el procesador real, así que el programa tiene dos opciones de virtualización, ejecutar en el propio Dynamips o ejecutar en una VM, que es la opción recomendada por los creadores. Como alguna vez tuve problemas para ejecutar la VM, recomiendo instalar VM Player y su complemento VIX antes de instalar el propio GNS3, éste lo usa para iniciar una VM cuando se ejecuta una topología. VIX es un complemento que permite que aplicaciones diferentes a VMWare enciendan, apaguen y ejecuten tareas sobre las máquinas virtuales. Cuando VMWare Player y VIX están bien instalados, GNS3 inicia automáticamente VMWare Player paralelamente a su propia ejecución, de hecho, detecta que existe un VMWare Player y que tiene una VM llamada GNS3 VM.

VMWare Player es la versión gratuita y limitada de VMWare, con ésta podemos instalar máquinas virtuales en nuestro PC/portátil sin pagar licencia y con opciones limitadas, sin embargo, hasta ahora me ha parecido suficiente para hacer muchas pruebas. VIX API es un complemento que no viene instalado por defecto en el VM Player pero es gratuito.

Es irónico, pero en la descarga de GNS3 te piden crear un perfil y en VMware Player no 🙂 ( Excepto para el complemento VIX API).

Para que GNS3 funcione bien desde el principio, es indispensable haber iniciado VM Player una vez que se ha instalado con el VIX API. Para iniciar, se pide un correo electrónico válido.

Hay que tener muy en cuenta que las versiones compatibles del software son

  • VMWare Player 12.5.7
  • VIX Api 1.15.0

Versiones no compatibles generan el siguiente error en GNS3:
'Error: Service type VIX_SERVICEPROVIDER_VMWARE_WORKSTATION was specified but not installed'

Instalación de GNS3

Una vez que tenemos instalado VMWare y VIX API, procedemos a instalar GNS3. Éste viene con un conjunto de aplicaciones y servicios que también son necesarias para su buen funcionamiento. Pondremos atención principalmente en WinPCAP y NPCAP, éstos son drivers de captura de paquetes, son necesarios y su instalación requiere reiniciar el equipo. Wireshark y SolarWinds no son necesarias, así que si las omite no habrá ningún problema.

Cuando GNS3 está instalado, es necesario ponerlo a punto, lo cual quiere decir, apuntar el gns3server a localhost e indicarle que se va a ejecutar una vm especial en VM Player. GNS3 recomienda esta configuración y para ello es necesario descargar una VM especial de GNS3, llamada… adivine: GNS3 VM 🙂 En el video muestro que, la 1a vez que arranco GNS3, busco la opción de GNS3 VM y la descargo. Luego la importo en VMPlayer y vuelvo a ejecutar GNS3. En estos pasos es probable que se necesite un reinicio de la máquina.

Asegúrese de que GNS3 y VMWare están dentro de las excepciones del Firewall y del antivirus para evitar inconvenientes en la ejecución, algunos foros dicen que el antivirus hace que las VMs se ejecuten muy lentas. Ya con todo mise en place (puesto en su lugar) como se dice en la cocina francesa, podemos iniciar el GNS3.

Siguientes pasos

He recopilado todos los pasos descritos en un video que me quedó un poco largo. En él muestro el error que se puede obtener si las versiones de VMWare Player y VIX son incompatibles y al final muestro una topología configurada.

Instalar imágenes de IOS en GNS3 no está descrito ni aquí ni en el video. GNS3 no viene con ninguna imagen preinstalada, por lo tanto instalarlas es otro paso que hay que ver con mucho detalle y que podrán leer en otra ocasión en éste mismo blog. Esta vez sólo vimos la instalación y puesta apunto de GNS3, si te quedó funcionando te felicito, sino observa el video y sigue los pasos. A continuación voy a mostrar una topología simple sólo para mostrar su funcionamiento.

Entre muchas opciones que exploraremos en otras publicaciones, veremos que GNS3 puede capturar tráfico de las interfaces e interactuar con dispositivos reales a través de la interfaz de red real del portátil o PC. En la próxima entrega sobre GNS3, escribiré el proceso de instalación de IOS en detalle y cómo construir topologías que luego configuraremos. La topología del video consiste en tres routers 3600 comunicados por interfaces FastEthernet con segmentos IP 10.0.0.0/30, 11.0.0.0/30 y 12.0.0.0/30 respectivamente. Entre ellos corre un proceso OSPF 1 en área 0, cada uno tiene una loopback 1.1.1.1, 2.2.2.2 y 3.3.3.3 que se encuentra pasiva en dicho proceso, por ende, cada router debe recibir por este protocolo las IPs de loopback de los otros dos enrutadores y el segmento del enlace que no tiene conectado.

Lo que se muestra en el video fue ejecutado en una laptop Asus con procesador Core i5 con 8GB de Ram, no es una buena configuración ya que emular dispositivos en general requiere mucha memoria y procesamiento, por ende yo recomiendo que para una ejecución más fluida se use un Core i7 con 16GB de memoria o cualquier configuración superior a éstas prestaciones. GNS3 se puede ejecutar en Windows o en Linux sin problemas, yo sólo lo he probado en Windows, en éste caso un Win 10 Home.

Conclusiones





La virtualización se ha tomado el mundo de las redes como se ha venido tomando muchos otros campos de la tecnología y de nuestra cotidianidad. Hoy en día para poder configurar equipos como si fueran reales, muy fieles a la realidad, basta con instalar una plataforma como éstas y emular los dispositivos, con lo cual tendremos una experiencia igual a un laboratorio real sin tener la necesidad de acceder a equipos físicos reales, lo cual costaría mucho más. De otro lado, con estos temas empezamos a meternos un poco a la virtualización de servicios, que técnicamente se llama NFV o Network Function Virtualizations. Como la instalación y puesta a punto de estas tecnologías toma un poco de tiempo, voy a dejar para una próxima entrada la descripción paso a paso de instalación de routers y la configuración de una topología básica. Espero que haya sido de utilidad, no duden en dejar sus comentarios y compartir el contenido. Hasta la próxima.

Tags: , , , , ,

Deja un comentario