This is going to be a LONG blog post about running ANY GNS3 .NET file without crashing. If you are having trouble getting GNS3 to work on your computer, this post is for you!
I’m still in Thailand and no the M-150 energy drinks haven’t killed me. After three months of studying with IOU, I’ve gone back to GNS3. IOU is a great tool, but it needs a bit of refinement before it can be used as a full-time study tool. I’ve hacked around with Asasel’s IOU, changing configs, MAC addresses, netmap files and rewritten scripts, but the dreaded “excessive collision” problem keeps popping up. When IOU works, it works great… but the problem is that it doesn’t work all the time.
Recently an updated Solaris version of IOU has been leaked and it apparently solves most of the current problems. When I get back to the United States, I’ll be purchasing a cheapo Sun Blade system to test it out. Fortunately, there’s no shortage of these systems and they are going for a few hundreds dollars. The downside is that many of these units come with only 1 GB of RAM and accept only ECC (expensive) memory.
There is a particular forum that talks about IOU and many people complain that it’s a wasted effort playing around with the Linux version. How absolutely wrong these people are! After going through most of INE’s Workbook 1 with Asasel’s IOU I can honestly say the problems that crop up have increased my troubleshooting skills. One minute my topology and routing protocols are working and the next minute half of my network has dropped off the face of the Earth. In no particular order, my troubleshooting steps have been
- Do I have a VLAN spanned all the way?
- Am I pruning/allowing that vlan?
- Are interfaces down? Are the IPs correct?
- Do I see an mac-address/ip pair in the arp table?
- Trace the IP.. how far does it get?
You do those steps enough times, they become etched into your neurons. I’m quite happy to have found IOU and played around with it. It was time well spent, but I’m back with an old friend now.

GNS3 topology for INE Workbook 1
I’ve used GNS3 for several years in teaching Cisco courses and running my Southern California Cisco Router Gods Meetup Group. It’s a great utility, but many people still have problems running. Specifically, many people have tried integrating GNS3 to run their Internetwork Expert Workbook 1 and 2 labs without success. Thankfully, people like “RelativityDrive” have done most of the dirty work by adapting the configs and topology to closely match the workbooks. There are still several settings you need to modify to get these topologies and configs to work on your system, but at least 95% of the work has already been done.
Of course I’m going to show you how to do this… but first let us go through some background info. INE has four workbooks for CCIE Routing and Switching
- Workbook Volume I – Technology specific labs
- Workbook Volume II – Full labs to make you cry
- Workbook Volume III – “Speed labs” – topic specific to increase your speed and accuracy of core topics
- Workbook Volume IV – Troubleshooting
Volume II has two versions. One version is designed to work on regular gear while the other version is specifically made for Dynamips/GNS3. INE even gives you the .NET file along with all the starting configs for Dynamips/GNS3 verson of Volume II. There is no official INE GNS3 .NET file/configs for Volume I, but RelativityDrive has created them and you can download them from his INE Forum profile here.
I’ve modified RelativityDrive’s configs and .NET in the following ways
- Created a “0-base” folder to store the base configurations
- Cleaned up the folder names a bit – mainly shortening everything and getting rid of spaces
- Lowered cased all file and folder names
- Modified the .net file in the following ways (you will also need to modify the .NET file to match the settings on your system)
- Changed the working directory to point to my “G:” drive which is my RamDisk
- Changed image path to point to my 3725 file
- Changed the RAM allocation.. 256 MB for the BB routers and 128 MB for everything else. When you get into the NAT and heavy duty stuff, you can up the memory on the regular routers to 192 or more.
- Changed the idlepc to match my preferred idlepc value. If you don’t know how to find your idlepc value, watch this video.
NOTE – there are two hypervisors in RelativityDrive’s .NET file, so you will have to do the above four changes twice.
change cnfg = to whereever you put your configs
Memory allocation – common cause of GNS3 crashes
You have downloaded a brand spanking new .NET file and modified it according to my instructions above, you click the green play button and the darn thing crashes on the second to last router. You close up GNS3, clear our your temp folder and try again, but it crashes in the same spot. Welcome to the ugly problem of memory starvation.
The three types of questions you should ask yourself when running GNS3 are
- How much memory does your computer have?
- How much memory are you allocating your hypervisors?
- How much memory are you allocating your routers?
If you are running GNS3 inside of Windows, you should have 4GB of RAM. Memory is cheap these days and if you have the cash, upgrade your computer to 8GB. Linux users luck out on this one as GNS3 runs beautifully, even with a 15+ router topology, on 3-4 GB of RAM.

