GNS3 1.2.1 installation on Ubuntu 14.04

As mentioned in an earlier post GNS3 is moving ahead fast. Currently at version 1.2.1 the GNS3 is looking great. Compared with the version 1.0 Beta 1 which I had installed, the 1.2.1 is not only more stable, but it has the Menu more clean and compact. For example now there is only one Preferences menu where you can adjust all your settings.

During the installation of 1.0 Beta 1 I made some notes in Evernote and it prove to be very useful as the installation was pretty messy. With 1.2.1 I did the same thing, but the installation was very smooth. Still, I said that if I made those notes maybe I should share them for those interested in a quick installation. A more complete guide can be found on GNS3 Community.

1. Download GNS3 1.2.1

Head over to http://www.gns3.com/, create and account and download the bundle archive for Linux.

If you for some reason you don’t want to create an account, you may download each package individually from https://github.com/GNS3

The following lines will assume that you have the bundle archive.

2. Install Ubuntu 14.04 dependencies

$ sudo apt-get install libpcap-dev uuid-dev libelf-dev cmake
$ sudo apt-get install python3-setuptools python3-pyqt4 python3-ws4py python3-netifaces python3-zmq python3-tornado
$ sudo apt-get install unzip 

3. Unzip the bundle archive

$ unzip GNS3-1.2.1.source.zip

You should see 5 packages in GNS3-1.2.1 folder:
dynamips-0.2.14.zip
gns3-server-1.2.1.zip
gns3-gui-1.2.1.zip
iouyap-0.95.zip
vpcs-0.6.zip

4. Install Dynamips

$ unzip dynamips-0.2.14.zip
$ cd dynamips-0.2.14
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install

To check if the correct version is install:

$ dynamips | grep version

You should see in the output 0.2.14

5. Install GNS3 Server

$ unzip gns3-server-1.2.1.zip
$ cd gns3-server-1.2.1
$ sudo python3 setup.py install

To check if the GNS3 Server is installed correctly:

$ gns3server

If you see some output other than an error, than you’re fine.

6. Install GNS3 GUI

$ unzip gns3-gui-1.2.1.zip
$ cd gns3-gui-1.2.1
$ sudo python3 setup.py install

To test if the installation is working:

$ gns3

You should see a graphical interface of GNS3 launched.

At this moment you have a working GNS3 environment if you want only want to test Cisco hardware emulators. I strongly recommend to continue and install also the rest of the components. Who knows when you’ll need them

7. Install IOUyap (Optional, if you will use IOU images)

$ unzip iouyap-0.95.zip
$ cd iouyap-0.95.zip
$ make
$ sudo make install

To test the installation:

$ iouyap -h

If you encounter an error, please check the [Update 1] section at the bottom of this article.

8. Install VPCS (Optional, if you want to use VirtualPC)

$ unzip vpcs-0.6.zip
$ cd vpcs-0.6/src
$ ./mk.sh 64
$ cp vpcs /usr/bin/

For the third line, the 64 represent 64bit, as my Ubuntu 14.04 is build on 64bit.
The values can be:
– 32 or i386 for 32bit OS
– 64 or amd64 for 64bit OS

Please be sure to use the correct one for your OS.

To test the VPCS:

$ vpcs

You should see a Virtual PC being launched. Leave the console with letter q.

9. Install VirtualBox (Optional, if you want to launch VMs)

Download the correct version for your system from https://www.virtualbox.org/wiki/Linux_Downloads. The following lines will assume an Ubuntu 14.04 64bit OS.

$ apt-get install dkms
$ dpkg -i virtualbox-4.3_4.3.20-96996~Ubuntu~raring_amd64.deb

You can also use the instructions at https://www.virtualbox.org/wiki/Linux_Downloads and go for an APT installation.The choice is yours.

10. Install Qemu (Optional, if you want to use qemu images)

$ sudo apt-get install qemu

11. Install IOU (Optional, if you want to use IOU images)

I’m not a legal matter expert, and the usage of IOU is sort of grey area. Because of this, I’m not going to cover this chapter.

You’re ready to go. Start the GNS3 GUI:

$ gns3

Some things to check before going live:

  • check in the menu Edit > Preferences to set your desired Paths (in General sections) and to check the paths for the binaries (dynamips, vpcs, iou, virtualbox…)
  • add the IOS, virtualbox vm, iou images
  • in case of Cisco hardware emulators don’t forget to find the IdlePC value (when you add the IOS image or later with the start of your first router with a certain image) otherwise your CPUs will cry.

If something does not work as described or you need help please let me know in Comments.

[Update 1]

If you get the following error during installation of iouyap:

GNS3-1.2.2.source/iouyap-0.95 $ make
gcc -g -DDEBUG -Wall -c -o iouyap.o iouyap.c
iouyap.c:40:23: fatal error: iniparser.h: No such file or directory
#include
^
compilation terminated.
make: *** [iouyap.o] Error 1

Try to install the iniparser as follows:

sudo apt-get install flex bison

then

