FRANCISCO JAVIER HERRERA LIZCANOHERRAMIENTA GNS3 Fco. Javier Herrera Lizcano INTRODUCCIÓN GNS3 (Graphic Network Simulator) es un simulador grafico de redes que permite diseñar fácilmente topologías complejas de red y luego ejecutar simulaciones. Soporta el IOS (Internetwork Operating System) de routers, ATM, Frame Relay, switchs Ethernet y PIX firewalls. Es un programa open source y que tiene de especial la particularidad de que puedes trabajar con IOS de routers CISCO reales, agregando todas las características y potencialidades de un router real, sin tener el problema de comandos no reconocidos o no funcionales. Aunque es un programa de uso libre, debido a restricciones de licencia, tienes que proveer tus propios IOS Cisco para usarlo en GNS3. Otra característica es que GNS3 genera alrededor de 1.000 paquetes de datos por segundo en un entorno virtual, mientras que un router normal generar cientos de miles de paquetes en la realidad. Es decir, GNS3 no quiere reemplazar a un router real sino que es una buena herramienta para el aprendizaje y el testeo en el laboratorio o clase y con este ratio de paquetes es suficiente para el aprendizaje. GNS3 se puede ejecutar en sistemas operativos Windows, Linux y Mac OS. También se puede usar la emulación de GNS3 en entornos virtualizados (programas de virtualización como VMWare, VirtualBox o Virtual PC), para 1 HERRAMIENTA GNS3 Fco. Javier Herrera Lizcano poder estudiar el comportamiento y la interconexión entre distintos sistemas operativos. La emulación también es posible para una larga lista de modelos de enrutadores y otros dispositivos. Esta es una herramienta de un valor incalculable para prepararse para certificaciones Cisco, tales como CCNA, CCNP y CCIE. CONTEXTUALIZACIÓN Esta herramienta es útil para el proceso de enseñanza aprendizaje dentro del módulo de “Planificación y Administración de Redes” impartido en el ciclo de Grado Superior de Formación Profesional para la obtención del título de Técnico Superior en Administración de Sistemas Informáticos en Red. El Real Decreto 1629/2009, de 30 de octubre, establece el título de Técnico Superior en Administración de Sistemas Informáticos en Red y se fijan sus enseñanzas mínimas; y junto con la Orden de 36/2012, de 22 de junio, de la Conselleria de Educación, Formación y Empleo, se establece para la Comunitat Valenciana el currículo del ciclo formativo de Grado Superior correspondiente al título de Técnico Superior en Administración de Sistemas Informáticos en Red. El título de Técnico Superior en Administración de Sistemas Informáticos en Red queda identificado por los siguientes elementos: 2 HERRAMIENTA GNS3 Fco. Javier Herrera Lizcano Denominación: Nivel: Duración: Familia Profesional: Referente Europeo: Administración de Sistemas Informáticos en Red Formación Profesional de Grado Superior 2.000 horas Informática y Comunicaciones CINE-5b (Clasificación Internacional Normalizada de la Educación) Identificación del Ciclo Formativo Teniendo en cuenta, entre otros factores, que es muy complicado disponer en el aula de prácticas ni del número ni modelo de dispositivos (routers, switches, hubs, pc’s, tipo de cableados, etc), esta aplicación ayudará a los alumnos a conseguir de una manera más visual, eficaz y motivadora las competencias del ciclo asociadas al módulo concreto de “Planificación y Administración de Redes” siguientes: • Administrar servicios de red (web, mensajería electrónica, transferencia de archivos, entre otros) instalando y configurando el software, en condiciones de calidad. • Optimizar el rendimiento del sistema configurando los dispositivos hardware de acuerdo a los requisitos de funcionamiento. • Evaluar el rendimiento de los dispositivos hardware identificando posibilidades de mejoras según las necesidades de funcionamiento. • Determinar la infraestructura de redes telemáticas elaborando esquemas y seleccionando equipos y elementos. • Integrar equipos de comunicaciones en infraestructuras de redes telemáticas conectividad. determinando la configuración para asegurar su 3 HERRAMIENTA GNS3 Fco. Javier Herrera Lizcano • Diagnosticar las disfunciones del sistema y adoptar las medidas correctivas para restablecer su funcionalidad. DESCRIPCIÓN DE LA HERRAMIENTA GNS3 está basado en Dynamips, PEMU (incluyendo el encapsulador) y en parte en Dynagen, fue desarrollado en python a través de PyQt la interfaz grafica (GUI) confeccionada con la poderosa librería Qt, famosa por su uso en el proyecto KDE. GNS3 también utiliza la tecnología SVG (Scalable Vector Graphics) para proveer símbolos de alta calidad para el diseño de las topologías de red. Utiliza Dynamips para la emulación de router y switches cisco y NS3 que es un sistema de simulación de redes orientado a Internet. Acerca de Dynamips Dynamips es un emulador de routers Cisco escrito por Christophe Fillot. Emula a las plataformas 1700, 2600, 3600, 3700 y 7200, y ejecuta imágenes de IOS estándar. En propias palabras del creador: Este tipo de emulador será útil para: • Ser utilizado como plataforma de entrenamiento, utilizando software del mundo real. Permitirá a la gente familiarizarse con dispositivos Cisco, siendo Cisco el líder mundial en tecnologías de redes. • • Probar y experimentar las funciones del Cisco IOS. Verificar configuraciones rápidamente que serán implementadas en routers reales. 4 HERRAMIENTA GNS3 Fco. Javier Herrera Lizcano • Por supuesto, este emulador no puede reemplazar a un router real, es simplemente una herramienta complementaria para los administradores de redes Cisco o para aquellos que desean aprobar los exámenes de CCNA/CCNP/CCIE. Instalación de GNS3 Gns3 se ejecuta en Windows, Linux y Mac OS X (otras plataformas no han sido probadas) y requiere de las siguientes dependencias: • Qt >= 4.3, disponible en http://trolltech.com/developer/downloads/qt/inex • Python >= 2.4, disponible en http://www.python.org • Sip >= 4.5 si usted necesita compilar PyQt, disponible en http://www.riverbankcomputing.co.uk/sip • PyQt >= 4.1 disponible en http://www.riverbankcomputing.co.uk/pyqt La página principal de GNS3 descargas es: http://www.gns3.net/download/ Para información detallada y manuales: http://www.gns3.net/documentation El instalador para Windows incluye Winpcap, Dynamips, Pemuwrapper y una versión compilada de GNS3, eliminando de esta manera en tener que instalar Python y Qt. También tiene integración con el Explorer de manera que puede realizar doble-click en los archivos de red para ejecutarlos. Los usuarios de Windows deben instalar el paquete Windows all-in-one. Esto provee lo necesario para que GNS3 se ejecute en maquinas locales o remotas, excepto las imágenes de IOS y de PIXIOS. 5 HERRAMIENTA GNS3 Fco. Javier Herrera Lizcano Los usuarios Linux deben descargar Dynamips y extraerlo en alguna ubicación. Luego instalar las dependencias de GNS3 y finalmente ejecutar GNS3. Dynamips ejecuta imágenes de Cisco IOS reales. Según el apartado FAQ de Dynamips “no están autorizados a distribuir imágenes IOS (se deberán buscar por su cuenta). Esto no es un problema si se es un cliente de Cisco.” Área de trabajo La ventana principal de la aplicación está dividida en varias partes. A continuación comento las características de cada zona: 6 HERRAMIENTA GNS3 Fco. Javier Herrera Lizcano 1. Menús e iconos de acceso rápido: en esta área encontramos las funciones típicas de crear una nueva topología, abrir una existente, guardar la topología con la que estamos trabajando. Además, existente opciones de menú icono para mostrar/ocultar información de los nodos y el icono para los diferentes “links” (cableado entre los nodos). Los iconos más hacia la derecha sirven para iniciar, pausar, parar, reiniciar, etc. la emulación; además de los iconos/funciones de conexión por consola a los dispositivos. 2. Tipos de nodos: aquí disponemos de los distintos modelos de routers que podemos emplear; así como de firewalls, switches, puentes, frame relay, hubs, equipos, “nube” (conexión externa con interfaces del equipo local), etc. 3. Área central de trabajo: es el espacio donde se representará gráficamente la topología a estudiar (dispositivos, cableados, etc.). Se pueden utilizar capas y realizar zooms para representar topologías complejas. 4. Consola: está disponible si se está en modo emulación. Sirve para introducir comandos que afectan a los dispositivos analizados (introduciendo el comando help comando proporciona ayuda del comando en concreto. 5. Resumen de la topología: se representa cada nodo con sus interfaces y su conexión o no con otros dispositivos. 6. Capturas: en esta zona podemos crear capturas de las interfaces de un dispositivo. o comando ? se nos 7 HERRAMIENTA GNS3 Fco. Javier Herrera Lizcano Optimización del uso de los recursos del PC Las simulaciones en esta herramienta en los PC’s hosts provocan que la CPU y la memoria del sistema alcance prácticamente el 100% de uso. Haciendo que el equipo se ralentice hasta casi paralizarlo (si no es un PC con mucha memoria RAM ni demasiada velocidad de procesar). Esto es debido a que Dynamips no detecta cuando el router virtual está en estado “idle” (ocioso) o cuando está operando realmente. Por eso disponemos en esta herramienta de 3 funciones que nos permiten mejorar el rendimiento del PC: § Idle-PC: se efectúa un análisis en la imagen que se está ejecutando para determinar cuáles son los posibles puntos en el código que representan un bucle de idle en el IOS. Para ello se inicia un router del IOS específico al cual queremos calcular el valor idlepc y luego con el botón derecho sobre el router usamos la función “Idle Pc”. Después de unos 10-20 segundos de cálculos se nos listan los posibles valores potenciales de idlepc y debemos escoger uno de los marcados con un ‘*’ que representa a un valor óptimo. Ese valor idlepc se guardará en la imagen del IOS y lo usará cada vez que se use un router de esa imagen. El uso de CPU se reducirá drásticamente. § Ghostios: se puede reducir significativamente el uso de memoria real necesario para los routers que corren con la misma imagen de IOS. Con esta función, en vez de que se almacene una copia idéntica del IOS en la RAM virtual, el host utilizaráa una región compartida de memoria que todos utilizarán. 8 HERRAMIENTA GNS3 Fco. Javier Herrera Lizcano § Sparsemem: esta función no conserva memoria real, pero si reduce la cantidad de memoria virtual utilizada por las instancias de los routers. Captura de Paquetes Dynamips / GNS3 puede capturar paquetes en una interfaz virtual Ethernet o Serial y grabarlos en archivos para ser usados con aplicaciones como tcpdump, Wireshark, o cualquier otra aplicación que lea capturas en formato libpcap. Ejemplo de captura con el programa Wireshark: 9 HERRAMIENTA GNS3 Fco. Javier Herrera Lizcano APLICACIÓN DIDÁCTICA Esta herramienta, entre otras muchas utilidades, la podemos usar para estudiar en el laboratorio el comportamiento de los protocolos de enrutamiento dinámico. Como ya se ha comentado anteriormente, es muy complicado disponer en el aula o laboratorio de un IES de diferentes modelos de routers, equipos de interconexión, dispositivos, periféricos, cableado, etc. que permitan crear un topología real de una red para estudiar todos los protocolos de enrutamiento. GNS3 permite realizar esta simulación de una forma gráfica y todo lo compleja que deseemos. Concretamente, vamos a preparar una simulación de una topología que interconecte dos routers Cisco, unidos a varios nodos (Pc’s) y se configurará en ambos el protocolo de enrutamiento dinámico de vector-distancia RIP (versión 2, p.e.). Posteriormente, usando la aplicación Wireshark podríamos analizar la captura de paquetes de sus interfaces (esto último queda fuera de la práctica aquí desarrollada). Paso 1: Crear topología Insertamos 2 routers y 2 nodos locales (“nube”) enlazados a cada router. Antes de realizar los “links” (cableado), es necesario añadir las interfaces a los diferentes dispositivos de la topología (paso 2) Paso 2: Añadir interfaces Pulsando con el botón derecho sobre la representación del router R1, elegimos la opción Configurar. En la pestaña Slots añadimos las interfaces necesarias. 10 HERRAMIENTA GNS3 Fco. Javier Herrera Lizcano También añadiremos las conexiones de red a los nodos. Botón derecho opción Configurar, y en la pestaña NIO Ethernet agregamos la conexión de red local deseada (tarjeta red local, inalámbrica, etc). Paso 3: Crear el “link” Pulsamos en el icono de Agregar un vínculo y elegimos la opción Manual; de esta forma podemos seleccionar la interface en cada dispositivo donde conectar el enlace (tanto en el router como en el nodo) Paso 4: Arrancar la emulación A continuación pulsamos sobre el icono representado por play (verde) y la emulación se pone en marcha. Veremos que los enlaces se ponen con puntos verdes y eso es señal que existe comunicación entre los dispositivos. Paso 5: Conectarse a la consola del router Estando el modo emulación (el otro modo se llama diseño), pulsamos con el botón derecho sobre uno de los router y damos a la opción Consola. Se arrancará una consola que se conecta al router y, después de la información de 11 HERRAMIENTA GNS3 Fco. Javier Herrera Lizcano arranque del router, aparecerá el prompt para la entrada de comandos y parámetros. Es posible que nos pregunte si queremos entrar en un asistente de configuración inicial básica del router; en ese caso, contestamos NO. Paso 6: Configuración de interfaces y protocolo A continuación vamos a entrar los comandos que configurarán la ip de la interfaz conectada al otro router y activaremos el protocolo RIPv2 (para el router R2 hay que realizar pasos similares, salvo la ip correspondiente). Estas son las instrucciones y parámetros usados paso a paso: • • • • • • • • • • enable à cuando el primer carácter es ‘>’ significa que estamos en modo non-privileged. Con el comando “enable” entramos en modo privileged ‘#’. show ip int brief à muestra una descripción breve de las interfaces e ip configurada en cada una. config terminal à (abreviado “config t”) para poder configurar el router int <id_interface> à (p.e. int f0/0) para configurar la IP de la interface ip address <dirección ip> <máscara subred> à asignar la ip no shutdown à no apagar la interface, siempre activa do write à guardar la configuración del router router rip à habilitar el protocolo de enrutamiento RIP versión 2 à usar la versión 2 del protocolo RIP network <dirección ip> à habilita RIP en la interface con dicha ip Paso 7: Captura de paquetes Podemos añadir una o varias interfaces de los dispositivos para que se capturen los datos y paquetes que se envían/reciben. Dichas capturas aparecerán en la parte inferior derecha de la aplicación (área “Capturar”). Esas 12 HERRAMIENTA GNS3 Fco. Javier Herrera Lizcano capturas, como ya se ha comentado anteriormente, se analizarían con la herramienta Wireshark u otras. CONCLUSIONES Existe una gran cantidad de software emulador de routers en el mercado, pero la mayoría tienen limitados y/o restringidos los comandos según lo que el desarrollador del programa escoge incluir. Casi siempre hay comandos o parámetros que no están soportados cuando se trabajan con un software emulador de redes en las prácticas de laboratorio (o aula). En estos simuladores solo se puede ver y trabajar con una representación de la salida del enrutador simulado. La precisión de esta representación es solo tan buena como el desarrollador del software quiera crearla. Con GNS3 se ejecuta el actual y real IOS de Cisco, y puedes observar exactamente lo que el IOS genera y tienes acceso a todos los comandos y/o parámetros soportados por el IOS en los distintos modelos reales de routers. En la actualidad la demanda de las empresas por mejorar sus procesos operativos conlleva en la mayoría de los casos, la instalación de nuevas aplicaciones o la modificación de las aplicaciones existentes, lo que a su vez impacta en el rendimiento de la red corporativa. Los administradores de redes se enfrentan diariamente al desafío de manejar estos cambios y buscar opciones para mejorar los tiempos de respuesta a través de nuevas configuraciones en sus dispositivos de redes como: implementar políticas de 13 HERRAMIENTA GNS3 Fco. Javier Herrera Lizcano calidad de servicio QoS, habilitar protocolos de enrutamiento con bajo consumo de ancho de banda como OSPF y EIGRP, etc. Y todo esto con la presión de no poder probar sus nuevas ideas en horas de trabajo, porque la desconexión de los usuarios de la red no es una opción factible. ¿Entonces qué hacen la mayoría de los administradores de redes para implementar los cambios propuestos? Normalmente programan estos operativos en horarios en que los usuarios no están, pasada la jornada laboral o para el fin de semana, con el estrés adicional de que si se presentan inconvenientes o los resultados no son los que esperaban, deben reversar los cambios antes de que regresen los usuarios, enfrentándose en una lucha contra el reloj a cada paso. Por tanto con esta herramienta de simulación gráfica se pueden hacer todas las pruebas necesarias previas a la implantación real, ayudando a los administradores de redes a “des estresarse” un poco en su trabajo diario. Sin embargo no todo son ventajas en un emulador, uno de los inconvenientes es que precisamente porque el sistema operativo que se carga en el dispositivo es real sus requerimientos de memoria también lo son. Por tanto conviene tener una buena cantidad de RAM (3 ó 4 GB) si se desea hacer configuraciones complejas. Otro de los inconvenientes es que se producen frecuentes errores en funciones comunes de la herramienta; es decir, en el área de consola se informa con 14 HERRAMIENTA GNS3 Fco. Javier Herrera Lizcano demasiada asiduidad de fallos al guardar la topología, al borrar un enlace o borrar un dispositivo. Además, con cierta regularidad durante la simulación de topologías (más o menos simples) el programa (y el PC) parece “colgarse” y/o bloquearse (quizás el equipo portátil donde lo estoy probando no tenga demasiada potencia), a pesar de usar las funciones recomendadas en la herramienta tales como calcular el “idle pc”. Comparando GNS3 con otras herramientas, como por ejemplo Cisco Packet Tracer, existen muchas opiniones que la consideran mejor porque es un emulador y no un simulador como Packet Tracer. Es decir, ejecuta las imágenes IOS reales y, por eso, se disponen de todos los comandos y parámetros existentes. Permite ver cómo un IOS real funciona. Una de sus desventajas es el alto consumo de recursos CPU y RAM de la máquina donde se ejecuta. Se recomienda Packet Tracer para usuarios principiantes. 15