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:
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:
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:
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:
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:
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:
Enter configuration commands, one per line. Â End with CNTL/Z.
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)#ip route 0.0.0.0 0.0.0.0 192.168.69.200
Comprobamos que la red funcione hasta Internet:
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