En este artículo, te presento una actualización del proceso de instalación de GNS3 en Debian 12, basado en el post anterior para Debian 11. Si necesitas detalles más profundos sobre la instalación o la configuración de GNS3, te recomiendo revisar la versión anterior.

Instalación GNS3

Actualizamos los repositorios e instalamos las actualizaciones disponibles del sistema.

javiercruces@HPOMEN15:~$ sudo apt update -y && sudo apt upgrade -y 

Instalamos las dependencias necesarias para GNS3, incluyendo Python, herramientas de virtualización (KVM,QEMU,libvirt), bibliotecas adicionales (PyQt5,dynamips) y otras utilidades.

javiercruces@HPOMEN15:~$ sudo apt install python3 python3-pip pipx python3-pyqt5 python3-pyqt5.qtwebsockets python3-pyqt5.qtsvg qemu-kvm qemu-utils libvirt-clients libvirt-daemon-system virtinst dynamips software-properties-common ca-certificates curl gnupg2 bridge-utils virt-manager libvirt-daemon -y

Habilitamos y arrancamos el servicio de virtualización libvirtd y nos añadimos al grupo “libvirt” para otorgarle permisos sobre las máquinas virtuales y redes de KVM .

javiercruces@HPOMEN15:~$ sudo systemctl enable --now libvirtd && sudo usermod -aG libvirt $(whoami)

Instalamos las aplicaciones principales de GNS3: el servidor (gns3-server) y la interfaz gráfica (gns3-gui) utilizando pipx para un entorno Python aislado de forma comoda , sin necesidad de crear un entorno virtual a mano.

javiercruces@HPOMEN15:~$ pipx install gns3-server && pipx install gns3-gui

Aseguramos que el directorio de binarios de pipx esté en la variable de entorno PATH para que los comandos de GNS3 sean accesibles globalmente desde cualquier terminal.

javiercruces@HPOMEN15:~$ pipx ensurepath

Inyectamos el paquete PyQt5 en el entorno de gns3-gui, asegurándonos de que tenga todas las dependencias necesarias.

javiercruces@HPOMEN15:~$ pipx inject gns3-gui gns3-server PyQt5

Iniciamos la red por defecto de KVM y la configuraremos para que al reiniciar se incie de forma automatica .

javiercruces@HPOMEN15:~$  virsh --connect=qemu:///system net-start default
La red default se ha iniciado

javiercruces@HPOMEN15:~$  virsh --connect=qemu:///system net-autostart default
La red default ha sido marcada para iniciarse automáticamente

Reiniciamos el sistema para aplicar los cambios, como la configuración de grupos y PATH.

javiercruces@HPOMEN15:~$ sudo reboot 

Ahora podremos iniciar gns3 , pero te recomiendo que configures los siguientes apartados que tienes en el post .

javiercruces@HPOMEN15:~$ gns3

Instalación ubridge

Clonamos el repositorio de ubridge desde GitHub. Ubridge es una herramienta necesaria para GNS3, que permite gestionar el tráfico entre las interfaces de red virtualizadas.

javiercruces@HPOMEN15:~$ git clone https://github.com/GNS3/ubridge.git

Nos movemos al directorio del proyecto recién clonado.

javiercruces@HPOMEN15:~$ cd ubridge/

Compilamos el código fuente de ubridge utilizando “make” .

javiercruces@HPOMEN15:~/ubridge$ make 

Instalamos el binario de ubridge en el sistema para que esté disponible globalmente.

javiercruces@HPOMEN15:~/ubridge$ sudo make install

Asignamos permisos de ejecución al archivo binario de ubridge

javiercruces@HPOMEN15:~/ubridge$ chmod +x ubridge

Copiamos el archivo binario a “/usr/local/bin”, una ruta estándar para comandos disponibles globalmente en el sistema.

javiercruces@HPOMEN15:~/ubridge$ cp -p ubridge /usr/local/bin

Configuramos permisos especiales para ubridge, permitiéndole acceso a operaciones de red (cap_net_admin) y envío de paquetes en bruto (cap_net_raw), necesarias para su funcionamiento.

javiercruces@HPOMEN15:~/ubridge$ sudo setcap cap_net_admin,cap_net_raw=ep /usr/local/bin/ubridge

Instalación vpcs

Clonamos el repositorio de VPCS desde GitHub. VPCS (Virtual PC Simulator) es una herramienta ligera que simula PCs básicos para pruebas de red en GNS3.

javiercruces@HPOMEN15:~$ git clone https://github.com/GNS3/vpcs.git

Accedemos al directorio donde hemos clonado el repositorio y ejecutamos el script que nos compilara el codigo fuente del programa.

javiercruces@HPOMEN15:~$ cd vpcs/src
javiercruces@HPOMEN15:~/vpcs/src$ sudo ./mk.sh

Dentro de la carpeta src tendremos el ejecutable de las maquinas vpcs , guarda esta ruta ya que tendras que configurarla en gns3 .

javiercruces@HPOMEN15:~/vpcs/src$ ls | grep c
vpcs
javiercruces@HPOMEN15:~/vpcs/src$ pwd
/home/javiercruces/vpcs/src

En preferencias tienes que añadir la ruta donde has guardado el fichero compilado vpcs , en mi caso la ruta seria /home/javiercruces/vpcs/src/vpcs