GNS3 - Simulador de redes




GNS3 es un simulador gráfico de red lanzado en 2008, que permite diseñar topologías de red simples o complejas y poner en marcha simulaciones sobre ellos, permitiendo la combinación de dispositivos tanto reales como virtuales.
GNS3 dispone de muchos proveedores comerciales y de código abierto que son compatibles, como son CISCO o Fortigate. Además, permite probar la integración de equipos, tanto con sistemas operativos Windows o Linux (en versiones cliente o servidor), u otros dispositivos como sniffers, cortafuegos o servicios de red.

Características

Las principales características que posee este simulador son las siguientes:
  • Simulaciones de diferentes elementos de una red (equipos, routers, switches, cortafuegos, etc).
  • Multiplataforma (disponible para Windows, Linux y MAC).
  • Emulación de diferentes marcas y proveedores.
  • Posibilidad de captura de paquetes para monitorizar la simulación.

Componentes

GNS3 incluye una variedad de componentes y plugins que instalará en nuestro equipo, para hacer las simulaciones más específicas y con más opciones. Algunos de ellos son los siguientes:
AplicaciónFunciónWeb del Desarrollador
GNS3Simulador gráfico de redhttps://www.gns3.com/
WinPCAPPermite enviar y capturar paqueteshttps://www.winpcap.org/
WireSharkAnalizador de paqueteshttps://www.wireshark.org/
DynamipsEmulador de router Ciscohttps://rednectar.net/tag/dynamips/
QEMUEjecuta máquinas virtualeshttps://www.qemu.org/
VPCSSimulador de Terminales (PC)https://sourceforge.net/projects/vpcs/
CpulimitLimita el uso que hace la CPU en un procesohttp://cpulimit.sourceforge.net/
TightVNC ViewerControl remoto de máquinas virtualeshttps://www.tightvnc.com
Solar Winds ResponseAnalizador de paquetes trabaja con Wiresharkhttps://www.solarwinds.com
NpcapSniffer de puertoshttps://nmap.org/npcap/

Instalación de GNS3



A continuación se explica cómo instalar el programa tanto en Windows como en Linux. Es necesario tener una cuenta gratuita en el sitio oficial de GNS3 para descargar el software.



En Windows:


En el sitio oficial de GNS3 nos dirigimos al apartado "Download" y elegiremos la versión para Windows. Una vez descargado el instalador, lo ejecutamos y esperamos a que instale todos los componentes.



Es importante instalar todos los componentes y plugins que nos diga, ya que serán necesarios para poder usar todas las funciones que ofrece el software y puede ocasionar errores si no los tenemos. Cuando haya instalado todo lo necesario, ya podremos utilizar el programa sin problemas.



En Linux:


Para instalar el programa en Linux, iremos a la sección "Download" del sitio oficial de GNS3 y elegimos la opción Linux. Nos redirigirá a otro página con las instrucciones de instalación, donde tendremos que seguir los pasos indicados dependiendo de la distribución que estemos utilizando.


Elementos de la red

Routers

GNS3 no cuenta con routers para añadir como tal. Si queremos añadir routers a nuestra red, deberemos implementar alguno mediante la importación de alguna aplicación. Por ejemplo, podemos importar routers de Cisco, o directamente importar máquinas con Windows o Linux que puedan hacer de router en nuestra red.
Si importamos routers de Cisco o cualquier otra marca, nos darán las opciones de configuración de dicha marca, incluyendo las interfaces que usen y sus características. También tendremos que conocer como funciona a nivel de sistema operativo, ya que cuando accedamos a él para configurarlo cada uno tendrá sus propios comandos y opciones. GNS3 utiliza el software Putty para conectarse a los routers.

Switches

Los switches que utiliza GNS3 son integrados en el propio software. Todos los que incluye no poseen configuración, es decir, no podemos acceder a ellos para ver sus opciones, sino que simplemente hacen su función de switch de enviar los paquetes por todos los puertos menos por el de entrada. Si queremos configurar un switch nosotros mismos, deberemos importar uno del tipo y marca que queramos y conocer su configuración.
GNS3 incluye:
  • Ethernet switch
  • Ethernet hub
  • ATM switch
  • Frame relay switch


Podemos implementar otro switch con las prestaciones que queramos haciendo click en "New template" y descargando el que queramos.

End devices

Los "end devices" son los elementos que usamos los humanos para comunicarnos con otros usando la red, como los PCs. GNS3 posee en esta sección lo que denomina VPCs y "nubes".