Allocating memory to the hypervisor
The GNS3 hypervisor is the virtual machine running all of your routers/devices. If you don’t allocate enough memory to your hypervisors, things may get sluggish. Thankfully, the default value of 512MB is OK for most people, but you may want to change it to a higher value to see if you get better performance.
You can configure a default amount of memory to the hypervisor by going into the GNS3 menu – edit/preferences/dynamip/hypervisor manager tab (shown above) and upping the memory.

Changing the ram under the hypervisor text in a .NET file does NOT alter how much RAM is given to the hypervisor
One tricky thing about a GNS3 .NET file is that changing the ram amount under the hypervisor text does NOT change the memory for the hypervisor itself. This changes just the default memory given to the routers under the hypervisor. This amount can then be superseded by ram values under the router configurations themselves. TRICKY!

Memory misconfiguration causes this !!!
The most common cause of crashes (like the one you see above) is giving your routers TOO MUCH memory. Yes, you saw that right… in most .NET files you see a “ram = XXX” line under each router. If you are experiencing crashes, change this number to 128 MB for every device. Your crashes should disappear. As you get into more complicated labs, you’ll need to up the memory to 192 or 256 to handle all the wonderful BGP stuff. Personally, I set my BB routers to 256 and everything else to 128.
Loading in router and switch configs
As I stated earlier, RelativityDrive has modified the official INE configs to work with his GNS3 topology. He has even populated them into a neatly organized folder system. All I did was clean up the file and folder names just a bit.

Cleaned up config folder names
I prefer to load in the configs by editing the .NET file and changing the “cnfg =” path to point to your appropriate lab. In the below example, I used my favorite text editor, notepad++, to find/replace the “6-initialospf” config folder with the “3-rip” folder.

Use your favorite text editor to find/replace the config folder names
After changing the .NET file, open up GNS3 and select “Open a project” button on the first pop-up window. After selecting the .NET file, the configs will automatically load.

GNS3 Click "Open a project" and find your .NET file
Configuring your layer 2
After starting up your topology and consoling into all your devices, you’ll need to configure your layer 2 VLANs. Of course you can’t completely practice your layer 2 switching stuff in GNS3, but you can easily set up all the VLANs for all the labs past layer 2. Each switch in the topology has a 16-port Ethernet switch module installed and you add the vlans with the vlan database function. Just paste the following into each switch.
enable
vlan database
vlan 5
vlan 7
vlan 8
vlan 9
vlan 10
vlan 22
vlan 43
vlan 58
vlan 67
vlan 79
vlan 146
exit

Pasting in your VLAN info into each switch
You should see your VLAN interfaces come up and you can verify the VLANs by typing “show vlan-switch”

Verifying VLAN info
Recommendations
HIGHLY recommended that you use the 3725 image, don’t ask me where to find this… if you use any other image, you’ll need to change the names in the .NET file. In addition, the other images are not as stable.
Buy the best computer laptop you can afford. This means a multicore processor (splurge for the Core i7 if you have money) and at least 4 GB of RAM. Upgrade to 8 GB to be on the safe side because RAM is cheap. To fully take advantage of the extra RAM, you’ll need to run a 64-bit operating system.
If you don’t have money to buy a souped up computer, install Ubuntu Linux. INE’s topology will run fine on a Linux machine with 3-4 GB of RAM and a single core processor. Another alternative is the awesome GNS3 Workbench (link here) which is a live Linux CD that you can also pop on a USB stick.

Dataram RAMdisk makes your GNS3 run FAST!
If you are running more than 4GB of RAM, I highly recommend you use a ramdisk program and make a drive/folder as your temp/working folder. You can download a free version that will handle up to a 4GB ramdrive from Dataram. I devote 1500 MB to my ramdrive.
The $14.99 version can handle more than 4GB of RAM for the lucky people with crazy Core i7 setups with 16/24/32 GB of RAM!
Video Links
To make things a little easier, I’ve made a YouTube screencap video that explains the steps in editing the .NET files. As a bonus, I’ve also made a video clip that shows you how to configure Remote Desktop Manager.
DOWNLOADS
Of course I didn’t leaving you hanging!!! Here is the download link to my modified RelativityDrive INE Workbook 1 .NET and configs. For the physical and layer 3 topology diagram, you can make that yourself by booting up all the devices and “show cdp neighbors”. If you’re going for CCIE, you should be able to make your own diagram, but I’ve included a picture of my drawing to help you out.

RelativityDrive physical/layer3 topology diagram