(Tutorial) How To Install GNS3 on Centos/Redhat/Fedora .

You won't find detailed instructions for GNS3 installation on Centos/Redhat/Fedora over the net, So I decided to make one for our certcollection members. Installing GNS3 on Centos/Redhat/Fedora can be very tedious task. But If you follow my Steps given below you can setup and run GNS3 without any difficulty. Since Qt 4.5.1 binary which is required for GNS3 is not available for these OS's, we'll have to compile it from the source.

Centos Users, Please scroll down to see updated steps.
IMP:: Installation of all this packages will take a lot of time. So do it in the free time.

OK lets roll

First we'll have to install dependencies

[user@admin ~]$ su

Password: (Type in your root password here)

[root@admin /]# yum install python python-devel xorg-x11-proto-devel libXext-devel

[root@admin /]# yum install gcc-c++



Now we'll download and install Qt4

[root@admin /]#cd /tmp

[root@admin tmp#wget ftp://ftp.qt.nokia.com/qt/source/qt-x11-opensource-src-4.5.1.tar.gz

[root@admin tmp]#tar xzf qt-x11-opensource-src-4.5.1.tar.gz

[root@admin tmp]# cd qt-x11-opensource-src-4.5.1

[root@admin qt-x11-opensource-src-4.5.1]#./configure -nomake examples -nomake demos -qt-gif -no-exceptions -debug -qt3support

[root@admin qt-x11-opensource-src-4.5.1]#gmake <====This might take 2-3 hrs.

[root@admin qt-x11-opensource-src-4.5.1]#gmake install <====Another 30 mins or so

[root@admin qt-x11-opensource-src-4.5.1]#PATH=/usr/local/Trolltech/Qt-4.5.1/bin:$PATH

[root@admin qt-x11-opensource-src-4.5.1]#export PATH


Next we'll install SIP

[root@admin qt-x11-opensource-src-4.5.1]#cd ..

[root@admin tmp]#wget http://code.enthought.com/src/sip-4.8.1.tar.gz

[root@admin tmp]#tar xzf sip-4.8.1.tar.gz

[root@admin tmp]#cd sip-4.8.1

[root@admin sip-4.8.1]#python configure.py

[root@admin sip-4.8.1]#make

[root@admin sip-4.8.1]#make install


Next we'll Install PyQt4

[root@admin sip-4.8.1]#cd ..

[root@admin tmp]#wget http://ftp.pardus.org.tr/pub/source/2009/PyQt-x11-gpl-4.5.2.tar.gz


[root@admin tmp]#tar xzf PyQt-x11-gpl-4.5.2.tar.gz

[root@admin tmp]#cd PyQt-x11-gpl-4.5.2

[root@admin PyQt-x11-gpl-4.5.2]#python configure.py

[root@admin PyQt-x11-gpl-4.5.2]#make <=====This will take 30-60 mins

[root@admin PyQt-x11-gpl-4.5.2]#make install


We are done with compiling part, now lets download GNS3 source files

[root@admin tmp]#cd /opt

[root@admin opt]#wget http://nchc.dl.sourceforge.net/project/gns-3/GNS3/0.7.4/GNS3-0.7.4-src.tar.bz2

[root@admin opt]#tar -xjvf GNS3-0.7.4-src.tar.bz2 && rm GNS3-0.7.4-src.tar.bz2

[root@admin opt]#mv GNS3-0.7.4-src /opt/GNS3


Create the following directories:
These directories will be used by GNS3 – such as projects – where your working projects will be stored, cache, temp, IOS images, etc.

[root@admin opt]#cd /opt/GNS3
[root@admin GNS3]#mkdir Dynamips
[root@admin GNS3]#mkdir IOS
[root@admin GNS3]#mkdir Project
[root@admin GNS3]#mkdir Cache
[root@admin GNS3]#mkdir tmp
[root@admin GNS3]#chmod o+rw -R ./Project
[root@admin GNS3]#chmod o+rw -R ./tmp

[root@admin GNS3]#chmod o+rw -R ./IOS

Download binary of dynamips and make it executable

[root@admin GNS3]#cd Dynamips

[root@admin Dynamips ]#wget http://www.opendrive.com/files/25226584_Cmocn_9400/dynamips-0.2.8-RC3-x86.bin

[root@admin Dynamips ]#chmod +x ./dynamips-0.2.8-RC3-x86.bin


IMP:: For 64-bit users (I don't have Dynamips 0.2.8 RC3 for 64 bit, if you have it please share it with me)
[root@admin Dynamips ]#wget http://www.ipflow.utc.fr/dynamips/dynamips-0.2.8-RC2-amd64.bin
[root@admin Dynamips ]#chmod +x ./dynamips-0.2.8-RC2-amd64.bin

You can create a desktop shortcut by right-clicking on the desktop and select “Create Launcher..”, Name it GNS3 and in the command section type in


python "/opt/GNS3/gns3"

Double click to open GNS3 and we will edit the default settings. If you don’t want to use desktop icons you can create a launcher from your programs menu by right clicking on the Main Menu, selecting Edit Menu. Select New Item on the right and you will be presented with the same window where you type in the above. From there you can move the launcher into any menu section of your choice.

Fire up GNS3

* Go to edit | preferences and in the ‘Terminal command:’ section type in:
gnome-terminal -t %d -e 'telnet %h %p' > /dev/null 2>&1 &

* Under ‘Paths’ change the ‘Project directory:’ to
/opt/GNS3/Project
and the ‘IOS/PIX directory:’ to
/opt/GNS3/IOS

* Click on Dynamips tab on the left
For the ‘Executable path:’ type in
/opt/GNS3/Dynamips/dynamips-0.2.8-RC3-x86.bin

* Change the ‘Working directory:’ to
/opt/GNS3/tmp
Click on the Capture tab on the left

* For the ‘Working directory for capture files:’ change it to
/opt/GNS3/Project

Imp:: When you want to stop the router, use right click stop on the router.

After you have done all that, you will be able to Open and Save your GNS3 projects properly and have an efficient setup for GNS3. In order to use the devices in GNS3 you must obtain our own IOS images from Cisco or http://networkingtips-tricks.blogspot.com/2010/03/cisco-ios-collection-for-gns3-and.html

Update for Centos: 
Users of Centos get this error "Need Python 2.6 or higher" after following the above steps. The problem is, there is no way to upgrade Python 2.4 to 2.6. Because upgrading to 2.6 will break the OS.The solution is to install Python 2.6 alongside 2.4. So here are the steps to install Python 2.6 from the source

[user@admin ~]$ su

Password: (Type in your root password here)

[root@admin /]#wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz tar -zxvf Python-2.6.6.tgz cd Python-2.6.6 ./config && make && make install

Add the install path (/usr/local/bin/python : by default) to ~/.bash_profile as follow :

PATH=$PATH:$HOME/bin:/usr/local/bin/python2.6

Now follow the steps given at the top page,
Change python configure.py to python2.6 configure.py under Next we'll install SIP and Next we'll Install PyQt4.



Hope this tutorial will help you guys to setup and run GNS3 on your Linux system.

Just the right place to find a schadenfreude

Happy Learning