VPCs

GNS3 incluye lo que denomina "VPCS" o PCs virtuales. Estos equipos que actuan como PCs en una red poseen una configuración muy básica que incluye el propio software, que les permite hacer pruebas de conectividad para comprobar que la red funcione correctamente en los puntos donde se encuentran.
Podemos implementar VPCs con el sistema operativo que queramos gracias a QEMU, el software que incluye GNS3 para emular sistemas operativos en sus dispositivos, y tener más opciones en nuestros PCs.


Si arrancamos por primera vez alguno de los equipos que hemos implementado mediante un sistema operativo en concreto, se iniciará como un equipo normal, en el caso de Linux con el menú para arrancar el sistema en modo Live o instalarlo.


Los equipos que arrancamos y poseen una interfaz gráfica nos permitirán conectarnos usando TightVNC.

Nubes y NAT

GNS3 nos permite conectar nuestra red simulada a internet o a nuestra propia red física, por ejemplo si queremos configurar algun servicio dentro de la simulación que vayamos a usar fuera de esta. Existen dos formas de conseguirlo:
  • NAT: esto nos permite conectar nuestra red simulada a nuestra red física mediante NAT, es decir, tendríamos un "router virtual" invisible que nos hará la traducción desde dentro a fuera de la simulación, dándonos en la interfaz conectada al dispositivo NAT una ip dinámica que configuraremos en un DHCP interno de esta. Por defecto, nos dará ip dentro del rango 192.168.122.0/24, pero podemos configurarlo manualmente. 

  • Cloud: el módulo Cloud nos permite más funciones que el NAT, ya que nos conectará directamente la red simulada al adaptador de red de nuestra máquina física que queramos. Esto nos permite conectarnos al rango que tengamos definido en estas interfaces, ya que además de las interfaces de red físicas, como el Ethernet o el Wifi, podremos conectarnos a las interfaces virtuales de nuestros softwares de virtualización, como VMWare o VirtualBox. 


La ventaja que esto nos ofrece es que podemos tener segmentos de la red conectados a tantas interfaces virtuales como queramos, haciendo posible la comunicación con nuestras máquinas virtuales. Además, si una de estas interfaces virtuales está configurada como NAT en nuestro software de virtualización, podemos conectarnos mediante NAT usando este módulo y no el propio para NAT, ya que este nos permite más opciones, como establecer el pool de ip, el gateway o especificar los puertos que queramos abrir.


Máquinas virtuales

Además de los dispositivos mencionados, GNS3 nos da la opción de utilizar una máquina virtual ya configurada dentro de la simulación, que podremos utilizarla como otro elemento más de esta.
Para añadir una máquina, iremos a la pestaña "Edit" y "Preferences". Ahí buscamos la opción para VMWare o VirtualBox, dependiendo de la máquina a agregar. Nos dará una lista de nuestras máquinas virtuales y solamente deberemos elegir la que queramos.



Una vez añadida la máquina, nos aparecerá en el menú de máquinas virtuales (VMWare o VirtualBox), y podremos arrastrarla a la simulación como si se tratase de otro dispositivo.
Antes de iniciar las máquinas virtuales, es importante establecer un adaptador del tipo "host-only" o "solo anfitrión", ya que es el adaptador que GNS3 utiliza para comunicarse con las máquinas virtuales dentro de la simulación.




Máquina vitual GNS3

Como hemos mencionado, GNS3 puede emular sistemas operativos de diferentes compañías para conseguir una simulación más personalizada. Esto se consigue gracias a máquinas virtuales basadas en Linux modificadas por el propio software, que se encargan de alojar las imágenes y configuraciones de estos sistemas. Si queremos usar estas imágenes de distintos sistemas operativos, deberemos implementar esta máquina virtual en nuestro software GNS3. En este caso, vamos a configurarlo usando una máquina virtual en VMWare para ver configuraciones más específicas.

Descarga de la VM

Podemos descargar la máquina virtual desde este enlace, donde podemos elegir el software de virtualización que queramos usar (VirtualBox, VMWare Workstation o VMWare ESXI). Una vez descargada, tendremos una máquina virtual exportada con el formato GNS3_VM.ova. Solo tendremos que abrir nuestro software de virtualización e importarla, sin arrancar la máquina.


Añadir la VM a GNS3

