GNS3 tutorial

The way GNS3 emulate hardware
Each virtual device (e.g, cisco router or switch) or its component (NVRAM, Hard driver etc) that GNS3 emulates is actually a file stored on local computer, thus it can be stored separately or imported into another GNS3 LAB instance as required.

Concepts for GNS3 Projects Storing

  • Device Subsections: Settings for ram, rom, nvram and the like are recorded in device subsections. GNS3 also records idle-pc and IOS filenames in device subsections. Idle-pc value is only dependent on IOS versions.
  • Model Subsection: If you select Default image for this chassis under the IOS Images tab in the IOS images and hypervisors window under the Edit menu, a model subsection will be created.
  • Only saving network topology in .NET file: By choosing Save or Save Topology As on File menu or the buttons on the toolbar,  GNS3 only stores the network topology using a Dynagen text format called a NET file. Start-up Configurations on devices are not stored.
  • Save NET file as well as Start-up configs and NVRAM etc: choosing Save Project As on File Menu.
  • Save Startup Configs inside NET file: In Console Window (Dynagen commands), you may use the push /all or save /all commands in order to save the device configurations inside the NET file. When the NET file is opened in GNS3, everything (including router configurations) will be loaded. You must save your configurations within each router before using these commands (write or copy run start).
  • Export or Import Start-up Config for all devices:
    Choosing Export/Import Startup Configs button on Toolbar.  OR
    In the Console window (Dynagen commands), type export /all or export followed by a device name to export the configuration(s). You may then type import /all or import followed by a device name to import the configurations back into your routers.
  • Saving topology drawing as a graphic file: choose Export on the File menu.
  • Save nvrams and virtual hard drives: A new folder of the same size of Flash:, namely “working”, will be created, and all files in Flash: will be permanently stored there.
  • Any temporary files will be stored in “Qemu Working Directory” which is configured on Edit>Preference>Qemu>Working Directory (C:\Users\ATM\AppData\Local\Temp, by default). You can verify the “Working Directory” by open the *.net topology file, you will see “workingdir = C:\Users\ATM\AppData\Local\Temp”. By the way, you will also see packet capture files in that working directory. These temporarily files are deleted when you close the GNS3 project.

How to seamlessly integrate SecureCRT and GNS3

  1. Install SecureCRT, assume directory is C:\Program Files\VanDyke Software\SecureCRT
  2. Add SecureCRT directory to OS PATH
    Right click “My Computer”, choose “Properties”, click tab “Advanced”, click button “Environment Variables”, choose “PATH” in upper frame, click upper “Edit” button, add “;C:\Program Files\VanDyke Software\SecureCRT” in column “Variable value”, click “OK” and “OK” and “OK” to exit.
    Now restart your computer, implement following actions if you do not want to restart at this time.
    Click Windows “Start”, folder “All Programs”, subfolder “Accessories” chose “Command Prompt”. Type “PATH %PATH%;C:\Program Files\VanDyke Software\SecureCRT”. Now you can type “PATH” to check SecureCRT directory is added to OS PATH. Type “exit” to quit.
  3. Configure SecureCRT as console of GNS3
    Open GNS3, click “Perferences…” under “Edit“. Click tab “Terminal Settings” under “General“, select “Putty (Windows)” for Preconfigured terminal commands, and type “securecrt.exe /T /N “%d” /telnet %h %p” in “Terminal Command” textbox. Unselect “Launch this command using the system default shell”. Click “Apply” and “OK”.
  4. Troubleshooting: If you run into error message “…The requested operation requires elevation” when you activate SecureCRT in GNS3, you need to re-run GNS3 as Administrator to solve this.
  5. Reference URL:
    SecureCRT (64BIT) in GNS3 on Windows 7 (64BIT)

How to emulate a PC in GNS3 using VPCS
Reference URL:

How to Manually add Microsoft Loopback Network Adapter for LAB or Testing (Connecting you GNS LAB to the real world)
In Windows 7, Add a Device Wizard is not accessible when you click on “Add a device” on Hardware and Sound panel of Control Panel. It seems that Microsoft deliberately limit the flexibility for us to customize the OS. However, there is another implicit way to add a new hardware device – Running “hdwwiz.exe” from the Windows Start Menu usng an Administrator Role or execute “hdwwiz” under DOS command line.

After adding the Loopback interface following the wizard, restarting is required to let the newly add loopback be recognized by virtual PC in GNS3. After rebooting, add the loopback interface into Virtual PC directly under “Generic Ethernet NIO” category as shown below:
imageAnd connecting that newly add real loopback interface to the switch in GNS3 Lab environment, now your GNS3 LAB is connected to the real world and ping test should be successful. If not, make sure your local windows firewall or McAfee allows the ICMP traffic to pass through. Detailed procedure for MacAfee software on PC to allow ICMP traffic are as below,
If ping testing to or from the real NIC fails while others working fine, then deleting the real NIC (Loopback Interface) in GNS topology, associating the Loopback NIC in the virtual PC and linking it to switch could possibly solve that wired symptom.

Manipulating IOS applied on each device in GNS topology

  • Default Action of GNS3: By default, each time you introducing a new IOS version in GNS3, you will be required to create an IOS Image Profile along with the IDLE PC value (Edit->IOS images and hypervisors). Optionally, you can select a default IOS Image Profile for each Platform Model by check the box of “Default image for this platform”, so that the default IOS image along with the IDLE PC value will be automatically applied to device which you dragged into the LAB topology.
  • Manually designate IOS whenever adding new devices: If you prefer to specify IOS Image Profile for each new device you add rather than automatically apply the default one by GNS3, then create all the IOS Image Profiles in advance and uncheck box “Default image for this platform”. Now, you will be prompted to select one IOS Image Profile to use from the ones you created in advance each time you add a new device, which surely give you more flexibility.
  • Change the IOS Image for individual device in existing LAB Topology: In this case, you need to customize the *.net file stored in the GNS3 project folder.
    Change IOS for one Router: Open *.net file using wordpad or UltraEdit, you will see below codes:
    Specify a different IOS image and IDLE PC value for Router R1 in Device Specific Parameters Area as below:
    [[ROUTER R1]]
    image = D:\c3640-ik9s-mz.124-16a.bin
    idlepc = 0x604230e0      //make sure the idlepc value corresponds to the IOS version.
    Save the change and open  *.net file on GNS3 again, the new IOS Image will be applied on Router R1.
    Change IOS for one Device Model: It is quite similar to the procedure above, except you designate IOS image and IDLE PC value in Global Parameters Area.

Connecting RADIUS Server with GNS LAB Topology
If you want to do labs on AAA, apart from connecting GNS LAB to the real world through Microsoft Loopback Interface, a RADIUS server should be emulated and let it communicate with your GNS LAB. There are 2 free RADIUS server products for our option: TekRADIUS and Radl for windows OS, below are their reference URL:


To be Continue.