GNS3 1.0 beta and Cisco IOU


    Most recently, the public beta of the popular network equipment simulator GNS3 1.0 was released. First of all, it is interesting because it began to support switching (previously it only supported routing) using Cisco IOU . Since I use it, starting with the alpha version, I decided to write a small guide on how to make friends GNS3 and IOU.

    Disclaimer. Cisco IOUs may only be used by Cisco employees.

    Below is an instruction for both Windows and Linux.


    On the official GNS3 website, download All in One Installer for Windows.
    Together with GNS3 it will be offered to install SuperPutty, Wireshark, WinPcap and some other programs.
    After installation, you can already use the basic functionality of this simulator (routing) using Dynamips. But at this point, the IOU will not work.

    We need VirtualBox , the OVA virtual machine created by the GNS3 team, and IOU images.

    I can’t post links to IOU images, which does not negate the fact that you can find everything you need on the Internet. To date, the most popular are these 2 images:

    You can download the virtual machine here .
    Open VirtualBox , add this virtual machine using File -> Import Appliance . Go to VM settings -> Serial Ports -> uncheck Enable serial port , save the settings and launch the virtual machine.

    We go to the browser at http: // <your virtual machine address>: 8000 / upload , if you use the default settings for VirtualBox, the address will be like this:

    Add IOU images here and copy the path to each image , for example:

    OpenGNS3 -> Edit -> Preferences -> GNS3 Server -> Remote Servers , add the address and port of the web server on the virtual machine, in our case it is, 8000 TCP , click Add -> Apply .

    Open Edit -> Preferences -> IOU Devices , add the copied path to the IOU path field and click Save . We do for each image.

    We select the IOS on UNIX section , and in the Path to IOURC field, specify the path to the text file of the IOURC license (I, unfortunately, cannot upload it).

    That's it, now you can add IOU devices from the Routers panel -> IOU device orSwitches -> IOU device .

    Linux (using Ubuntu x64 14.04 as an example)

    In order for GNS3 1.0 to work under Linux, we need to make sure that we have python3, pip, pyQt installed:

    sudo apt-get install python3 python3-pip python3-pyqt4

    We also need to build Dynamips from source:

    sudo apt-get install libelf-dev uuid-dev libpcap0.8-dev cmake git
    git clone git://
    cd dynamips
    mkdir build
    cd build
    cmake ..
    sudo make install

    Now build the GNS3 GUI and Server :

    cd ~
    git clone
    cd gns3-gui
    sudo python3 install
    cd ~
    git clone
    sudo apt-get install python3-zmq python3-tornado python3-netifaces
    cd gns3-server
    sudo python3 install

    To get rid of errors when entering the settings, you can install VirtualBox , build and install vboxwrapper :

    cd ~
    git clone
    sudo apt-get install python-pip
    cd vboxwrapper
    sudo python2 install
    sudo cp /usr/local/lib/python2.7/dist-packages/

    It remains only to install iouyap , so that IOU works . You can download already compiled or compile from source. I chose the first option:

    tar -zxvf iouyap.tar.gz
    sudo cp iouyap /usr/local/bin/iouyap

    Before we get down to setting up, we need to do something else. The fact is that GNS3 will run some 32-bit binaries on a 64-bit system. To do this, you need to perform additional steps:

    sudo dpkg --add-architecture i386
    sudo apt-get update
    sudo apt-get install libc6:i386 libstdc++6:i386
    sudo apt-get install libssl1.0.0:i386
    sudo ln -s /lib/i386-linux-gnu/ /lib/i386-linux-gnu/

    As with the installation under Windows, we need to have IOU images and an iourc license file .

    It remains only to configure GNS3 and you're done.

    We start gns3 using the gns3 command in the terminal.
    Go to Edit -> Preferences . In the GNS3 Server section, specify the path: / usr / local / bin / gns3server
    In the Dynamips section, specify the path: / usr / local / bin / dynamips
    In the VirtualBox section, specify the path: / usr / local / bin / vboxwrapper
    In the IOS on Unix section, specify the path to iouyap : / usr / local / bin / iouyapand the path to the iourc license file .
    In the IOU Devices section, in the IOU path field, specify the path for each image and click Save .
    Optionally, you can change the console in the General -> Console Applications section . For GNS3, I use KDE Konsole instead of Gnome Terminal , as the latter connects to all devices in different windows, not tabs.

    Now it remains only to check whether everything works. Everything worked for

    me , I hope that you do too. The screen, of course, is not mine.

    Remarks and Observations

    • Under Windows, I used only the second alpha of GNS3, with a large number of devices, the processor load reached 70-80%, and sometimes everything slowed down a lot. Therefore, since the advent of the public beta, I have been using GNS3 in the ubuntu virtual machine. Judging by the sensations - it’s much more comfortable working like this.
      I apologize if some commands in the terminal should be used without sudo or in general others, I'm not a Linux specialist.
    • Now you can prepare for CCNP without real equipment, which is good news. Unfortunately, some features do not work. The problem is not GNS3, but the available images. I hope that IOU will soon implement support for these features. For example, Private VLAN, L3 PortChannel, DHCP snooping and some other features do not work.
    • The new GNS3 uses a different topology file format (now it is JSON), which is incompatible with the previous version of GNS3, because of which all available labs just won't start like that (though you can write a conversion script from one to another if you wish).

    Also popular now: