GNS3 - Stable & Working Configuration

    1. This document describes in detail, stable configuration details for GNS3 emulator. This is the configuration that works for me.

    2. I faced several problems with GNS3 initially.

    3. It turns out, once GNS3 is configured to work in a stable state, it is exceptionally wonderful and requires reasonably low system resources.

    4. This documentation applies to GNS3 version 0.8.5 as on October 2013

    5. Index of all my documents published on Cisco Learning NetworkIndex - Documents

     

     

    Modifications:

    Date - 07 Nov 2013

    1. Added a section that describes a workaround to get the NW16ESW switch module to work with relevant routers

    Date 30 July 2014

    2. Added images for section 5

     

     

     

    First:

    The conclusion

     

    1. Use the correct IOS images - It is a known fact that 2600 series images are not stable with GNS3

    2. I can not provide the IOS images

    3. Delay between routers boot - around 20 to 40 seconds

    4. Malfunctioning module, as explained in point numbered 7: "slot 0: GT96100-FE"

     

     

    Second:

    Detailed configuration steps

     

    • Table of contents:

     

    1. Very important - IOS images

    2. GNS3 Installation

    3. Custom Directories - This stage can be skipped

    4. Configuration of GNS3 - Preferences

    5. Configure default IOS images and hypervisors

    6. Configure "idle PC" value for router on first boot

    7. Malfunctioning module

    8. My computers configuration

    9. baseconfig.txt

    10. NM16ESW Workaround

    11. Disable duplex mismatch console notifications - Router(config)#no cdp log mismatch duplex

     

     

    1. Very important - IOS images

     

    These are the stable working IOS images for GNS 3.

    I have some of them as I own the routers.

     

    1

    • Cisco 2691 Router | 2600 Series - Extremely stable

         c2691-adventerprisek9_ivs-mz.124-9.T7.bin

     

    2

    • Cisco 3640 Router | 3600 Series

         c3640-ik9o3s-mz.124-25.bin

     

    3

    • Cisco 3725 Router | 3700 Series - For MPLS

         c3725-adventerprisek9-mz.124-15.T5.bin

     

    4

    • Cisco 7200 Router - Extremely stable

         c7200-advipservicesk9-mz.124-2.T.bin

         c7200-advipservicesk9-mz.150-1.M.bin - For SLA

     

     

    Note 1:

    • GNS3 crashes if the IOS image used is not compatible
    • One of the most incompatible and crash prone IOS image is of 2611XM series router
    • It is a known fact that 2600 series images are not stable with GNS3

     

    Note 2:

    • Once the IOS files have been procured, open them in WinRAR and extract the file
    • Use this expanded file with GNS3

     

     

    2. GNS3 Installation

     

    Download the complete installer from the web site.

     

    http://www.gns3.net/

     

    Very useful: - After installation, locate the file named "baseconfig.txt"

    a. Normally it is located in the parent GNS3 installation folder.

    b. This is the default configuration that is applied to each router as it boots initially.

    c. This file path and name will be specified in "GNS3 - Edit - IOS images and hypervisors - base config: ............." in step 5.

    d. Copy this file to the directory "C:\GNS3-Folders\IOS\" that is created in the next step.

     

    I have also pasted the default baseconfig.txt that I use, at the end of this document. It can be used as is or with modifications.

     


    3. Custom Directories - This stage can be skipped

    The following steps describe how to create a custom directory, with minimized security settings, for storing GNS3 files.

     

    a.

    Create a "directory | folder" and name it "GNS3-Folders".

     

    b.

    Right click on this folder and select "Properties"

    On the window that opens, point and click on "Security" tab

     

    c.

    On this page, at the lower right, click on: -

    "Advanced" (For special permissions or advanced settings, click Advanced)

     

    d.

    Now "Permissions" tab must be open by default.

    On this window, point and click on "Change Permissions..."

     

    Uncheck - "Include inheritable permissions from this object's parent"

    On the warning that appears, select "Remove"

     

    Check - "Replace all child object permissions with inheritable permissions from this object"

     

    e.

    Click on "Add" - "Advanced" - "Find Now"

    Click and select "Everyone"

    Click "Ok" - "Ok"

     

    f.

    On the window that appears, confirm that:

    i. Apply to:  "This folder, subfolders and files", is selected from drop down list.

    ii. Now, in the lower window, in front of "Full control", check - "Allow"

    Click "Ok" - "Ok" - "Yes" - "Ok" - "Ok"

     

    g.

    Within this "GNS3-Folders" folder create the following four directories:

     

    Capture

    IOS

    Projects

    Temp

     

    h.

    Place the IOS files within the "GNS3-Folders\IOS" directory.

     

    i.

    Place the 'baseconfig.txt' file within the "GNS3-Folders\IOS" directory too.

     

     

    4. Configuration of GNS3 - Preferences

     

    From the menu bar, go to:


    i. Edit - Preferences - General - (General settings)

     

    Delay between each device start when starting all devices - 30 seconds

    Autosave - 0 seconds

     

    Paths:

    Projects directory: - "C:\GNS3-Folders\Projects - specify the path where you want the projects to be saved. I have configured the path to my thumb drive"

    OS Images (IOS, Qemu, PIX etc.) directory: - "C:\GNS3-Folders\IOS - specify the path where you have placed IOS images."

     

    Configuration file: - Important.

    The path cannot be configured. However, note down the specified directory and after you have completely configured and checked GNS3, including 'idle PC' values, copy the gns3.ini to a different location.

    The complete configuration as well as specific idle PC values are retained in the gns3.ini file. Each time GNS3 is installed, only this file needs to be 'imported' and all the configuration is reinstated.

    Caution - Paths are also reinstated along with rest of the configuration.

     

    ii. Edit - Preferences - General - (Terminal settings)

     

    Preconfigurated terminal commands:

    Select "Telnet (Windows)" from drop down list and then click on "Use" button

     

    Checked - "Close associated terminal programs when deleting a node"

    Unchecked - All the rest

     

    Delay between each consol when consoling to all devices: - 4 seconds

     

    iii. Edit - Preferences - Dynamips - (Dynamips)

     

    Executable path to Dynamips: - "Browse and specify the directory where dynamips.exe is located. By default it is within the GNS3 installation folder"

    Working directory for Dynamips: - "Modify the path to point to the temp directory that was created within the GNS3-Folders folder"

    Checked - "Automatically clean the working directory"

    Unchecked - All the rest

     

    Click on "Test settings" button and "Dynamips 0.2.xx-xxxx/Windows stable) successfully started" will be displayed in green.

     

    iv. Edit - Preferences - Dynamips - (Hypervisor Manager)

     

    Memory usage limit per hypervisor: - 512 MB

    Checked - Allocate a new hypervisor per IOS image

    Checked - Use Hypervisor Manager when importing


    v. Edit - Preferences - Capture

     

    Default Presets: - "Wireshark Live Pipe Traffic Capture (experimental) (Windows)"

    Working directory for capture files: - "C:\GNS3-Folders\Capture"

    Unchecked - Automatically start the command when capturing

     

     

    5. Configure default IOS images and hypervisors:

     

    From the menu bar, go to - "Edit - IOS images and hypervisors - (IOS Images)"

     

    *Click on the image to enlarge

    GNS3-1.png

     

     

    Common configuration for each IOS Image:

     

    Image File: - "Browse and specify the path to IOS file"

     

    From the next dialogue, in front of the "Image file"

    • Click on the "..."
    • And browse and select the specific / particular / individual "IOS file" for a given platform
    • For clarity see the filename as it has been indicated in the image below
    • And finally, click on "Save", individually for each file

     

    *Click on the image to enlarge

    GNS3-2.png

     

     

    1

    • Image file: c2691-adventerprisek9_ivs-mz.124-9.T7.bin
    • Base config: "C:\GNS3-Folders\IOS\baseconfig.txt" - as explained in point 2.
    • Platform: c2691
    • Model: 2691
    • Default Ram: 256 MB

     

    2

    • Image file: c3640-ik9o3s-mz.124-25.bin
    • Base config: "C:\GNS3-Folders\IOS\baseconfig.txt" - as explained in point 2.
    • Platform: c3600
    • Model: 3640
    • Default Ram: 256 MB

     

    3

    • Image file: c3725-adventerprisek9-mz.124-15.T5.bin
    • Base config:- "C:\GNS3-Folders\IOS\baseconfig.txt" - as explained in point 2.
    • Platform: c3700
    • Model: 3725
    • Default Ram: 256 MB

     

    4

    • Image file: c7200-advipservicesk9-mz.124-2.T.bin
    • Base config:- "C:\GNS3-Folders\IOS\baseconfig.txt" - as explained in point 2.
    • Platform: c7200
    • Model: 7200
    • Default Ram: 256 MB

     

     

    6. Configure "idle PC" value for router on first boot - this needs to be done only once for each router model

    I have attached a video to this effect along with this document

     

    • Drag and drop the router model into the workspace.

    Right click - click "Start"

    Right click - click "Console"

     

    • Select the consol window that opens.

    Press enter twice.

    Wait till all on screen activity is over.

    Close the console window.

     

    • Right click on empty space on the windows taskbar at the bottom of the screen.

    Select and click on "Start Task Manager".

    Point and click on the "Performance" tab.

    Take a note of the CPU Usage - percent.

     

    • Now in GNS3 workspace, where router is open, right click on the router.

    Select and click on "Idle PC"

    From the drop down list that will appear, select the value that has a  *  next to it.

    If none of the values have a star, then select an average value.

    Click - "Apply"

     

    • Take a note of CPU Usage. If it has dropped down significantly, click on "Ok".

    Otherwise repeat with other values till an acceptable CPU Usage is attained.

     

    Shut down the router and repeat for rest of the models.

     

     

    7. Malfunctioning module

     

    I have found that the following default FastEthernet module, which is pre-configured on slot 0: on some routers, is dis-functional.

    I add another FastEthernet module for connectivity and do not use the default module at all.

     

    This module does not work properly

     

    slot 0: GT96100-FE

     

     

    8. My computers configuration:

     

    Processor: AMD Athlone X3

    Motherboard: Asus

    Ram: G-Skill 12 GB

     

     

    9. baseconfig.txt

     

    !

    hostname %h

    !

    no ip domain lookup

    ip domain-name lab.local

    !

    parser config cache interface

    !

    line con 0

    exec-timeout 0 0

    logging synchronous

    privilege level 15

    length 0

    no login

    line aux 0

    exec-timeout 0 0

    logging synchronous

    privilege level 15

    no login

    !

    !

     

     

    10. NM16ESW Workaround

     

    • I have not been able to use the NM16ESW switch module with its default settings to work as a switch
    • However, I have discovered that if the port settings at both the ends - the module and the connected device - are modified to work at half duplex and speed of 10 Mbps, the module is functional.
    • I have modified both the speed and duplex settings at the same time. However, it is very much possible that the module will work with just the modification of either one of them.

     

    11. Disable duplex mismatch console notifications

     

    • Router(config)#no cdp log mismatch duplex

     

     

     

     

    ------------------------------

    The End