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 )
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.com.
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, http://www.gns3.net, 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.
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.
Styles
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.
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.
Docks
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 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.
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.
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.
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.
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.
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 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.
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.
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.
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.
Hosts
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)
Performance
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.
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, gns3.com. 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.
Once you open the installation file, click through the standard setup screen and agreement until you get to the Choose Components section.
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.
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.
Click on Edit and then Preferences.
Expand Dynamips and select IOS routers.
This is where you must supply your IOS image. I cannot supply these images for you. Click on New to add your image.
Enter the name of the Image and its platform.
Set the amount of RAM to be allocated to IOS.
Select the default adapters you want installed for each new instance of this device.
After you finish, the router will be displayed with its settings.
Click on the General tab to view your settings. Make any changes as you see fit.
The Console applications tab is where you can configure what application is to be used to console into your devices within GNS3.
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.
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.
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.
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.
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 http://www.gns3.com/, 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 https://github.com/GNS3
The following lines will assume that you have the bundle archive.
You should see 5 packages in GNS3-1.2.1 folder:
dynamips-0.2.14.zip
gns3-server-1.2.1.zip
gns3-gui-1.2.1.zip
iouyap-0.95.zip
vpcs-0.6.zip
4. Install Dynamips
Shell
1
2
3
4
5
6
7
$ unzip dynamips-0.2.14.zip
$ cd dynamips-0.2.14
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
To check if the correct version is install:
Shell
1
$ dynamips | grep version
You should see in the output 0.2.14
5. Install GNS3 Server
Shell
1
2
3
$ unzip gns3-server-1.2.1.zip
$ cd gns3-server-1.2.1
$ sudo python3 setup.py install
To check if the GNS3 Server is installed correctly:
Shell
1
$ gns3server
If you see some output other than an error, than you’re fine.
6. Install GNS3 GUI
Shell
1
2
3
$ unzip gns3-gui-1.2.1.zip
$ cd gns3-gui-1.2.1
$ sudo python3 setup.py install
To test if the installation is working:
Shell
1
$ gns3
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)
Shell
1
2
3
4
$ unzip iouyap-0.95.zip
$ cd iouyap-0.95.zip
$ make
$ sudo make install
To test the installation:
Shell
1
$ iouyap -h
8. Install VPCS (Optional, if you want to use VirtualPC)
Shell
1
2
3
4
$ unzip vpcs-0.6.zip
$ cd vpcs-0.6/src
$ mk.sh 64
$ cp vpcs /usr/bin/
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:
Shell
1
$ 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)
10. Install Qemu (Optional, if you want to use qemu images)
Shell
1
$ sudo apt-get install qemu
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:
Shell
1
$ gns3
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:
Shell
1
2
3
4
5
6
7
GNS3-1.2.2.source/iouyap-0.95 $ make
gcc -g -DDEBUG -Wall -c -o iouyap.o iouyap.c
iouyap.c:40:23: fatal error: iniparser.h: No such file or directory
How to Connect Cisco IOU to GNS3-1.1 and Emulate Cisco Switch in GNS3-1.1
Well, what’s up? Today I’m going to discuss an interesting GNS3 Cisco simulator tutorial on how to connect Cisco IOU to GNS3-1.1. This is an alternate way of emulating Cisco switches in GNS3.
So I hope this article will answer how to get a working layer 2 switch in GNS3-1.1
By the way what is a Cisco IOU device? Cisco IOS on UNIX (IOU) is a fully working version of IOS that runs as a user mode UNIX/LINUX platform. IOU is built as an image and runs just like any other program. Layer 2 and layer 3 IOU images are available for switching and routing respectively. Cisco IOS on UNIX is aimed for internal uses only (Cisco employees). Distribution of IOU images to customers or external persons is strictly prohibited.
The new version of GNS3 (1.1) supportsIOS on UNIX, thereby providing fantastic Cisco switch simulator to the users. Usually people who are preparing for CCIE Routing and Switching will be using IOS on UNIX facility.
The process to connect Cisco IOU to GNS3-1.1 is a little bit hassle though, but I’m gonna give you simple explanation with step by step procedures.
GNS3 IOU VM.ova: Is the Virtual Unix platform to run IOU image. It is a virtual box OVA file: Download from here
IOU image: IOU image is intended to use only for Cisco employees, distribution of IOU is strictly prohibited. Please don’t ask me! Google is your friend always.
iourc.txt file: Is the license of Cisco IOU image. I have no privilege to provide it publicly, but I found adiscussion related to it. It may help you.
Now we are ready to go…
Step 1: GNS3 IOU VM.ova Setup
Double click ‘GNS3 IOU VM.ova’ , it will open up in VirtualBox (if you have installed VMware please right click on the GNS3 IOU VM.ova file and change the ‘open with’ to Oracle VM VirtualBox).
Click Import button, it will be imported to VirtualBox VM list.
Go to Settings → Network → Adapter 1
Make sure it is attached to Host-only Adapter with name VirtualBox Host-Only Ethernet Adapter. Then click OK.
Start the GNS3 IOU VM, then login with following credentials.
User name: root Password: cisco
Step 2: Upload IOU Image to Unix (GNS3 IOU VM)
Check the IP address of the GNS3 IOU VM by ifconfig command and note down the IP (my case 192.168.56.102).
Now come to the host machine and open any browser (I’m a Chrome fan). Enter the following link in the address bar http://192.168.56.102:8000/upload.
Choose your IOU image and click Upload button. [Note: the location of the file being copied (/home/gns3/GNS3/images/XXXXXXXXXXXXXXXXXXX)]
Now our IOU device is ready to run….!
[Troubleshoot: Please allow 192.168.56.XX network in the firewall, Disable proxy if you are using. In local PC (host machine) be sure that your VirtualBox Host-Only Ethernet Adapter is set to accept DHCP]
Step 3: GNS3 Server Configuration
By default GNS3 host binding is 127.0.0.0:8000 (local host loopback) address, we have to change the server to 192.168.56.XX:8000.
Go to Edit → Preferences → GNS3 Server → Local Server
Drop down the Host Binding section and choose 192.168.56.XX, local VirtualBox Host-Only Adapter IP (mine 192.168.56.101) and click Apply.
Again Edit → Preferences → GNS3 Server → Remote Server
Add a host by entering UNIX GNS3 IOU VM IP address that we noted in Step 2 (mine 192.168.56.101) and 8000 as port.
Step 4: Connect Cisco IOU to GNS3-1.1
Go to Edit → Preferences → IOS on UNIX → General Settings
The set the path of iourc.txt (iourc.txt can be stored on any directory of your local PC, eg: Desktop), browse and select it.
Now go to IOU Devices, click New button and select server type as Remote. Your remote server will be listed there → Next
You will receive a message “You have chosen to use a remote server, please provide the path to IOU image located on the server!”, just click OK.
Now type a Name for the IOU image and set IOU image path that you noted already in Step 2.
Type should be L2 for switch IOU.
Click Finish button. That’s that!
You have success fully configured Layer 2 Switch in GNS3-1.1…! Go to GNS3 GUI and drag the switch in to work space.
Now explore your new GNS3 Switch!
Hope I explained each steps to get a working IOU in GNS3-1.1
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
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.
3. Option 2.
4. Click Test Settings > Have patience, it can take a couple of minutes > Apply > OK.
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.
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!).
7. As mentioned above, it will convert my filename.bin image to an extracted filename.image file > Yes.
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!
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.
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.
12. Quemu > Quemu Guest > Give it an identifier name (can be anything) > Browse to, and select the image you downloaded.
13. Save > OK > Apply.
14. You can now drag a Quemu Guest machine onto the work space, and console into it.
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
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.
17. Finally select the vmlunuz file > Open.
18. Save > OK > Apply.
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 {Enter}
copy startup-config disk0 {Enter}
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.
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:
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 vboxwrapper.py (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 vboxwrapper.py
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, 192.168.1.69:11525 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 ('192.168.1.69', 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.
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.
One of the interesting things about GNS3 is that you can connect your topology to the real world. For some of your CCNA and CCNP studies you may need to run an actual Web browser or Cisco’s Security Device Manager (SDM) among others. Just connect your topology to your real PC. You could even connect to virtual machines running on your computer inside VMware or Virtual PC. I’ve even set up two copies of Windows XP Professional running inside VMware virtual machines. Then, I ran Cisco soft IP Phones that could talk to each other. You could connect your virtual network to a real network as well. Connecting a virtual topology running within GNS3 to real devices is very exciting, but again, your throughput is going to be limited compared to using real equipment for the entire topology. It only makes sense to use GNS3 in a lab environment and for learning purposes.
Drag a Cloud into your workspace. Right-click the Cloud and chooseConfigure. Click on C1 under Clouds, but choose the NIO Ethernet tab.Administrator rights are required (root account under Linux).
For Windows users, click on the box directly beneath Generic Ethernet NIO, and choose the network adapter you wish to use. For Linux users, click on the drop-down box to choose your network adapter (either your real adapter or a loopback adapter). Click the Add button and OK. You will need to configure the IP settings for your computer’s adapter, and then use theAdd a link toolbar button to create your connection.
You may use your regular network adapter, but I usually create an MS Loopback adapter to connect to. In Windows, use the Add Hardwarewizard in Control Panel. Choose “Yes, I have already connected the hardware.” On the next screen, choose Add a new hardware device at the end of the list and click Next. Choose to “Install the hardware manually…”and click Next. Choose Network Adapters in the list and click Next. ChooseMicrosoft as the manufacturer and then Microsoft Loopback Adapter as the network adapter. Finish the wizard. Then right-click My Network Places and choose Properties. You may wish to rename the new Local Area Connectionas MS Loopback Adapter. Also, assign the proper IP settings to the adapter in order to connect to your topology. Linux has a built-in loopback adapter already installed.
Now start your router and assign an IP address to the interface that is connected to the Cloud. You should be able to ping from the router to your PC (loopback interface) and the other way around. Don’t forget to deactivate any firewall that could block pings on your computer.
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, gns3.com. 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.
Once you open the installation file, click through the standard setup screen and agreement until you get to the Choose Components section.
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.
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.
Click on Edit and then Preferences.
Expand Dynamips and select IOS routers.
This is where you must supply your IOS image. I cannot supply these images for you. Click on New to add your image.
Enter the name of the Image and its platform.
Set the amount of RAM to be allocated to IOS.
Select the default adapters you want installed for each new instance of this device.
After you finish, the router will be displayed with its settings.
Click on the General tab to view your settings. Make any changes as you see fit.
The Console applications tab is where you can configure what application is to be used to console into your devices within GNS3.
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.
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.
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.
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.
Happy labbing! Let me know if you have any questions in the comment section below!