GNS3 and Dynamips put together give a nice open-source and free alternative to emulate a network with IOS routers. Dynampis is an emulator of Cisco 7200 router, while GNS3 provides a nice graphical environment to design your network and use the virtual routers.
I sometimes use Boson Netsim, which is not only non-free but not so reliable.
However, as I just started to use GNS3 and Dynamips, I don’t know it so well yet and won’t compare any further the two solutions.
On this page, I am just summarizing the few steps to set it up on your Linux system.
First, set up the prerequisite :
$ aptitude install python-qt4
Now, go to gns3.net and download the source code for Linux (direct link).
You may extract the archive in your local application folder :
$ wget http://pfe.epitech.net/frs/download.php/819/GNS3-0.5-src.tar.gz
$ tar -xzvf GNS3-0.5-src.tar.gz -C /opt
Then, you need the dynamips binary from the dynamips blog (direct links for x86 or amd64 platforms).
The file must be executable.
$ wget http://www.ipflow.utc.fr/dynamips/dynamips-0.2.8-RC2-amd64.bin
$ chmod u+x dynamips*.bin
$ mv dynamips-0.2.8-RC2-amd64.bin /opt
Now, start GNS3 :
In the edit menu, select preferences and go the dynamips section.
Just browse to the dynamips binary you dowloaded, to fill the value of the executable path field.
Still from the edit menu, select IOS images and hypervisors. There, you have to add all the IOS images you want to use, one after another. Normally, the default settings for each file loaded are suitable.
Back to the main window, you can drag and drop routers and link them, creating the topology you wish.
For now, just add one router. Right click on it and select start to start it up. Right click again and select console.
Enjoy ! Of course, I strongly recommand that you start reading further from this page.