Smoothwall GNS3 step by step Lab setup

VirtualBox and GNS3 (Smoothwall Virtual Test Labs)

GNS3 Test Labs (Smoothwall Labs):
Lab Scenarios:
(Please add more Lab scenarios that you think could be useful)

1. Cisco IOS Router (7200 series) with NATTing connected to the internet (ACLs configured for specific subnets being used behind the Smoothwall).

2. Smoothwall UTM Master and Failover with Multiple External connections (Primary/Secondary) to test HA and LLB

3. Apache Server on an internal Windows 7 machine to test port-forwarding rules from the internet facing VM.

4. VLANs using NM-16ESW (3725 series router network module) trunk linked to the Smoothwall (VLANs 10, 20 and 1)

5. Child node (bridged) for a Windows 7 machine getting replication from a parent node.

6. Windows 7 machine externally connected to the UTM (between the external router and the Master UTM ) to test L2TP, SSL VPNs, Global Proxy, Mobile Proxy and Syslog server.

7. Solarwinds Real-time SNMP bandwidth monitoring tool for testing SNMP.

8. Hardware WAP (TPLink) connected to virtual switch (NM-16ESW 3725 series) configured with RADIUS (802.1x//WPA Enterprise/BYOD) to test iOS (iPads and iPhones) or android devices (Installed Openwrt firmware on my TPLink that supports not only authentication but also accounting i.e. ports 1812 and 1813)(Smoothwall configured as a DHCP Server)(Will try to find a WAP that support framed IPs to test further RADIUS scenarios)

9. Using two Windows 2012 VMs for testing multi domains AD connection on the Smoothwall.

10. Other VMs include Win 7, Win 8, Win 10, Ubuntu, Mac OS X and Chromium.

11. Wireshark is already integrated in GNS3 and you can capture traffic on any connected links for troubleshooting.

12. Separate lab for testing IPSec VPN connectivity between two Smoothwalls or Smoothwall and ASA.

13. It will be easier with VMs on GNS3 to test further features like IDS/IPS, Upstream Proxy, Bandwidth Management (You might notice some latency), Upstream Firewall, F5 Load Balancer VMs.
14. For Cisco devices you can also use CCP (Cisco Configuration Professional) software to configure using a wizard based GUI instead of CLI.


Install GNS3 1.3.0 on Ubuntu 14.10 and 14.04 LTS :

— GNS3 CLI installation —

– After opening a terminal, I recommend changing to your user home directory.

$ cd ~

– Run apt-get update

$ sudo apt-get  update

$ sudo apt-get  upgrade

$ sudo apt-get  dist-upgrade

– Install GNS3 Python dependencies

$ sudo apt‐get install python3‐setuptools

$ sudo apt‐get install python3‐pyqt4

$ sudo apt‐get install python3‐ws4py

$ sudo apt‐get install python3‐netifaces

– Install Dynmips dependencies

$ sudo apt-get install cmake

$ sudo apt‐get install libelf‐dev

$ sudo apt‐get install uuid‐dev

$ sudo apt‐get install libpcap‐dev

 – Download and unzip GNS3 Linux source files (Download )

$ unzip

 – Build and Install Dynamips

$ unzip

$ cd  dynamips-0.2.14

$ mkdir build

$ cd build

$ cmake ..

$ make

$ sudo make install

$ sudo setcap cap_net_admin,cap_net_raw=ep /usr/local/bin/dynamips

$ cd ../..

 – Install GNS3 Server

$ unzip

$ cd gns3-server-1.3.7

$ sudo python3 install

$ cd ..

 – Install GNS3 GUI

$ unzip

$ cd gns3-gui-1.3.7

$ sudo python3 install

$ cd ..

 – Install VPCS

$ unzip

$ cd vpcs-0.6/src

$ ./

$ sudo cp vpcs /usr/local/bin/

$ cd ../..

 – Install VirtualBox

$ sudo apt-get install virtualbox

 – Install Wireshark

$ sudo apt-get install wireshark

 – Install QEMU – method 1

$ sudo apt-get install qemu

 – Install QEMU – method 2 (x86 arch. only)

$ sudo apt-get install qemu-system-x86

$ sudo apt-get install qemu-utils

 – Install cpulimit

$ sudo apt-get install cpulimit

 – Start GNS3

$ gns3


GNS3 Version 1.3: What’s new for Open-Source Routers

In 2014, the GNS3 development team launched a successful Kickstarter crowdfunding campaign to support development of a major new release, version 1.0, which was released in October that same year. I was happy to support the Kickstarter campaign and now I am finally getting around to taking a look at the new version of GNS3.

In this post, I will look at the new version 1.3.7 of GNS3 and evaluate how it works with emulated routers and hosts running open-source software.

What’s new in GNS3 1.x

Below, I describe the new GNS3 1.x features in two sections. The first section summarizes new GNS3 features that are relevant to all users of GNS3, including those who will use GNS3 to emulate networks consisting of routers and hosts running open-source software. The second section summarizes new features relevant only those who are running commercial router images in GNS3.

New features relevant to open-source routers

The following list summarizes new features in GNS3 1.x that improve the experience of working with open-source router and host software in GNS3 1.x, and are also applicable to all users of GNS3 1.x.

  • GNS3 1.x is supported by a new web site,
  • GNS3 1.x has updated graphical user interface styles.
  • GNS3 1.x now same configures all the types of virtual machines used in GNS3 in the GNS3 Preferences function: Dynamips (IOS), IOU, QEMU and VirtualBox.
  • GNS3 1.x now consists of two separate components: a GNS3 GUI and a GNS3 server.
  • GNS3 1.x adds VirtualBox linked clone support, which allows more efficient disk usage when using open-source routers running in virtual machines created by VirtualBox.
  • GNS3 1.x offers improved support for QEMU virtual machines.
  • GNS3 1.x users can now configure simulated PCs from within the GNS3 GUI.

New features for proprietary routers

The following list summarizes new features in GNS3 1.x that improve the experience of working with commercial router and switch software in GNS3 1.x. We do not discuss these features in this post.

  • Ethernet switching support improvements for Cisco switching technology.
    • An Etherswitch router may now be any router type that supports the NM-16ESW module.
    • GNS3 1.x now supports Cisco IOS on Unix (Cisco IOU) machines.
  • Instead of a single device template per OS image, GNS3 1.x now supports multiple device templates per OS Image.
  • GNS3 1.x will now import and export config files in a contextual device menu.
  • GNS3 1.x now automatically exports IOS configs when a project closes.

New GNS3 web site

The new GNS3 web site offers resources and forums for GNS3 users. The old GNS3 web site,, now just points to the new web site.

GNS3 Software and GNS3 Appliances may be downloaded from the new GNS3 web site.

How to get appliances

Appliances are located in the Download section of the GNS3 web site. Go to the bottom of the Download page and click on the relevant link listed under the heading, Appliances.

Open-source router and host appliances are available as either QEMU appliances or VirtualBox appliances.

Updated graphical user interface

The GNS3 1.x gaphical user interface is still mostly the same as in GNS3 0.8.7. All the same tools and panels are there. But the graphical design of the icons and color schemes have changed. Also, the annoying “GNS3 Jungle” panel has been added.


GNS3 1.3 supports three styles for the GNS3 GUI. The default style is “Charcoal”, which is a dark theme with “Flat”-style icons. The “Classic” theme uses the same flat icons but is a lighter style. The “Legacy” style replicates the look and feel of the GNS3 0.8 GUI.

New GNS3 1.x user interface styles

To change GUI styles, use the menu command: Edit → Preferences. Select style from the Style selector box. I chose the “Classic” style.

GNS3 Jungle panel

The new GNS3 1.3 GUI includes a panel that displays news from the GNS3 Jungle web forum. It also seems to display adds. The “GNS3 Jungle” panel cannot be closed. This is very annoying.

To reduce this annoyance, you can move the GNS3 Jungle panel out of the main GUI window as a separate window. Click on the panel and drag it away from the GUI to a corner of your computer screen where hopefully you can ignore it.


The other panels in the GUI, other than the topology window, are called docks. You can hide docks by click on the “X” icon in the upper right-had corner of each dock panel. You can restore them from the menu command: View → Docks.

You can also drag the dock panels on top of one another so they will appear as one tabbed panel, as seen below.

GNS3 1.3 with docks configures as tabs in the GNS3 GUI

GNS3 server support

GNS3 1.3 comes with two packages, the Server and the GUI. By default, they would both be installed in the same computer. The GNS3 1.x server manages emulators such as Dynamips, VirtualBox or Qemu/KVM. The GNS3 1.x GUI controls the server.

While the default configuration is to run both components on the same system, the Server and GUI may instead be installed on different computers. Once the GNS3 Server is started on its computer, start the GNS3 GUI on the other computer and enter in the network address and TCP port of the server in the GUI client appropriate preferences page. Then the GNS3 GUI controls the GNS3 Server to which it is connected. While it was possible to run hypervisors on a remote server in GNS3 0.8, this his new GNS3 1.x feature simplifies the procedure.

Configure GNS3 1.3 GUI to connect to the correct GNS3 server settings

Using a remote server may be required for complex network emulations that require a powerful computer, or if one is running GNS3 in a cloud compute environment while managing it from a local PC.

VirtualBox linked clones

A VirtualBox linked clone creates a duplicate VM with a disk image that is linked to a parent disk image of the source VM, but only stores the differences in data compared to the source disk image. This save disk space on the host computer. Cloned disk images use copy-on-write technology to store the differences between disk images and link to the source disk image.

In GNS3 1.3, the user no longer needs to create all the virtual machines ahead of time in VirtualBox and in GNS3. This makes using VirtualBox VMs in GNS3 much easier. He or she can just create a base VM in VirtualBox and then configure it in GNS3’s VirtualBox Preferences. After that, each time the user drags the VM into the GNS3 topology window, it automatically creates a Linked Clone of the VM.

Using VirtualBox linked clones in GNS3 1.3

Linked clones work as follows. We may create one or more base VMs in VirtualBox. In this case, we created a router VM named “Quagga” and a host VM named “Linux-host” using the Core Linux appliances available on the GNS3 VirtualBox Appliances web page.

VirtualBox VMs created from GNS3 Core Linux  Appliances

Then we set up the new base VMs in GNS3 and check a box enabling linked clone support. These VMs form the “starting point” for the linked clones.

VB prefs more

Now when we drag a router “Quagga” or a host “Linux-host” into the GNS3 topology panel, GNS3 creates a linked clone based on the base VM and appends a number to the name so it is uniquely identifiable.

GNS3 topology

When the project is saved, changes to each VM’s linked filesystem are saved to a file in the project directory and, when the project is loaded again, each linked clones is created again in VirtualBox and each VM’s filesystem will have the updates saved from the previous session.

In a future post, I will cover more details about using VirtualBox VMs as open-source router nodes in GNS3.

VirtualBox preferences

GNS3 1.3 changes the way it supports VirtualBox virtual machines. The Preferences panel for VirtualBox now looks different, with a separate section for the VirtualBox VMs managed by GNS3.

Improvements to QEMU support in GNS3

GNS3 1.3 now supports up to 32 network interfaces on a QEMU VM, an increase from the 8 network interfaces supported in GNS3 0.8.7.

QEMU virtual machines in a network topology

Also, QEMU VMs may now be suspended and resumed.

Unfortunately, it is still not possible to capture traffic from an interface on a QEMU virtual machine. And, QEMU virtual machines still run slowly, except when the host operating system and the guest operating system are both Linux and are both using the same architecture (for example, AMD64).

In a future post, I will cover more details about using QEMU VMs as open-source router nodes in GNS3.

QEMU Preferences

GNS3 1.x changes the QEMU Preferences panel in the same way as the VirtualBox Preferences panel — as mentioned above — was changed.


VPCS Integration

GNS3 1.x now treats VPCS simulated PCs as devices just like VirtualBox and QEMU VMs, or Cisco and Juniper routers. It is a lot easier to use VPCS simulated PCs on GNS3 1.x, compared to GNS3 0.8.7.

VPCS PCs are shown in the Devices dock and can now be dragged to the topology window where they appear as individual PCs. A VPCS Multihost feature is available from the Tools menu, which runs the same way as VPCS used to work in GNS3 0.8.7.

VPCS simulated PCs now appear as PCs on the topology window

VPCS simulated PCs may be started and stopped like other devices. You can open a VPCS PC console by double-clicking on the PC in the topology window. VPCS support is configurable in the GNS3 Preferences dialogue boxes.

Download GNS3 Cisco IOS images

Download Cisco IOS image for GNS3

Hi dear all, that’s really a great to share my hard work  with you , After a lots of  hit in Google  I finally found trick to search Cisco IOS in free of course. So without talking much here are the link where you can free download Cisco ios image and you can upload or use this ios to the router and as well as in GNS3.
Small Collection of IOS Images.
{Updated}Big Collection of IOS Images (Almost All Cisco IOS Images)
Another Big Collection


(NEW)Cisco IOS Images Big Collection v3. **Direct HTTP Link** Binary files for GNS3
New Big IOS Collection

GNS3 emulated hardware and FAQs


Q. Will you support Cisco switching?

A. Switching is going be supported in GNS3 using L2IOU images, which are special IOS images made to work on PC/Linux. These are more like generic Cisco switches with most of the same features as in real switches. So in the end you can have 90% of the same features, just a bit slower.

Q. Will switching work on Windows or Mac OS X?

A. Currently, L2IOU images work only on Linux or Solaris. On Windows and Mac OS X, the current plan is to use a virtual machine to run L2IOU but we are still looking for an alternative technical solution.

Q. Why not supporting 100% of Cisco switching features?

A. Simply because L2IOU images do not support all of the features, we suspect that some of them require the dedicate hardware found in Cisco devices in order to work, other features are simply buggy in currently available L2IOU versions. The one that are likely not to work are L3 Etherchannel, ISL trunks, DHCP snooping, Private VLAN, SPAN/RSPAN/ERSPAN, Port-security, Voice VLANs, MLS QoS and QinQ.

Q. Will I be able to run IOS-XE?

A. Cisco has released an IOS-XE version that work in VMware and KVM. Actually, you can already use it with GNS3 (please see this newsfor more details) but we want to make it easier.

Q. Will I be able to run NX-OS (Nexus)?

A. Cisco has a version of NX-OS than can run inside VMware ESX/ESXi. So in theory there is a way to use it with GNS3, we do not have more info because our focus is on routing & switching and security.

Q. Will I be able to run IOS-XR?

A. Cisco is planning to release a virtual IOS-XR named XRv early next year. After this release, it should be possible to integrate IOS-XR in GNS3.

Q. Will you provide ways to train for Cisco Data Center and Voice certifications?

A. Our focus is currently on Routing & Switching followed by security but we plan to check what can be technically done for Data Center and Voice in the future.

Q. Will IOS 15.x be supported?

A. IOS 15.x is currently only supported by the Cisco 7200 router in GNS3 but thanks to the IOU (IOS on Unix) integration, more IOS 15.x versions will be supported and with less resources too.

Q. Will you add more Cisco devices like ISR or other platforms?

A. No, the issue is that these devices have specialized hardware impossible or extremely hard to emulate. New Cisco devices will come in the form of VMware/KVM/VirtualBox appliances (see IOS-XE, IOS-XR and NX-OS questions above) and IOU images.

Q. Will Arista’s EOS be supported?

A.One of our user managed to run Arista vEOS within GNS3! See this forum post for more details. So all we need to do is maybe streamline this a bit and here it is, Arista’s EOS platform in GNS3!

Q. Will GNS3 support HP Procurve switches and routers in the future?

A. HP is starting to have some simulation/emulation products out there that can potentially be integrated in GNS3. We also have to see if a partnership is possible with HP. So yes probably in the future but not for the first release of the new GNS3.

  • Why my c2600 IOS image doesn’t work with Dynamips/GNS3?
    • Images for 2600 routers must be uncompressed to work.
  • Why my serial connection works though the interfaces are both DCE?
    • GNS3/Dynamips doesn’t emulate the physical layer which is why the serial connections work even though they are both DCE.
  • Is IOS version 15.0 supported?
    • 7206VXR is the only emulated router that supports this IOS. Please also note Cisco stated that only IOS 15.n(n)M releases will be supported on Cisco 7200 series routers.

Cisco 1700 Series

1700s have one or more interfaces on the motherboard, 2 subslots for WICs (excepting on 1710s), an no NM slots.


  • 1 FastEthernet and 1 Ethernet fixed ports (CISCO1710-MB-1FE-1E).
  • WIC slots: 0
  • Note that interfaces do not use a slot designation (e.g. “f0”)

1720, 1721 and 1750

  • 1 FastEthernet fixed port (C1700-MB-1ETH).
  • WIC slots: 2 (maximum of 2 Ethernet ports or 4 serial ports).
  • Note that interfaces do not use a slot designation (e.g. “f0”)

1751 and 1760

  • 1 FastEthernet fixed port (C1700-MB-1ETH).
  • WIC slots: 2 (maximum of 2 Ethernet ports or 4 serial ports).

WIC cards

Cisco 2600 Series

2600s have one or more interfaces on the motherboard, 2 subslots for WICs and 1 Network Module (NM) slot.


  • 1 Ethernet fixed port (CISCO2600-MB-1E).
  • NM slots: 1 (maximum of 4 Ethernet ports or 16 FastEthernet ports).
  • WIC slots: 3 (maximum of 6 serial ports).


  • 2 Ethernet fixed ports (CISCO2600-MB-2E).
  • NM slots: 1 (maximum of 4 Ethernet ports or 16 FastEthernet ports).
  • WIC slots: 3 (maximum of 6 serial ports).

2610XM, 2620, 2620XM and 2650XM

  • 1 FastEthernet fixed port (CISCO2600-MB-1FE).
  • NM slots: 1 (maximum of 4 Ethernet ports or 16 FastEthernet ports).
  • WIC slots: 3 (maximum of 6 serial ports).

2611XM, 2621, 2621XM and 2651XM

  • 2 FastEthernet fixed ports (CISCO2600-MB-2FE).
  • NM slots: 1 (maximum of 4 Ethernet ports or 16 FastEthernet ports).
  • WIC slots: 3 (maximum of 6 serial ports).

Network Modules

  • NM-1E (1 Ethernet port)
  • NM-4E (4 Ethernet ports)
  • NM-1FE-TX (1 FastEthernet port)
  • NM-16ESW (switch module: 16 FastEthernet ports)
  • NM-NAM (Network Analysis Module, not working).
  • NM-IDS (IDS Network Module, not working).

WIC cards

Cisco 3600 Series

3600s have 2 to 6 Network Module (NM) slots.


  • NM slots: 2 (maximum of 8 Ethernet ports, 32 FastEthernet ports or 8 serial ports).


  • NM slots: 4 (maximum of 16 Ethernet ports, 32 FastEthernet ports or 16 serial ports).


  • 2 FastEthernet fixed ports (Leopard-2FE).
  • NM slots: 6 (maximum of 24 Ethernet ports, 32 FastEthernet ports or 24 serial ports).

Network Modules

  • NM-1E (1 Ethernet port)
  • NM-4E (4 Ethernet ports)
  • NM-1FE-TX (1 FastEthernet port)
  • NM-16ESW (switch module: 16 FastEthernet ports, maximum of 2 modules per router)
  • NM-4T (4 serial ports)

Cisco 3700 Series

3700s have 2 FastEthernet interfaces on the motherboard, 3 subslots for WICs and 1 to 4 Network Module (NM) slots.


  • 2 FastEthernet fixed ports (GT96100-FE)
  • NM slots: 1 (maximum of 16 FastEthernet ports or 4 serial ports).
  • WIC slots: 3 (maximum of 6 serial ports).
  • Note: the 2691 is essentially a 3700 with 1 NM slot.


  • 2 FastEthernet fixed ports (GT96100-FE)
  • NM slots: 2 (maximum of 32 FastEthernet ports or 8 serial ports).
  • WIC slots: 3 (maximum of 6 serial ports).


  • 2 FastEthernet fixed ports (GT96100-FE)
  • NM slots: 4 (maximum of 32 FastEthernet ports or 16 serial ports).
  • WIC slots: 3 (maximum of 6 serial ports).

Network Modules

  • NM-1FE-TX (1 FastEthernet port)
  • NM-16ESW (switch module: 16 FastEthernet ports, maximum of 2 modules per router)
  • NM-4T (4 serial ports)
  • NM-NAM (Network Analysis Module, not working).
  • NM-IDS (IDS Network Module, not working).

WIC cards

Cisco 7200 Series

7200s have a different architecture. Only the 7206 is supported, it has 6 Port Adapters (PA) slots.


  • PA slots: 6
  • Note: VXR chassis, NPE-400 and C7200-IO-FE are the default in GNS3.

Chassis types

  • STD
  • VXR

Network Processing Engines (NPEs)

  • NPE-100
  • NPE-150
  • NPE-175
  • NPE-200
  • NPE-225
  • NPE-300
  • NPE-400
  • NPE-G2 (requires the use of NPE-G2 c7200p IOS images)

Input/Output Controllers

Can be inserted into slot 0 only.

  • C7200-IO-FE (1 FastEthernet port)
  • C7200-IO-2FE (2 FastEthernet ports)
  • C7200-IO-GE-E (1 GigabitEthernet port, Ethernet port is not functional)

Port Adapters

Online Insertion and Removal (OIR) is supported, allowing you to replace PAs while the router is running.

Cisco Catalyst Switches

At this moment, it is not possible to emulate Catalyst switches with Dynamips/GNS3. This is due to the impossibility to emulate ASIC processors used in those type of devices. However you can use the EtherSwitch module with 2600s, 3600s and 3700s Series. Keep in mind that this module works differently (uses the vlan database etc.) and doesn’t support the following features:

  • Access Switch Device Manager (SDM) Template
  • ACL – Improved Merging Algorithm
  • ARP Optimization
  • BGP Increased Support of Numbered as-path Access Lists to 500
  • BGP Restart Neighbor Session After max-prefix Limit Reached
  • BGP Route-Map Continue Support for Outbound Policy
  • Clear Counters Per Port
  • DHCP Snooping
  • DHCP Snooping Counters
  • Diagnotics Options on bootup
  • ErrDisable Reactivation Per Port
  • ErrDisable timeout
  • EtherChannel – Flexible PAgP
  • Etherchannel Guard
  • Fallback Bridging
  • Flex Link Bi-directional Fast Convergence
  • Flex Link VLAN Load-Balancing
  • Flex Links Interface Preemption
  • GOLD – Generic Online Diagnostics
  • IEEE 802.1ab, Link Layer Discovery Protocol
  • IEEE 802.1s – Multiple Spanning Tree (MST) Standard Compliance
  • IEEE 802.1s VLAN Multiple Spanning Trees
  • IEEE 802.1t
  • IEEE 802.1W Spanning Tree Rapid Reconfiguration
  • IEEE 802.1x – Auth Fail Open
  • IEEE 802.1x – Auth Fail VLAN
  • IEEE 802.1x – VLAN Assignment
  • IEEE 802.1x – Wake on LAN Support
  • IEEE 802.1X Multi-Domain Authentication
  • IEEE 802.1x RADIUS Accounting
  • IEEE 802.1x with Port Security
  • IEEE 802.3ad Link Aggregation (LACP)
  • IEEE 802.3af Power over Ethernet
  • IGMP Fast Leave
  • IGMP Version 1
  • IGRP
  • IP Phone Detection Enhancements
  • IP Phone Enhancement – PHY Loop Detection
  • IPSG (IP Source Guard)
  • Jumbo Frames
  • L2PT – Layer 2 Protocol Tunneling
  • MAC Authentication Bypass
  • MLD Snooping
  • Multicast Etherchannel Load Balancing
  • NAC – L2 IEEE 802.1x
  • NAC – L2 IP
  • NAC – L2 IP with Auth Fail Open
  • Packet-Based Storm Control
  • Per Port Per VLAN Policing
  • Port Security
  • Port Security on Private VLAN Ports
  • Private VLANs
  • QoS Policy Propagation via Border Gateway Protocol (QPPB)
  • Rapid-Per-VLAN-Spanning Tree (Rapid-PVST)
  • Reduced MAC Address Usage
  • Remote SPAN (RSPAN)
  • Smart Port
  • Spanning Tree Protocol (STP) – Loop Guard
  • Spanning Tree Protocol (STP) – PortFast BPDU Filtering
  • Spanning Tree Protocol (STP) – Portfast Support for Trunks
  • Spanning Tree Protocol (STP) – Root Guard
  • Spanning Tree Protocol (STP) – Uplink Load Balancing
  • SRR (Shaped Round Robin)
  • Standby Supervisor Port Usage
  • STP Syslog Messages
  • Switching Database Manager (SDM)
  • Trunk Failover
  • Trusted boundary (extended trust for CDP devices)
  • Unicast Mac Filtering
  • UniDirectional Link Detection (UDLD)
  • VLAN Access Control List (VACL)
  • VLAN Aware Port Security
  • Weighted Tail Drop (WTD)

Cisco PIX firewalls

A special version of Qemu called PEMU is embedded into GNS3 for emulating the PIX 525 Security Appliance. PIX software up to version 7.2(4) is supported.

Cisco ASA firewalls

Qemu/GNS3 emulates ASA5520 (ASA 5520 Series Adaptive Security Appliance) hardware to run ASA software up to version 8.0(2).

Cisco IDS sensors

Qemu/GNS3 emulates an IDS 4235/4215 Sensor. The software IPS is known to run with release 6.0.

Juniper routers

JunOS, the Operating System for Juniper routers is based on FreeBSD, an UNIX Operating System that runs on PCs. At this date JunOS versions for Juniper M series are known to work in GNS3.


Thanks to Qemu and VirtualBox, GNS3 can run many operating systems like Linux or Windows as well as a lot of appliances. To save you time, we provide ready-to-use Qemu and VirtualBox images that integrate Linux Microcore (command line) and Linux Tinycore (small graphical interface). These images are designed to not use much memory, allowing you to run many virtual hosts. They include the following tools and features:

  • Console support
  • IPv6 support
  • iperf, tcpdump, iproute2 and iptables
  • SSH and telnet servers
  • D-ITG (Distributed Internet Traffic Generator)


Dynamips/GNS3 uses a fair amount of RAM and CPU in order to accomplish its emulation magic. Instructions can be found in the user documentation to reduce this but you may also consider the following advices:

  • Use c36xx, c37xx or c7200 IOS images. They are usually more stable with Dynamips.
  • Run Dynamips/GNS3 on Linux or Mac OS X if you can, performance is better and Dynamips is far more stable.
  • Try to not use the latest IOS images, for instance versions >= 12.4, depending of the IOS features you want, running 12.3 or 12.2 versions requires a lot less memory and CPU.

Of course, the number of routers you can run at the same time also strongly depend of your amount of RAM and CPU. On average users can run 10 to 15 routers with routing protocols configured without any problem. Some have even ran more than 100 routers on the same PC.

Getting started with GNS3 (Installation and configuration)

Up & Running With GNS3 1.X

How to Setup GNS3

Adding your own PC to GNS3 with MS Loopback

MicroNugget: GNS3 and Windows 8

MicroNugget: How to Tune GNS3 to Avoid a 100% CPU Utilization?

MicroNugget: Connecting Virtual Box Hosts to GNS3 Networks

MicroNugget: Virtual PC Simulators & GNS3

MicroNugget: Using Wireshark with GNS3

MicroNugget: Connecting GNS3 to the Internet

MicroNugget: The ASA in GNS3

How To Install GNS3 1.0 on Windows 8.1

GNS3 1.0 was released to the world on October 21st, 2014. I have been using previous versions of GNS3 for some time now to simulate networks and to practice for my Cisco certifications. For those of you who aren’t familiar with GNS3, it is an application that allows you to build networks for free. The caveat there is you need to supply the images for your equipment. GNS3 supports Cisco, Juniper, HP, Arista, Citrix, and Brocade (as specified on their site, You build out a virtual lab which means there is no need to purchase physical hardware.

Before getting started, you’ll need to sign up on GNS3‘s website. Once you have an account. You can download GNS3. Click on the Windows download button to begin.

Download GNS3 for Windows

Once you open the installation file, click through the standard setup screen and agreement until you get to the Choose Components section.

How to Install GNS3

GNS3 Components

Select all the components you will need – almost everything. SolarWinds is a new application packaged with GNS3. If you already have some of the components installed, such as Wireshark, you can uncheck it.

Location of Installation

After completing installation, Start GNS3.

Upon opening GNS3, you will be prompted to save your new project locally or in the cloud. For the purposes of setting up GNS3 I will skip this.

Store GNS3 project files locally or in the cloud

Click on Edit and then Preferences.

Editing preferences of GNS3

Expand Dynamips and select IOS routers.

Add new IOS images

This is where you must supply your IOS image. I cannot supply these images for you. Click on New to add your image.

Add new IOS image in GNS3

Enter the name of the Image and its platform.

Add a name and platform

Set the amount of RAM to be allocated to IOS.

Allocated ram

Select the default adapters you want installed for each new instance of this device.

The default adapters for the template

After you finish, the router will be displayed with its settings.

List of images

Click on the General tab to view your settings. Make any changes as you see fit.

GNS3 General Preferences

The Console applications tab is where you can configure what application is to be used to console into your devices within GNS3.

Putty for console

The Packet capture tab displays your settings for capturing traffic on links between your devices within GNS3. Notice the capture analyzer command using SolarWindows Response Time Viewer.

Wireshark for packet capture

Click OK to close the Preferences window.

The big window in the middle of GNS3 is your topology view. This is wear you drag and drop devices from the left menu item.

GNS3 Main Window

To add a device, click on one of the symbols on the left and drag and drop the IOS image you’ve uploaded to GNS3.

Click and drag

The Topology Summary window will display a list of all your devices. A red orb signifies a device that is off. A green orb means the device is on.

Right click on your device and click on Start to turn on your device. Right click again and select Console to bring up Putty to manage your device.

Device Menu

Happy labbing!

GNS3 1.2.1 installation on Ubuntu 14.04

As mentioned in an earlier post GNS3 is moving ahead fast. Currently at version 1.2.1 the GNS3 is looking great. Compared with the version 1.0 Beta 1 which I had installed, the 1.2.1 is not only more stable, but it has the Menu more clean and compact. For example now there is only one Preferences menu where you can adjust all your settings.

During the installation of 1.0 Beta 1 I made some notes in Evernote and it prove to be very useful as the installation was pretty messy. With 1.2.1 I did the same thing, but the installation was very smooth. Still, I said that if I made those notes maybe I should share them for those interested in a quick installation. A more complete guide can be found on GNS3 Community.

1. Download GNS3 1.2.1

Head over to, create and account and download the bundle archive for Linux.

If you for some reason you don’t want to create an account, you may download each package individually from

The following lines will assume that you have the bundle archive.

2. Install Ubuntu 14.04 dependencies

3. Unzip the bundle archive

You should see 5 packages in GNS3-1.2.1 folder:

4. Install Dynamips

To check if the correct version is install:

You should see in the output 0.2.14

5. Install GNS3 Server

To check if the GNS3 Server is installed correctly:

If you see some output other than an error, than you’re fine.

6. Install GNS3 GUI

To test if the installation is working:

You should see a graphical interface of GNS3 launched.

At this moment you have a working GNS3 environment if you want only want to test Cisco hardware emulators. I strongly recommend to continue and install also the rest of the components. Who knows when you’ll need them

7. Install IOUyap (Optional, if you will use IOU images)

To test the installation:

8. Install VPCS (Optional, if you want to use VirtualPC)

For the third line, the 64 represent 64bit, as my Ubuntu 14.04 is build on 64bit.
The values can be:
– 32 or i386 for 32bit OS
– 64 or amd64 for 64bit OS

Please be sure to use the correct one for your OS.

To test the VPCS:

You should see a Virtual PC being launched. Leave the console with letter q.

9. Install VirtualBox (Optional, if you want to launch VMs)

Download the correct version for your system from The following lines will assume an Ubuntu 14.04 64bit OS.

You can also use the instructions at and go for an APT installation.The choice is yours.

10. Install Qemu (Optional, if you want to use qemu images)

11. Install IOU (Optional, if you want to use IOU images)

I’m not a legal matter expert, and the usage of IOU is sort of grey area. Because of this, I’m not going to cover this chapter.

You’re ready to go. Start the GNS3 GUI:

Some things to check before going live:

  • check in the menu Edit > Preferences to set your desired Paths (in General sections) and to check the paths for the binaries (dynamips, vpcs, iou, virtualbox…)
  • add the IOS, virtualbox vm, iou images
  • in case of Cisco hardware emulators don’t forget to find the IdlePC value (when you add the IOS image or later with the start of your first router with a certain image) otherwise your CPUs will cry.

If something does not work as described or you need help please let me know in Comments.

[Update 1]

If you get the following error during installation of iouyap:

Try to install the iniparser as follows:


and finally iouyap

How to add ASA Firewall to GNS3

1. Download GNS3, I accept all the defaults (I actually tick to install SuperPuTTy, as tabbed console windows can be handy when using GNS3). Launch the program, you will be greeted with the following setup wizard. Select Option 1.

Note: You can do the same in future, by going to Edit > Preferences

Setup GNS3

2. Check that the path to the ‘projects’ and your ‘images’ folder are where you want them to be. The defaults are fine but if you run GNS3 on several machines you might want to choose something like Dropbox > Apply > OK.

GNS3 Images

3. Option 2.

Setup GNS3 Step By Step

4. Click Test Settings > Have patience, it can take a couple of minutes > Apply > OK.

Test GNS3 Settings

Adding Router Images to GNS 3

5. Option 3

Note: You can visit the same section in future by clicking Edit > IOS Images and Hypervisors.

GNS3 Idle PC

6. Image file > Browse to the image you want to import. Here on GNS3 8.6 you can select the filename.bin file, with older versions you need to extract that file to a filename.image file.

Note: You need to legally download these images from Cisco. This means you need a CiscoCCO account, and a valid support agreement. DO NOT email me and ask for Cisco IOSimages, (I will just ignore you!).

GNS3 Router Images

7. As mentioned above, it will convert my filename.bin image to an extracted filename.image file > Yes.

IOS Images for GNS3

8. Set the Router platform and model > In the IDLE PC section click Auto calculation > This can take a while.

Note: You can do this later from the main workspace, and test a range of settings. I you don’t do this your virtual network devices will eat all your CPU power!

GNS3 IDLE PC calculation

9. When complete click Close > Save > Close.


10. You can now start that model router to the workspace and use it. Repeat for each model of router you want to add.

Access Router in GNS3

Adding a Host to GNS3

Having a host machine for you labs is handy, usually you just need to be able to ping, or perform tracerts. So you can download a small Linux image from GNS3. There are a few options but I prefer linux-microcore.

11. Edit > Preferences.

nEdit GNS Properties

12. Quemu > Quemu Guest > Give it an identifier name (can be anything) > Browse to, and select the image you downloaded.

GNS 3 Setup Host

13. Save > OK > Apply.

Linux Microscore Qemu Guest Settings

14. You can now drag a Quemu Guest machine onto the work space, and console into it.

GNS 3 Host Cmd Window

Adding a Cisco ASA to GNS3

Yes you can add Cisco PIX as well, but there’s not many of them left in the wild.

15. Edit > Preferences > Quemu > ASA > Give it an identifier name (can be anything) > Set the RAM to 1024 > Set the Qemu options to;

-vnc none -vga none -m 1024 -icount auto -hdachs 980,16,32

Set the Kernel cmd line option to;

-append ide_generic.probe_mask=0x01 ide_core.chs=0.0:980,16,32 auto nousb console=ttyS0,9600 bigphysarea=65536

GNS 3 Add ASA Firewall

16. You need two files to run the ASA, an initrd file and a kernel file. You need to create these from a legally obtained copy of the asa843-k8.bin file.

Should you wish to locate these files form a less reputable source you are looking for
asa842-initrd.gz and asa842-vmlinuz, again don’t email me for them! If you are too stupid to use a search engine, then technical ninjary is not the correct career choice for you.

Ad Virtual ASA to GNS3

17. Finally select the vmlunuz file > Open.

GNS3 ASA vmlinuz File

18. Save > OK > Apply.

ASA 8.4 Add to GNS3

19. You can now drag an ASA onto the workspace and console into it (it takes a while, be patient). When the ASA starts it has all the licenses disabled, to add them you need to change the ASA’s activation key. An ASA Activation key is usually linked to the serial number of the ASA, in this case we don’t have a serial number, (that’s not strictly true, if you check, it’s something like 12345678). So I will publish a working activation key*

*Disclaimer, this will only work on this virtual ASA, and it’s published elsewhere on the Internet, if I receive a request to remove it I will do so.

Another ‘quirk’ is every time you add a new ASA to the workspace, you need to go through this process, if you enter the commands below you can issue a reload and also save the ASA, without the need to re-enter the activation key.

activation-key 0xb23bcf4a 0x1c713b4f 0x7d53bcbc 0xc4f8d09c 0x0e24c6b6
{This can take 5-10 minutes}
copy running-config startup-config
copy startup-config disk0

ASA Activation Key

20. When it comes back up, (again it will take a few minutes). Your can check your ASA’s licensed features.

ASA Licences Features in GNS

gns3 to asa internet steps

To Allow ICMP (Pings) from the inside Workstation as it will be blocked by default: 

ASA(config)# class-map icmp-class

ASA(config-cmap)# match default-inspection-traffic

ASA(config-cmap)# exit

ASA(config)# policy-map icmp_policy

ASA(config-pmap)# class icmp-class

ASA(config-pmap-c)# inspect icmp

ASA(config-pmap-c)# exit

ASA(config)# service-policy icmp_policy interface outside


To Permanently save the ASA config in GNS3: 

copy running-config disk0:/.private/running-config
copy disk0:/.private/running-config disk0:/.private/startup-config
conf t
boot config disk0:/.private/startup-config

VirtualBox and GNS3


VitualBox is a cross-platform virtualization application very similar to VMware that runs on Windows, Mac, Linux or Solaris operating systems. VirtualBox provides a generic virtualization environment for x86 systems meaning it may run operating systems of any kind. Also, VirtualBox is usually faster and easier to use than Qemu, especially on Windows and Mac OS X. We recommend to read the manual for a complete understanding of VirtualBox and its features.

Creating Virtual Machines

First, make sure your have installed VirtualBox version >= 4.1, if not you can download it from the official website.

Then you can either create a new Virtual Machine using the Oracle VM VirtualBox Manager or download one of our appliance. The Linux Microcore 4.7.1 appliance has been imported for the following example.


Now you could create or import other Virtual Machines so you can get more than one VirtualBox guest in GNS3 but here we will create 2 linked clones instead. The concept of linked clone is quite simple, the new cloned VMs will be working with “linked” virtual hard disk and all new changes will be saved in a newly created disk, thus saving your disk space while all changes made in the clone VM will not affect the base VM.

To create a linked clone, right-click on your base VM, here Linux Microcore 4.7.1, and select the “Clone…” entry. Choose a name, reinitialize the MAC address of all network cards and finally the clone type. Repeat the process to create one more clone.


After completing the last configuration, you should see your 2 clones, named HostA and HostB in this example. You are ready to link your Virtual Machines in GNS3.


Using VirtualBox VMs in GNS3

Check that VirtualBox is functional in GNS3. Go to Preferences -> VirtualBox, check the path to vboxwrapper and click on the providedTest Settings button. You should see a message if everything goes well. You only need to do this the first time you setup VirtualBox support in GNS3.


Go to the VirtualBox Guest tab to add the VirtualBox VMs in GNS3. Choose an identifier name, a VM from the VM list (you may have to refresh the list using the provided button) and other options:

  • Number of NICs is the number of network interface cards you will see inside your VM (e.g. ifconfig on Linux).
  • Reserve first NIC for VirtualBox NAT to host OS is to you have your first network interface card (e.g. eth0 on Linux) configured with network address translation (NAT), allowing your VM to access your host network and Internet (if your host can access it of course).
  • Enable console support to activate a serial console access to your VM. Please note that serial console support must also be configured on the operating system running in your VirtualBox guest for this feature to work. Here is a howto for Debian/Ubuntu Linux.
  • Enable console server (for remote access) is to remotely access to your VM serial console. GNS3 creates a mini Telnet server that act as a proxy between the serial console and Telnet clients. This feature requires the Enable console support to be enabled.
  • Start in headless mode (without GUI) will hide the VirtualBox graphical interface when the VM is started. This option is mostly useful if you have configured the previously described console support.



At this point, you should have added and configured your Virtual Machines in GNS3 Preferences. You can now add your VMs on the workspace, link them, start everything and console to all.


Once booted, configure valid IP addresses on both guest OS and ping between them. Here are the configuration used in this example:


tc@Linux:~$ sudo su
tc@Linux:~# ifconfig eth0 netmask
tc@Linux:~# ping


tc@Linux:~$ sudo su
tc@Linux:~# ifconfig eth0 netmask
tc@Linux:~# ping


Congratulations, you made your fist VirtualBox lab using GNS3!

Remote VirtualBox server

This is a more advanced topic that shows you how you can use a remote VirtualBox server. To do so, you first have to start vboxwrapper.exe or (requires Python) on your server (VirtualBox must be installed too). By default vboxwrapper will listen for connections on port 11525, this can be changed using command line options (use vboxwrapper –help to display them all).

$ python
VirtualBox Wrapper (version 0.8.4-RC4)
Copyright (c) 2007-2012
Jeremy Grossmann and Alexey Eromenko "Technologov"

Using VirtualBox 4.2.14 r86644
VBoxWrapper TCP control server started (port 11525).
Listening on all network interfaces

On your client, go to GNS3 Preferences, select Show VBoxWrapper Advanced Options, then disable the Enable VBox Manager one. Add an external VBoxwrapper which is the server IP address and port, in this example. Finally, hit the Test Settings button.


You should then see a similar message in vboxwrapper on your server if the connection has been successful.

Connection from ('', 54906)
[Errno 54] Connection reset by peer

Finally, as showed earlier in this tutorial, add your VirtualBox guests and start using them as you would normally do. Remember that your VMs will run on a remote server and there will be no VirtualBox GUI on your client. This means you should have a way to access them and the easiest is either to configure console support or have a remote desktop (RDP) connection to your server.