Esta pagina se ve mejor con JavaScript habilitado

GNS3 en FreeBSD mediante Kali/CBSD

 ·  🎃 kr0m

La manera mas sencilla de tener GNS3 funcionando en FreeBSD es virtualizando una máquina Kali, para ello lanzaremos una VM mediante CBSD e instalaremos todo lo necesario en ella.

El primer paso será instalar todo el software necesario, parte del software está disponible desde los repositorios de Kali, otro se instalará desde Pip y finalmente la utilidad ubridge que será compilada manualmente:

apt install -y libpcap-dev python3-pip python3-pyqt5 python3-pyqt5.qtsvg python3-pyqt5.qtwebsockets qemu qemu-kvm qemu-utils libvirt-clients libvirt-daemon-system virtinst apt-transport-https ca-certificates curl gnupg2 software-properties-common dynamips xterm telnet
pip3 install gns3-server gns3-gui
git clone https://github.com/GNS3/ubridge.git
cd ubridge
make
make install
ls -la /usr/local/bin/ubridge

-rwxr-xr-x 1 root root 121224 oct 17 20:16 /usr/local/bin/ubridge

Copiamos las imágenes IOS a la VM Kali:

scp -r /mnt/2T/ios/ kr0m@192.168.69.99:/home/kr0m/GNS3/images/

Autorizamos la ip de la Kali para que pueda lanzar aplicaciones en local a través de la red, conectamos por Ssh y lanzamos de forma remota el GNS3:

xhost +inet:192.168.69.99
ssh -vYC kr0m@192.168.69.99 gns3

Vamos a configurar algunos parámetros de GNS3, para ello accesdemos a las preferencias a través de:

Edit -> Peferences

Configuramos el path del binario Dynamips:

Cargamos las imágenes de IOS que necesitemos:

Al seleccionar la imagen puede que nos pida confirmación para descomprimirla, aceptamos:





El valor idle-pc NO lo configuramos ya que GNS3 está bugeado y no funciona, lo haremos mas tarde una vez ya añadido el router al esquema.


Ahora ya podemos añadir desde la parte izquierda el router recién configurado, lo añadimos a nuestro esquema:

Lo arrancamos:

Botón derecho -> Start

Generamos ahora el idle-pc:

Botón derecho -> Autoidle-pc

Para acceder a la consola tendríamos que hacer botón derecho -> Console pero como estamos ejecutando la aplicación por Ssh no nos abrirá el xterm correspondiente a tal acción, debemos acceder por Ssh a la Kali y conectar al puerto de la consola manualmente, el rango de puertos a utilizar se definen en las preferencias de GNS3:

En la interfaz de GNS3 podemos ver que puerto ha sido asignado a cada router:

Accedemos a la Kali y conectamos al socket de la consola:

ssh kr0m@192.168.69.99
telnet 127.0.0.1 5000

Donde podemos ver el arranque del router:

Connected to Dynamips VM "R1" (ID 1, type c3600) - Console port  
Press ENTER to get the prompt.  
ROMMON emulation microcode.  
Launching IOS image at 0x80008000...  
Smart Init is disabled. IOMEM set to: 5    
Using iomem percentage: 5  
    
Restricted Rights Legend  
  
Use, duplication, or disclosure by the Government is  
subject to restrictions as set forth in subparagraph  
(c) of the Commercial Computer Software - Restricted  
Rights clause at FAR sec. 52.227-19 and subparagraph  
(c) (1) (ii) of the Rights in Technical Data and Computer  
Software clause at DFARS sec. 252.227-7013.  
  
           cisco Systems, Inc.  
           170 West Tasman Drive  
          San Jose, California 95134-1706  
  
Cisco IOS Software, 3600 Software (C3660-I-M), Version 12.4(13b), RELEASE SOFTWARE (fc3)  
Technical Support: http://www.cisco.com/techsupport  
Copyright (c) 1986-2007 by Cisco Systems, Inc.  
Compiled Tue 24-Apr-07 21:18 by prod_rel_team  
Image text-base: 0x60008E5C, data-base: 0x60FE0000  
  
Cisco 3660 (R527x) processor (revision 1.0) with 187392K/9216K bytes of memory.  
Processor board ID FTX0945W0MY  
R527x CPU at 250MHz, Implementation 40, Rev 1.2, 512KB L2 Cache  
  
  
3660 Chassis type: ENTERPRISE  
2 FastEthernet interfaces  
DRAM configuration is 64 bits wide with parity enabled.  
253K bytes of NVRAM.  
8192K bytes of processor board System flash (Read/Write)  
  
Press RETURN to get started!

Ejecutamos un comando simple para comprobar que funciona correctamente:

R1#show version

Cisco IOS Software, 3600 Software (C3660-I-M), Version 12.4(13b), RELEASE SOFTWARE (fc3)  
Technical Support: http://www.cisco.com/techsupport  
Copyright (c) 1986-2007 by Cisco Systems, Inc.  
Compiled Tue 24-Apr-07 21:18 by prod_rel_team  
  
ROM: ROMMON Emulation Microcode  
ROM: 3600 Software (C3660-I-M), Version 12.4(13b), RELEASE SOFTWARE (fc3)  
  
R1 uptime is 0 minutes  
System returned to ROM by unknown reload cause - suspect boot_data[BOOT_COUNT] 0x0, BOOT_COUNT 0, BOOTDATA 19  
System image file is "tftp://255.255.255.255/unknown"  
  
Cisco 3660 (R527x) processor (revision 1.0) with 187392K/9216K bytes of memory.  
Processor board ID FTX0945W0MY  
R527x CPU at 250MHz, Implementation 40, Rev 1.2, 512KB L2 Cache  
  
3660 Chassis type: ENTERPRISE  
2 FastEthernet interfaces  
DRAM configuration is 64 bits wide with parity enabled.  
253K bytes of NVRAM.  
8192K bytes of processor board System flash (Read/Write)  
  
Configuration register is 0x2102

Vamos a darle red al router mediante una “cloud”:

Conectamos mediante el elemento “Add link” la interfaz fastEthernet0/0 a la eth0 de la cloud:

Configuramos el router:

R1#conf terminal

Enter configuration commands, one per line.  End with CNTL/Z.  
R1(config)#interface fastEthernet 0/0
R1(config-if)#ip address 192.168.69.100 255.255.255.0 
R1(config-if)#no shutdown
*Mar  1 00:02:02.419: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up  
*Mar  1 00:02:03.419: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up  
R1(config-if)#exit
R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.69.200

Comprobamos que la red funcione hasta Internet:

R1(config)#end
R1#ping 8.8.8.8

Type escape sequence to abort.  
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:  
!!!!!  
Success rate is 100 percent (5/5), round-trip min/avg/max = 24/29/32 ms

Debemos tener cuidado con las imágenes que cargamos, si la imagen de IOS está corrupta puede dar problemas, sobretodo cuando guardemos la configuración, si lo hacemos Dynamips entero crashea con el siguiente error:

C3600 ‘Ghost’: generic_nvram_extract_config: Unknown error -61605

Si te ha gustado el artículo puedes invitarme a un RedBull aquí