GNS3 is based on Dynamips and Dynagen (a text-based front-end for Dynamips) to create a complex virtual Cisco networks, adding many additional features and most importantly making it easy to create, change and save your network topologies. It was also extended for Qemu virtualizer/emulator and VirtualBox support.
The next steps we will show how to install GNS3 and other additional software such as Dynamips, Qemu, VirtualBox and cpulimit on Fedora Linux.
Dynamips is a software that emulates Cisco IOS on a traditional PC. It has been made by Christophe Fillot who started his work in August 2005. Dynamips Linux binaries for x86/x86-64 architecture can be downloaded from here. Once you download it copy Dynamips to /usr/local/bin.
sudo cp ~/Downloads/dynamips-0.2.8-RC3-community-x86_64.bin /usr/local/bin
Assign run privilegies to the binary with following command.
chmod +x /usr/local/bin/dynamips-0.2.8-RC3-community-x86_64.bin
If you wish to compile Dynamips by your own in order to achieve better performance, here is my tutorial.
VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. The following guide helps you to download and install the latest VirtualBox from repository. It also shows how to configure GNS3 for VirtualBox support.
QEMU is a generic and open source machine emulator and virtualizer. Qemu compilation and installation on Fedora is explained here in detail.
4. Kernel Based Virtual Machine KVM
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). A tutorial describing kvm installation on Fedora is here.
5. CPU limit
Cpulimit is a simple program which attempts to limit the cpu usage of a process (expressed in percentage, not in cpu time).
a) Install git-core package
yum install git-core
b) Get the last pulimit from git and compile it
git clone https://github.com/opsengine/cpulimit.git
Compile source and copy binary to /usr/local/bin.
sudo cp ./src/cpulimit /usr/local/bin
Finally, download and extract GNS3.
wget http://sourceforge.net/projects/gns-3/files/GNS3/0.8.3.1/GNS3-0.8.3.1-src.tar.bz2 -P ~/Downloads/
tar jxvf GNS3-0.8.3.1-src.tar.bz2
If you want to connect GNS3 device to the real network you have to run GNS3 as root: