Herramientas de usuario

Herramientas del sitio


informatica:software:gns3

¡Esta es una revisión vieja del documento!


GNS3

GNS3 es un simulador gráfico de red que permite diseñar topologías de red complejas y poner en marcha simulaciones sobre ellos, permitiendo la combinación de dispositivos tanto reales como virtuales. Alternativa libre y gratuita al Packet Tracer de Cisco.

Las notas aquí recogidas están centradas en la versión para Linux

Para permitir completar simulaciones, GNS3 está estrechamente vinculada con Dynamips, un emulador de IOS que permite a los usuarios ejecutar imágenes de IOS.4​

Instalación

Linux

En el caso de Arch Linux:

yay -S gns3-gui gns3-server qemu docker vpcs  dynamips libvirt ubridge inetutils 
  • qemu: emula máquinas completas (CPU, disco, NIC, etc.). Esto permite ejecutar imágenes de routers, firewalls y sistemas operativos reales dentro de una topología.
  • docker: Permite usar contenedores Docker como nodos de una topología GNS3. Es útil para levantar Linux, servicios de red, servidores, etc., de forma ligera.
  • vpcs Virtual PC Simulator. Proporciona PCs virtuales muy ligeros para usarlos como hosts finales en tus laboratorios. Consumen apenas 2 MB por instancia y ofrecen soporte básico de redes como establecer una dirección IP y comandos de red como arp, ping y traceroute.
  • dynamips: emulador de hardware Cisco antiguo, principalmente routers de las familias que utilizaban IOS clásico (7200, 3700, 3600, 2600 y 1700)
  • libvirt: capa de administración de virtualización para Linux. GNS3 puede utilizarla para gestionar máquinas virtuales, normalmente mediante QEMU/KVM.
  • ubridge: utilidad que permite conectar/puentear interfaces de red entre distintos componentes de una topología, por ejemplo interfaces virtuales, TAP, Ethernet, etc.
  • inetutils: colección de herramientas clásicas de red (como ping, telnet, ftp, etc.).
                       GNS3
                         │
          ┌──────────────┼──────────────┐
          │              │              │
        QEMU          Dynamips        Docker
          │              │              │
     VM/router       Cisco IOS      Contenedor
          │
       libvirt
          │
       KVM/QEMU
          
       VPCS ──► PCs virtuales ligeros

       uBridge ──► conexiones/puentes de red
       
       inetutils ──► utilidades de red

Dynamips

Dynamips está obsoleto porque emula hardware antiguo basado en MIPS (como los routers Cisco de las series 7200 o 3700). Hoy en día, la industria utiliza la virtualización de imágenes de sistemas operativos reales ejecutados sobre hipervisores (QEMU/KVM).

En lugar de buscar un programa completo alternativo, lo ideal es que dejes de usar Dynamips y cambies el tipo de imágenes que corres dentro de tu propio GNS3:

  • Cisco IOSv / IOSvL2 (vIOS): Son imágenes oficiales de Cisco optimizadas para correr de forma virtual mediante QEMU. Consumen muchísima menos memoria RAM y CPU que Dynamips, no requieren configurar Idle-PC y soportan características modernas de routing y switching.
  • Cisco IOU / IOL (IOS on Unix / Linux): Son imágenes de IOS compiladas directamente para correr como procesos nativos en Linux. Son extremadamente ligeras y estables.

Terminología

VPCS

VPCS significa Virtual PC Simulator. Es un pequeño programa que simula un ordenador de forma muy sencilla. Proporciona una consola con las funciones de red que necesitas para practicar (establecer direcciones IP y comandos de red como ping, arp y traceroute).

Uso

Topología básica: dos clientes conectados por un switch

Dispositivos:

  • VPCS x2
  • Switch ethernet

Establecer una dirección IP en un VPCS:

ip <DIRECCION_IP> [<MASCARA_RED>] [<PUERTA_ENLACE>]

También podemos indicar la máscara de subred con notación CIDR: ip 10.1.1.2/24

Para ver la configuración de red actual:

show ip

También vale el atajo sh en lugar de show.

Para guardar las configuraciones de estos dispositivos virtuales:

save

En caso de dispositivos Cisco:

wr

Imágenes de Cisco IOS

Poder añadir routers y switches de Cisco. Es necesario usar QEMU para virtualizar este tipo de dispositivos.

Para obtener imágenes:

En GNS3, añadimos una nueva plantilla (template)

Es importante establecer un valor de “Idle-PC” porque de lo contrario podría utilizar el 100 % de la CPU (revisar este tema para entenderlo y explicarlo mejor).

Contenedores Docker

Para añadir como clientes contenedores Docker.

Cuando añadimos un contenedor Docker a nuestra topología, con el botón derecho sobre él podremos configurar la red.

Vamos a Edit → Preferences y vamos a Docker containers. Ahí pulsamos en New y comenzaremos a configurar el contenedor que queramos.

Por ejemplo:

  • Imagen: alpine:latest
  • Name: Alpine Linux
  • Adapters: 1
  • Start command: /bin/sh
  • Console type: telnet

Desde ese momento, lo tendremos disponible en la sección Browse End Devices (donde están los VPCS, Cloud, NAT…)

Cambiar aspecto de los dispositivos

Cuando lo hemos añadido a un proyecto, podemos pulsar con el botón derecho sobre el dispositivo y elegir Change symbol. Elegimos el diseño que nos guste.

Si queremos aplicarlo a un tipo de dispositivo, podemos modificarlo en la propia plantilla del dispositivo pulsando con el botón derecho y eligiendo Configure template. En el apartado Symbol, elegiremos el que queremos.

Routers CISCO

Ejemplo para la siguiente topología:

   
         ----------                            -----------
         | Router1 |  -----------------------  | Router2 | 
         -----------  1.1.1.1       1.1.1.2    -----------
              |                                      |
192.168.1.1   |                                      |   192.168.2.1
              |                                      |
              |                                      |
          -----------                           -----------
          | Switch1 |                           | Switch2 |
          -----------                           -----------
              |                                      |
              |                                      |
           ---------                             ----------
           | VPCS1 |                             | VPCS2  |
           ---------                             ----------
          192.168.1.2                           192.168.2.2

Para la configuración desde su consola.

Entrar en el modo de configuración global:

config t

Elegimos la primera interfaz:

int f0/0

Configuramos:

ip add 1.1.1.1 255.0.0.0
no sh

Vamos con la otra interfaz:

int f0/1
ip add 192.168.1.1 255.255.255.0
no sh 

Queda aplicar el protocolo de enrutamiento:

router rip
network 1.0.0.0
network 192.168.1.0

En el otro router:

config t
int f0/0
ip add 1.1.1.2 255.0.0.0
no sh
int f0/1
ip add 192.168.2.1 255.255.255.0
no sh
router rip
network 1.0.0.0
network 192.168.2.0

Para revisar la configuración de cada router:

sh ip int br

Para comprobar el protocolo de enrutamiento:

sh ip route
informatica/software/gns3.1791138953.txt.gz · Última modificación: por tempwin