Networking/Computing Tips/Tricks

Hi everyone!

As most of our students and felow workers know, we love and have been avid users of GNS3 for several years now.  We always try to help folks get started on this great free softwar.  You can do/learn so much with/about Network Science by simply using GNS3, and the greatest part of it all is that the software is free.

That said, you must be a legal owner of Cisco IOS as well.  The easiest way to get started there is to purchase a Cisco router from eBay.  Some routers can be acquired for under $50.  Then you can use the IOS software that came with that router!

It is vital that if you are going to use GNS3 that you properly configure the software and the environment to make its use as easy and trouble free as possible.  This article will provide you with the basic things every GNS3 user must do to start off on the right foot.

To get GNS3, go to, and click on the Download menu item.  Follow the usual installation instructions.  

Step 1

Next, you will want to set the directories.  We like to create a GNS3 folder in our root directory, and then create several subfolders:

  • Images - this is where you will place all IOS image files that you have rights to
  • Projects - this is where you can create and store your projects
  • Working - this is needed for GNS3
  • Captures - this is where Wireshark when used with GNS3 will store capture files

Step 2

Now in the GNS3 configuration preferences from the Edit menu, make sure you change the paths/directories shown in the General tab,  the working directory in the Dynamips tab, and the working directory in the Captures tab to the four directories you created above.

Step 3

Next, in the Images folder, you will need to create a file called "baseconfig.txt".  Here is my preferred baseconfig.txt:

hostname %h
alias exec s show run
alias exec c config terminal
alias exec i show ip interface brief
alias exec ipr show ip route
no ip domain lookup
ip domain-name
ip tcp synwait 5
no service time log
no service time debug
line console 0
no login
no exec-timeout
logging synch
privilege level 15
line aux 0
no login
no exec-timeout
logging synch
privilege level 15

With this base configuration, I think you will find the least issues and easy start up of all your routers.

Step 4

Next you will need to let GNS3 process the .bin IOS images.  To do this go to Edit> IOS Images and Hypervisors.  From this screen, in the Settings area, click the "..." box to select an image you have in your Images directory.  Then click the "..." box in the next line to select the base config file you created above.   Then click "Save".

Step 5

Now, you will need to do one more thing.  Return to the main GNS3 screen, select the router you just set up from the Node Type list, and drag that router onto the center screen area.  If everything worked properly, that router icon will appear with no error messages.  If you get an error, either the IOS image was not properly created, or the baseconfig file was not found, and you need to verify your settings above.  

Assuming it was error free, then click the green "Play" button to start the router and immediately open a console to the router.  You should see the router actually boot up, and be sure to press Enter to get the Router# prompt.

Right click on the router in the center part of the screen and select Idle PC.  This can only be selected if the router is indeed running.  GNS3 will then calculate the Idle PC value.  Drop down the list, and select any value with an "*" next to it and save it.  If there is no asterisk next to any value, select the first one, Save it, and then repeat the process.  This will help minimize the CPU utilization and needs to be done once for each router type. 


That will pretty much get you started with the proper configuration of GNS3.  I think that if you follow these basic setup methods you will find that GNS3 will work efficiently allowing you to maximize your experience, and maximize your ease of use.  

Special kudos to the GNS3 team for providing such a great emulation environment for those of us in network design and Network Science.

Comments powered by CComment

The nicest thing you can do is use these inks to support us!  Thank you!

Support our research!  Buy me a coffee :)

Support our research. Become a Patron!

Find by Tag

4G Networks 5G Networks 6in4 6LoWLAN 6LoWPAN 802.11 802.11ah 802.11ax 802.11ay 802.11az Addressing Analysis Ansible Architecture ARP AToM BGP Bloom's Taxonomy Broadband Cable CBRS CellStream Cellular Central Office Cheat Sheet Chrome Cisco Cloud Coloring Rules Computer Consulting Course Design CPI CSR Customer Support Data Center Data Networking DHCPv6 DNS Documentation dumpcap ECMP Ethernet Ethics Flipping the Certification Model Fragmentation G-MPLS Git GNS3 Google GQUIC Hands-On History Home Network ICMP ICMPv6 IEEE 802.11p IEEE 802.15.4 Interface Control Internet IoT IPsec IPv4 IPv6 IS-IS L2VPN L3VPN LDP Linux LLN LoL M-BGP MAC MAC OSx Macro Microsoft mininet Monitoring Monitor Mode MPLS MTU Multicast My Room Name Resolution Netcat Netmiko NetMon netsh Networking Network Science nmap Npcap Online Learning Online School OpenFlow OSPF OSPFv2 OSPFv3 OSX OTT Parrot PIM pktmon PMTU Policy POTS POTS to Pipes PPP Profile Programming Project Management Protocol 41 PW3E Python QoS QUIC Remote Desktop Requirements RIP Routing RPL RSVP Rural SAS SDN Security Self Certification Service Provider Small Business SONET Speed SS7 SSH SSL Subnetting T-Shark TCP TCP/IP Telco Telecom 101 Telecommunications Telephone termshark TLS Tools Traceroute Traffic Engineering Training Travel Tunnel Ubuntu Utility Video Virtualbox Virtualization VoIP VRF VXLAN Web Based Delivery Webex WEP Wi-Fi Wi-Fi 5 Wi-Fi 6 Wi-Fi 6/6E Windows Winpcap Wireless Wireless 5G Wireshark Wireshark Tip WLAN WPA2 ZigBee Zoom

Support us by clicking:

Twitter Feed