Una vez añadida la máquina virtual a nuestro software de virtualización (en este caso usaremos VMWare), abrimos GNS3 y lo primero que aparecerá será un asistente. Este asistente nos permitirá configurar nuestro GNS3, ya que puede actuar de manera local o remota. En este caso lo vamos a configurar de manera local, ya que usaremos dispositivos en nuestro propio equipo físico, y además le diremos que las aplicaciones se instalarán en nuestra máquina virtual.



En la siguiente ventana del asistente, si la máquina virtual se añadió correctamente, el programa nos la detectará automáticamente con todas sus características, pudiendo modificarse estas siempre que nos sean necesarias, como los núcleos del procesador o la memoria RAM.


Cuando le demos en siguiente, la máquina virtual se arrancará automáticamente y dentro de esta nos aparecerá una ventana con sus propiedades, lo cual significa que ya está lista para usarse.


Instalación de aplicaciones en la VM

Con la máquina virtual implementada, ya podemos instalar aplicaciones en ella. Para ello, nos dirigimos a este enlace, el cual nos llevará a una sección de la página oficial de GNS3 donde vamos a poder descargarnos estas aplicaciones. En este caso, queremos implementar un router de Cisco (7200) y un pc con Linux (Kali Linux).



Cuando las descarguemos, tendrán el formato .gns3a, y podremos implementarlas. Para añadirlas a GNS3, nos iremos a File>Import appliance y seleccionamos la que queramos instalar.

Instalación de Router Cisco

Empezaremos con el router Cisco. Una vez añadimos la aplicación descargada, el asistente nos preguntará donde queremos instalarla, que será en la máquina virtual.


Al hacer click en siguiente, nos preguntará qué versión queremos instalar. Como hemos descargado la aplicación para instalar la versión 7200, solo nos aparecerá esta, y nos aparecerá una opción para descargar la imagen desde el sitio oficial de Cisco. Esto lo hará automáticamente y una vez descargada nos permitirá importarla haciendo click en "Import".


Hecho esto, tendremos instalada correctamente la imagen del IOs de Cisco 7200.

Instalación de PC Linux

Una vez descargada la aplicación de nuestro Linux (en este caso Kali Linux), la importaremos y nos aparecerá el asistente, donde le diremos que lo instale en la máquina virtual. En la siguiente pantalla veremos varias opciones para Kali Linux, que corresponden a sus distintas versiones.


Vamos a elegir la versión 2019.2 con el escritorio MATE. Al hacer click en ella y en "Download", nos empezará a descargar la imagen de Kali Linux, y además tendremos que descargar otro fichero con formato .qcow2, que nos permitirá emular la imagen descargada en un pc virtual mediante el componente de GNS3 "QEMU".
Cuando tengamos los dos ficheros, hacemos click en siguiente y ya tendremos listo nuestro pc con Kali Linux.

Creación de una red

Vamos a implementar una red básica, donde tendremos tres subredes conectadas mediante un cortafuegos, el cual además funciona como router. Este estará conectado además a un router que será el que de internet a toda la simulación.
Las tres subredes son las siguientes:
  • Una DMZ (10.2.1.0), que alojará servidores que posteriormente serán accesibles desde otras subredes.
  • Una red de clientes internos (10.2.2.0), los cuales solamente accederán a los servicios de la DMZ y no saldrán a internet.
  • Una red para el departamento de sistemas (10.2.3.0), que tendrán acceso a la DMZ y a internet.
El cortafuegos se encargará de establecer las políticas necesarias para cada subred. La red entre el router y el cortafuegos es la 10.1.1.0.

Router y salida a internet

En primer lugar vamos a implementar nuestro router Cisco 7200, que será el que nos de salida a internet a toda la red simulada. Anteriormente añadimos su imagen de sistema a GNS3, por lo que solamente tendremos que arrastrarlo a la pantalla. Antes de configurar nada más, vamos a añadir una Cloud que nos permitirá conectar una de las interfaces del router simulado a una de nuestras tarjetas físicas o virtuales.
En este caso la conectaremos a la VMNet8, que es mi tarjeta virtual de VMWare configurada para hacer NAT.






Ahora vamos a añadir un módulo al router para añadirle otra interfaz FastEthernet, ya que este modelo de Cisco solo posee una interfaz nativa de este tipo:





Para configurar la salida a internet en el router, lo encendemos y entramos por consola haciendo click derecho en él y seleccionando la opción "Console".
Entraremos en la interfaz conectada a la nube, es decir, FastEthernet 0/0 y le establecemos una ip mediante DHCP. Cuando la activamos, vemos que nos da la ip 192.168.3.138, la cual tiene salida a internet.


Si hacemos un ping a google (8.8.8.8) vemos que tenemos conexión perfectamente.


Por último, configuramos la segunda interfaz del router con una ip para poder conectarse al cortafuegos:


Conexión Router a Cortafuegos

Una vez que nuestro router tiene salida a internet, vamos a conectarlo al cortafuegos Fortigate, que será el que administre las reglas para cada subred. Añadimos el Fortigate a la simulación y le añadimos 5 tarjetas de red: una para la conexión al router y 3 para las subredes. La última la usaremos para conectar directamente el cortafuegos a nuestro ordenador físico, para configurarlo vía web.
Una vez añadidas, ejecutamos la máquina y nos conectamos por consola. Esperamos a que arranque la configuración inicial y cuando cargue, ejecutamos los siguientes comandos para entrar a la configuración y ver las interfaces:


Vamos a entrar al puerto 1 y le aplicamos esta configuración, para tener una dirección ip estática conectada al router:


El puerto 2 lo usaremos para la configuración vía web, por lo que le daremos una ip del rango de nuestra red física:


Las interfaces del cortafuegos quedarían de la siguiente manera:


Subredes

Ahora vamos a crear las subredes que vamos a utilizar en la simulación. Para ello, vamos a añadir tres switches que irán conectados a los puertos del cortafuegos, y desde él vamos a configurar las ip de cada puerto.


Equipos clientes

Vamos a añadir los equipos en cada subred, desde los que realizaremos las pruebas de conexión. Estos equipos los añadiremos mediante máquinas virtuales, ya que tienen mejor rendimiento que los equipos configurados mediante GNS3.


Configuramos las siguientes ip en cada equipo:
  • DMZ: Servidor web (10.2.1.3).
  • Internos: Equipo cliente con Linux (10.2.2.3).
  • Dpto.Sistemas: Equipo cliente con Windows (10.2.3.3).



Configuración del cortafuegos

Una vez tenemos la red lista, vamos a empezar a configurar el cortafuegos. Esto lo haremos vía web, desde la interfaz que configuramos para conectarnos a él desde nuestra red física (192.168.1.50).


Enrutamiento

Antes de configurar las reglas, vamos a añadir al cortafuegos un enrutamiento estático, que nos dará conexión con el router en las subredes.


Crearemos una regla por defecto, que establecerá que todo lo que entre al cortafuegos lo saque por el puerto 1, es decir, el que está conectado con el router directamente.

Reglas

En el punto anterior configuramos la regla por defecto para que las subredes se conecten al router e internet, por lo que vamos a establecer reglas en el cortafuegos para delimitarlas. En primer lugar, vamos al apartado "Policy & Objects" y entramos en "Addresses", donde vamos a añadir las subredes con un nombre que usará el cortafuegos para identificarlas:


Ahora nos dirigimos al apartado a "IPv4 Policy" y por defecto aparece una de negado implícito, es decir, el cortafuegos bloquea todo tipo de conexiones si no lo configuramos.


Lo que haremos será añadir una regla para cada subred creada, donde vamos a establecer los permisos mencionados.
  • DMZ: Vamos a establecer que la interfaz de entrada sea el puerto 3, es decir, la interfaz que conecta la DMZ con el cortafuegos, y la interfaz de salida será el puerto 1. Esto permitirá a la subred tener salida a internet. Posteriormente vamos a configurar el DNAT para permitir la conexión de equipos de fuera al servidor de la DMZ.

  • Internos: Los internos solo pueden conectarse a la DMZ, por lo que le diremos que la interfaz de entrada es el puerto 4 (subred internos) y la interfaz de salida será el puerto 3, es decir, la interfaz que conecta a la DMZ. Solo le vamos a permitir esta interfaz porque el equipo de esta subred solo queremos que tenga acceso a los servidores y no a internet.

  • Dpto.Sistemas: Esta subred tendrá acceso a internet y a los servidores, y además queremos que puedan hacer ping o acceder por otro servicio como SSH a los equipos de toda la simulación. Lo que haremos será indicar como interfaz de entrada el puerto 5 (subred dpto.sistemas) y como interfaz de salida todos los puertos del cortafuegos.

Pruebas de conexión


Comentarios

Popular Posts