cd /tmp
curl -L https://github.com/ndevilla/iniparser/archive/master.tar.gz | tar -xz
cd iniparser*
make

and finally iouyap

cd /tmp
curl -L https://github.com/GNS3/iouyap/archive/master.tar.gz | tar -xz
cd iouyap*
bison -ydv netmap_parse.y
flex netmap_scan.l
gcc -Wall *.c -I /tmp/iniparser*/src -L /tmp/iniparser* -o iouyap -liniparser -lpthread
strip --strip-unneeded iouyap
sudo mv iouyap /usr/local/bin

Thanks to mweisel @ forum.gns3.net for this update!

Published by

Calin

Calin is a network engineer, with more than 20 years of experience in designing, installing, troubleshooting, and maintaining large enterprise WAN and LAN networks.

23 thoughts on “GNS3 1.2.1 installation on Ubuntu 14.04”

  1. When attempting to install iouyap the following error is encountered:

    GNS3-1.2.2.source/iouyap-0.95 $ make
    gcc -g -DDEBUG -Wall -c -o iouyap.o iouyap.c
    iouyap.c:40:23: fatal error: iniparser.h: No such file or directory
    #include
    ^
    compilation terminated.
    make: *** [iouyap.o] Error 1

  2. Hello,

    Sorry for late reply. I did add an Update to the post above that seems to work if you encounter this error.
    Please try and see if it’s really working for you.

    1. Hello Alexander, did you try to check the console port and try a direct telnet on 127.0.0.1 and the console port? Does it open like this?

    1. Hi Bilal,

      Sorry, there is a small typo there. If you’re in the vpcs-0.6/src
      then type

      ./mk.sh 64
      or
      ./mk.sh 32

      I hope this will solve this issue. I did also adapt the post.

  3. Muhamamd, as you can see for the majority of the folks out here it did work. For me also it worked fine, otherwise I would not waste people’s time with this article.

    Nevertheless, Ubuntu installation is done differently, so there might be something which is missing there. Sorry if you did feel like this was a waste of time.

  4. Iniatianing GNS3, I have this problem:

    Traceback (most recent call last):
    File “/usr/local/bin/gns3”, line 9, in
    load_entry_point(‘gns3-gui==1.3.7’, ‘gui_scripts’, ‘gns3’)()
    File “/usr/local/lib/python3.4/site-packages/pkg_resources/__init__.py”, line 519, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
    File “/usr/local/lib/python3.4/site-packages/pkg_resources/__init__.py”, line 2630, in load_entry_point
    return ep.load()
    File “/usr/local/lib/python3.4/site-packages/pkg_resources/__init__.py”, line 2310, in load
    return self.resolve()
    File “/usr/local/lib/python3.4/site-packages/pkg_resources/__init__.py”, line 2316, in resolve
    module = __import__(self.module_name, fromlist=[‘__name__’], level=0)
    File “/usr/local/lib/python3.4/site-packages/gns3_gui-1.3.7-py3.4.egg/gns3/main.py”, line 39, in
    File “/usr/local/lib/python3.4/site-packages/gns3_gui-1.3.7-py3.4.egg/gns3/crash_report.py”, line 32, in
    File “/usr/local/lib/python3.4/site-packages/gns3_gui-1.3.7-py3.4.egg/gns3/servers.py”, line 32, in
    File “/usr/local/lib/python3.4/site-packages/gns3_gui-1.3.7-py3.4.egg/gns3/qt.py”, line 26, in
    ImportError: No module named ‘sip’

    Some help please

  5. cyber@cyber-K43TK:/tmp/iouyap-master$ gcc -Wall *.c -I /tmp/iniparser*/src -L /tmp/iniparser* -o iouyap -liniparser -lpthread
    config.c: In function ‘ini_getstr’:
    config.c:81:10: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
    *value = iniparser_getstring (yap_config, key, NULL);
    ^

    I have this error,

  6. At first: Nice guide

    At second: My problem is:
    $ gns3

    Traceback (most recent call last):
    File “/usr/local/bin/gns3”, line 5, in
    from pkg_resources import load_entry_point
    File “/usr/lib/python3/dist-packages/pkg_resources/__init__.py”, line 3080, in
    @_call_aside
    File “/usr/lib/python3/dist-packages/pkg_resources/__init__.py”, line 3066, in _call_aside
    f(*args, **kwargs)
    File “/usr/lib/python3/dist-packages/pkg_resources/__init__.py”, line 3093, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
    File “/usr/lib/python3/dist-packages/pkg_resources/__init__.py”, line 651, in _build_master
    ws.require(__requires__)
    File “/usr/lib/python3/dist-packages/pkg_resources/__init__.py”, line 952, in require
    needed = self.resolve(parse_requirements(requirements))
    File “/usr/lib/python3/dist-packages/pkg_resources/__init__.py”, line 839, in resolve
    raise DistributionNotFound(req, requirers)
    pkg_resources.DistributionNotFound: The ‘pycrypto!=2.4,>=2.1’ distribution was not found and is required by paramiko

    And i have no idea how to fix it please help me.

Leave a Reply to CalinCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.