A mediados de marzo del 2012 se liberó la versión 0.8.2 de GNS3 un potente emulador gráfico de redes con el que podemos crear topologías en modo laboratorio de routers (IOS, JunOS), firewalls (ASA, PIX) y hosts. Un software particularmente útil para preparar ceritificaciones Cisco o Juniper y para testear la integración de éstos con Vyatta.


Udpate 29/05/2013: Según comenta Carlos, el manual es perfectamente válido para Ubuntu 12.10 por lo que entiendo que también lo será para versiones intermedias.
Si alguien lo prueba con versiones superiores de Ubuntu y/o de GNS se agradecería que lo comentase para ir actualizando la entrada.


Si queremos instalar GNS3 0.8.2 en Ubuntu 11.10 (merece la pena) no podemos hacerlo desde repositorios ni desde el centro de software de Ubuntu ya que la versión oficial disponible en repositorios es la versión GNS3 0.7.4-1 (que instala conjuntamente Dynamips 0.2.7-0.2.8RC2-5ubuntu1 por dependencias). Por lo que la solución a esta tarea pasa por hacer la descarga de dependencias, el parcheo de qemu y la compilación manual de la versión 0.8.2 de GNS3.


Este es el paso a paso:

  1. Primero instalamos las dependencias:

    hnoguera@hnoguera-desktop:~$ sudo apt-get install python
    hnoguera@hnoguera-desktop:~$ sudo apt-get install qt4-dev-tools
    hnoguera@hnoguera-desktop:~$ sudo apt-get install pyqt4-dev-tools
    hnoguera@hnoguera-desktop:~$ sudo apt-get install libncurses5-dev zlib1g-dev libsdl-dev libpcap-dev
    



  2. Creamos árbol de directorios que usará GNS3 para almacenamiento de proyectos, de imágenes IOS, de caché de temporales, etc y cambiamos permisos:

    hnoguera@hnoguera-desktop:~$ cd /opt/
    hnoguera@hnoguera-desktop:/opt$ sudo mkdir GNS3
    hnoguera@hnoguera-desktop:/opt$ cd GNS3/
    hnoguera@hnoguera-desktop:/opt/GNS3$ sudo mkdir Dynamips
    hnoguera@hnoguera-desktop:/opt/GNS3$ sudo mkdir IOS
    hnoguera@hnoguera-desktop:/opt/GNS3$ sudo mkdir Project
    hnoguera@hnoguera-desktop:/opt/GNS3$ sudo mkdir Cache
    hnoguera@hnoguera-desktop:/opt/GNS3$ sudo mkdir tmp
    hnoguera@hnoguera-desktop:/opt/GNS3$ sudo mkdir qemu
    hnoguera@hnoguera-desktop:/opt/GNS3$ cd ../
    hnoguera@hnoguera-desktop:/opt$ sudo chmod -R 755 GNS3/
    



  3. Descargamos la última versión de GNS3 disponible, en este caso la 0.8.2:

    hnoguera@hnoguera-desktop:/opt$ cd GNS3/
    hnoguera@hnoguera-desktop:/opt/GNS3$ wget http://sourceforge.net/projects/gns-3/files/GNS3/0.8.2/GNS3-0.8.2-src.zip



  4. Descargamos el binario de la última versión de Dynamips disponible, en este caso la 0.2.8-RC2 y lo hacemos ejecutable:
    Versión de 32 bits:

    hnoguera@hnoguera-desktop:/opt/GNS3$ cd Dynamips/
    hnoguera@hnoguera-desktop:/opt/GNS3/Dynamips$ wget http://www.ipflow.utc.fr/dynamips/dynamips-0.2.8-RC2-x86.bin
    hnoguera@hnoguera-desktop:/opt/GNS3/Dynamips$ sudo chmod +x ./dynamips-0.2.8-RC2-x86.bin


    Versión de 64 bits:

    hnoguera@hnoguera-desktop:/opt/GNS3$ cd Dynamips/
    hnoguera@hnoguera-desktop:/opt/GNS3/Dynamips$ wget http://www.ipflow.utc.fr/dynamips/dynamips-0.2.8-RC2-amd64.bin
    hnoguera@hnoguera-desktop:/opt/GNS3/Dynamips$ sudo chmod +x ./dynamips-0.2.8-RC2-amd64.bin



  5. Descargamos la versión 0.11 de qemu, la parcheamos y la instalamos (por ahora la versión 0.14 de qemu no funciona con GNS3 0.8.2, devuelve error “You’re running an old AND unpatched version of qemu, wich won’t work”):

    hnoguera@hnoguera-desktop:/opt/GNS3/Dynamips$ cd /opt/GNS3/qemu/
    hnoguera@hnoguera-desktop:/opt/GNS3/qemu$ wget http://download.savannah.gnu.org/releases/qemu/qemu-0.11.0.tar.gz
    hnoguera@hnoguera-desktop:/opt/GNS3/qemu$ tar -zxvf qemu-0.11.0.tar.gz
    hnoguera@hnoguera-desktop:/opt/GNS3/qemu$ cd qemu-0.11.0/
    hnoguera@hnoguera-desktop:/opt/GNS3/qemu/qemu-0.11.0$ wget http://sourceforge.net/projects/gns-3/files/Qemu/Patches/qemu-0.11.0-olive.patch/download
    hnoguera@hnoguera-desktop:/opt/GNS3/qemu/qemu-0.11.0$ sudo mv download qemu-0.11.0-olive.patch
    hnoguera@hnoguera-desktop:/opt/GNS3/qemu/qemu-0.11.0$ patch -p1 -i qemu-0.11.0-olive.patch
    hnoguera@hnoguera-desktop:/opt/GNS3/qemu/qemu-0.11.0$ ./configure --target-list=i386-softmmu
    hnoguera@hnoguera-desktop:/opt/GNS3/qemu/qemu-0.11.0$ sudo make
    hnoguera@hnoguera-desktop:/opt/GNS3/qemu/qemu-0.11.0$ sudo make install
    



  6. Descomprimimos e iniciamos GNS3:

    hnoguera@hnoguera-desktop:/opt/GNS3/qemu/qemu-0.14.1$ cd ../../
    hnoguera@hnoguera-desktop:/opt/GNS3$ unzip GNS3-0.8.2-src.zip
    hnoguera@hnoguera-desktop:/opt/GNS3$ cd GNS3-0.8.2-src/
    hnoguera@hnoguera-desktop:/opt/GNS3/GNS3-0.8.2-src$ sudo chmod +x ./gns3
    hnoguera@hnoguera-desktop:/opt/GNS3/GNS3-0.8.2-src$ sudo chmod +x ./qemuwrapper/qemuwrapper.py
    hnoguera@hnoguera-desktop:/opt/GNS3/GNS3-0.8.2-src$ ./gns3 
    


  7. Configuramos GNS3:


    Clic en el paso 1 del Wizard



    gns3-0.8.2-config-1




    Cambiamos la ruta del ejecutable de Dynamips a /opt/GNS3/Dynamips/dynamips-0.2.8-RC2-x86.bin, el directorio de trabajo a /opt/GNS3/tmp y comprobamos su correcto funcionamiento con “Test Settings”:




    gns3-0.8.2-config-2




    En el apartado “General” bajo “Paths” especificamos las rutas /opt/GNS3/Project para “Project directory” y /opt/GNS3/IOS para “OS image”:




    gns3-0.8.2-config-3




    En la pestaña “Terminal Settings” cambiamos el comando que aparece en “Terminal command” a:

    gnome-terminal -t %d -e 'telnet %h %p' >/dev/null 2>&1 &





    gns3-0.8.2-config-4




    En el apartado “Capture” cambiamos el “Working directory for capture files” a /opt/GNS3/Project:




    gns3-0.8.2-config-5




    En el apartado “Qemu” cambiamos los “Paths” según corresponda con el destino de los binarios de qemu:



    hnoguera@hnoguera-desktop:/opt/GNS3/qemu/qemu-0.11.0$ which qemu
    /usr/local/bin/qemu
    hnoguera@hnoguera-desktop:/opt/GNS3/qemu/qemu-0.11.0$ which qemu-img
    /usr/local/bin/qemu-img



    Cambiamos “Path to qemu” a /usr/local/bin/qemu, “Path to qemu-img” a /usr/local/bin/qemu-img y testeamos la configuración:




    gns3-0.8.2-config-6



    Aplicamos cambios, cargamos alguna imagen ISO y a funcionar.



Fuentes:




Logo GNS3GNS3