GNS3 WorkBench 8.6 Self-Serve Installation Instructions
Before you can even begin to get GNS3 WorkBench installed you will need three elements:
- A Virtual Machine Hypervisor (VMware recommended) in which you create a Virtual Machine and install Linux.
- An image for the version of Linux you wish to install on your VM
- Images for a Cisco IOS routers, ASA and Juniper routers.
If you don’t have a copy of a Cisco IOS, you will still be able to use GNS3 WorkBench, but you will be restricted to the ONE routing lab that you could run using a Vyetta image – which you can then use as a model to create more labs of your own.
But ideally, before you start you will have copies of:
c3725-adventerprisek9-mz.124-15.T10.bin [to run Cisco routers – this is the only image you need for MOST labs and exercises] c3640-ik9o3s-mz.124-25a.bin [to run GNS3 Vault exercises] c7200-adventerprisek9-mz.150-1.M.bin [to run some GNS3 Vault exercises] asa842-k8.bin [to run Cisco Adaptive Security Appliances] jinstall-9.6R1.13-domestic-signed.tgz [to run Juniper Junos]
You will also need to have a Virtual Machine Hypervisor. I have VMware Fusion v5.0, but the steps will be similar for other versions. Virtual Box may work.
You will need to have downloaded a suitable Linux image – I used Linux Mint 16.0 Cinnamon 32 bit. Other Debian/Ubuntu based images that use the “.deb” package distribution method should also be suitable, but Linux versions that use “.rpm” package distribution will not be able to run the install script.
The total install time is considerable, especially if your Internet connection is slow. My best download speed is about 3Mb/s, and I estimate it would take me approximately two hours to two and a half hours to complete the FULL install from scratch – after you have your hypervisor installed and images downloaded.
Task 1 – Create your VM
Create a new virtual machine in the normal way (detailed steps for creating a VM using VMware Fusion follow), making sure that you:
- Give the VM 40GB HD space
- Allocate as much free RAM as you can spare on your setup
- Give the VM 2 Network Interface cards, make sure the first one is mapped to your physical Ethernet adapter, the second as a shared connection with the host computer. Be careful, by default, the first adapter will be configured as a shared connection with the host computer too.
- [Optional] You probably won’t need sound – so you can remove the sound card if you want to save on resources.
- [Optional] You will probably want to add some shared folders if you already have files on your host computer that you wish to copy to your VM – like the files listed above – although you may have trouble getting shared folders to work, especially on Linux Mint.
Walkthrough of Task 1 using VMware Fusion 5.01
In VMware Fusion, select File | New
Click Continue without disc
Click Choose a disc or disc image… then select the Linux image you wish to use. Click Continue.
When prompted for Operating System and Version, I left them at the default Linux and Ubuntu, because Linux Mint is based on Debian and Ubuntu. Click Continue
Click Customize Settings. You will be prompted to save your VM and give it a name. I called mine LinuxMint160Cinnamon.vmwarevm
Now change the following settings:
Processors and Memory: Give it a much RAM as you can spare. I Have 16GB so I gave it 8GB (8192 MB) and two processor cores. If you want to add any advanced options like Enable hypervisor applications on this machine so you can run Linux KVM, then do that here too.
Network Adapter: Change the network adapter to Ethernet
Hard Disk: Change the size of the hard disk to at least 40GB
Add a device and add a Network Adapter and Share with the host machine.
[Optional] Sound Card: Click Remove Sound Card
[Optional] Sharing: Turn Shared Folders on, and add the folders from your host that you wish to share. Unfortunately, shared folders doesn’t always work – especially on Linux Mint
Close the system preferences, and you will see that you have a new virtual machine – mine is called LinuxMint160Cinnamon because that is the name I chose earlier.
Task 2 – Install Linux [Allow 60 min]
In this stage, you complete the Linux install on your VM. The following walkthrough should guide you.
Walkthrough of Task 2 using VMware Fusion 5.01
Boot your VM, and as your machine boots, hit the F2 key to go into the BIOS Setup Utility and set the state of the Legacy Diskette A: to Disabled. Press F10 to save and exit.
When you VM boots, go through the normal Linux install – set your keyboard, country, computer’s name etc and make sure you have a user called user – this is how I set mine up:
Once the install is finished, shut down your machine.
Back in the VMware application interface, add some descriptive comments to your VM. I wrote:
Linux Mint 16.0 Cinnamon. No VMware Tools installed, no updates installed.
Task 3 – Update Linux and install VMware tools
Before you start using your VM, you need to install VMware Tools. However, sometimes the install of VMware Tools fails, especially if you want to use the Shared Folders feature on Ubuntu or Mint. So at this point, I recommend that you make a copy of your VM – I did my copy by copying LinuxMint160Cinnamon.vmwarevm and renamed it GNS3WB86.vmwarevm and then complete this stage using the copy.
Walkthrough of Task 3 using VMware Fusion 5.01 and Linux Mint 16.0
Boot up your copied VM – you will get a dialogue from VMware where you can tell VMware that you copied this VM by clicking on I copied it when prompted.
As the VM is booting, you will notice in your VM Library that you now have two VMs called LinuxMint160Cinnamon. Now is a great time to rename this copied machine to something a bit more manageable – I renamed mine to GNS3WB86. This gives a more specific name to you VM, but leaves the files on my HDD inside the GNS3WB86.vmwarevm package with names like LinuxMint160Cinnamon.xxx reflecting the original OS.
Once the VM is booted, check that your OS is up to date – in Linux Mint 16.0 Cinnamon, I did this by running the Update Manager (search for it if you can’t find it) and click Install Updates. It might take 20 minutes or more to complete all the updates (it did on my system).
Note: If using Linux Mint 15, run the Update Sources utility first, and select Additional repositories and select the packages.medibuntu.org package. Click Remove permanently then click Update the cache. Then run Update Manager
Tip: While the updates are downloading, you might want to make a couple of tweaks to the operating system. I recommend the following:
- Menu | System Tools | System Settings => Screensaver & Lock Settings and adjust to your liking – I turned it off (my host machine can look after screen saving)
- Change the terminal settings so you have unlimited scrollback (there are some a long install scripts to run – you may want to scroll back to check for errors). In your terminal window, choose Edit | Profile Preferences (if you don’t have a menu, try right-clicking in the middle of the terminal and selecting Show Menubar). On the [Scrolling] tab, check the [x] Unlimited option for Scrollback:
- See Task Six – for more (not all are possible at this stage)
You can now begin the job of installing VMware tools. If you are a little paranoid, you may even wish to take another copy of your VM after doing the updates and before installing VMware Tools – just in case you have to start again and want to save the time it takes to install the updates.
To install VMware Tools, choose Virtual Machine | Install VMware Tools from the VMware Fusion menus. You will see a CD/DVD open with a file called VMwareTools-9.2.2-893683.tar.gz or similar. Open this file (double-click on it) and inside you will find a folder called vmware-tools-distrib. Extract this folder to your /tmp directory.
Note: If you are using Linux Mint 15 Cinnamon (and possibly other versions) and wish to use the Shared Folders feature, then add the following steps BEFORE installing VMware Tools (to make shared folders work)
Go to http://communities.vmware.com/message/2261370#2261370 and find the link and download vmtoolspatch.zip
Unzip it to your home directory.
Issue the following commands in a terminal window:
sudo apt-get install linux-headers-$(uname -r) sudo ln -s /usr/src/linux-headers-$(uname -r)/include/generated/uapi/linux/version.h /usr/src/linux-headers-$(uname -r)/include/linux/version.h cd ~ sudo ./vmtoolspatch
To complete the VMware tools install, you will have to use the command line. Right-click on the desktop and choose Open in terminal. A terminal session will open and you will be at the Desktop directory.
Issue a command cd /tmp/vmware-tools-distrib/ to change directory, then issue the command sudo ./vmware-install.pl -d to install vmware tools – you will be prompted for your password.
cd /tmp/vmware-tools-distrib/ sudo ./vmware-install.pl –d
Once VMware tools is installed, you should be able to run the VM in full screen mode, but first, there is some cleaning up to do:
- Exit the terminal session and any open file browsers
- Eject the VMware Tools DVD
- Shutdown your VM
This is also another good place where you might want to take another copy of your VM.
Task 4 – Prepare Linux image with OS files
Make sure you have the firmware images that will make GNS3 WorkBench run – in other words you need the following files copied to your VM:
- At least one IOS image. Ideally, this will be c3725-adventerprisek9-mz.124-15.T10.image in the /home/user/GNS3/Images directory. Create the directory structure as you go.
- If you intend to run the GNS3 Vault exercises, make sure you also have copies of c3640-ik9o3s-mz.124-25a.image and c7200-adventerprisek9-mz.150-1.M.image in the /home/user/GNS3/Images directory.
- If you intend to run ASA labs, make sure you also have a copy of asa842-k8.bin in the /home/user/GNS3/Images/ASA directory. Create the directory first.
- If you intend to run Juniper Junos, make sure you have a Junos image. This install has been tested with jinstall-9.6R1.13-domestic-signed.tgz. Make sure you have this file or another Juniper Junos image in the same format.
- This image needs to be placed in the /home/user/GNS3/Images/Junos directory. Create the directory first.
Walkthrough of Task 4
Your Cisco router images need to be in a specific directory, so start by creating the directory structure to hold the images. The following commands will create all the directories you need to complete this task.
mkdir ~/GNS3 mkdir ~/GNS3/Images mkdir ~/GNS3/Images/ASA mkdir ~/GNS3/Images/Junos
To download the Cisco IOS images, do a Google search for the image name – such as c3725-adventerprisek9-mz.124-15.T10.bin. You should see a link to the Cisco website where you can download the image (provided you have a valid maintenance contract for a Cisco c3725).
Once downloaded, move the image to /home/user/GNS3/Images. Next decompress the image, giving it a .image extension. The commands to do this are:
cd ~/GNS3/Images unzip -p c3725-adventerprisek9-mz.124-15.T10.bin > c3725-adventerprisek9-mz.124-15.T10.image
Similarly, download and decompress c3640-ik9o3s-mz.124-25a.bin and c7200-adventerprisek9-mz.150-1.M.bin to c3640-ik9o3s-mz.124-25a.image and c7200-adventerprisek9-mz.150-1.M.image.
The ASA image MUST NOT be decompressed. Find asa842-k8.bin and move it to the /home/user/GNS3/Images/ASA directory.
A Google search for jinstall-9.6R1.13-domestic-signed.tgz may not give you a link to the Juniper website where you can download the image. Instead, you may have to visit http://www.juniper.net/support/downloads/junos.html – but you may find that you’ll have to get a later version than 9.6R1.13 – which may or may not work.
Once you have downloaded jinstall-9.6R1.13-domestic-signed.tgz, move it to the /home/user/GNS3/Images/Junos directory and the install script will take you through the image preparation.
Task 5 – Run the GNS3WB install script [Allow 90 mins]
This task is executed in your Linux Virtual Machine, and is really the part that makes GNS3 WorkBench more than just another GNS3 install.
Walkthrough of Task 5
Working in your VM, download the GNS3WB install script form http://sourceforge.net/projects/gns3workbench/files/v8.6/installGNS3WB.sh and save it in your home directory. Probably the easiest way to do this is to open a terminal session and enter the following commands
cd ~ wget -O installGNS3WB.sh http://sourceforge.net/projects/gns3workbench/files/v8.6/installGNS3WB.sh/download
You’ll have to make the script executable, so use the chmod command to do that like this:
chmod +x installGNS3WB.sh
Now you need to run the install script as superuser, so the command is:
Your output should look something like this:
##### Chris' Crude GNS3 WB installer : version 1.0 ##### You seem to be running on something other than a Mint (Cinnamon) 15.0 32bit host This script attempts to setup the GNS3 WorkBench 8.6 on your existing Linux system - but has only been tested on Mint (Cinnamon) 15.0 32bit If it works - Great. If not, go to https://rednectar.net/gns3-workbench and find the link to the latest appliance download. Good Luck ****************** IMPORTANT STUFF ****************** This install script will install software and change settings on your system It is recommended that you start with a clean Linux install, as exising applications may have their settings changed by the install process. In particular, the following applications may be affected: Oracle VirtualBox; GNS3; Wireshark; Konsole; VPCS Press <Enter> to indicate you understand ============================ This install is going to work better if you have already have the following file in the following locations: (You can add them later and re-run the install) /home/user/GNS3/Images/c3725-adventerprisek9-mz.124-15.T10.image [FOUND IT] /home/user/GNS3/Images/c7200-adventerprisek9-mz.150-1.M.image [FOUND IT] /home/user/GNS3/Images/c3640-ik9o3s-mz.124-25a.image [FOUND IT] /home/user/GNS3/Images/ASA/asa842-k8.bin [FOUND IT] /home/user/GNS3/Images/Junos/jinstall-9.6R1.13-domestic-signed.tgz [FOUND IT] ### BE WARNED - A FULL INSTALL CAN TAKE A COUPLE OF HOURS ### Would you like a. an interactive install? b. a "Bull-at-a-gate-no-questions-asked-auto-pilot" install (even with b. You will still need to do parts of junos install manually) h. Help: More information please q. Oh dear! I don't want to do this right now. Get me out of here! a/b/h/q [a]
The install script carries out the following tasks:
- Updates your Linux OS with the latest patches and adds the repository where GNS3 resides.
- Downloads and installs the scripts to enable support for ASA and Juniper
- If you have downloaded the ASA image, it will be prepared for use in GNS3
- Downloads and installs the following:
- NIO tap adapter
- open-ssh server
- CPU Limit utility
- Oracle VirtualBox emulator
- terminal applications Xterm, PuTTY and Konsole
- the Virtual PC Simulator (VPCS)
- a specially prepared Qemu freeBSD image for use with Juniper routers
- if you have Juniper image available, the script then takes you through the tedious Juniper install process.
- NOTE: This is a tricky and tedious process. Follow instructions carefully. Debugging tips at the end of this page.
- Downloads a collection of Virtual Box VMs that are used in the GNS3 WorkBench
- Downloads the GNS3 WorkBench exercises and sets up the default settings in GNS3 and your desktop
- Fixes file permissions so you can run the labs smoothly
However the install script does not quite complete the job – for some reason, the following fails if it is run within the script, so you have one more command to complete the install:
This script will make your important folder Icons some identity. But you will have to refresh the file browser to see the effect.
Task 6 – Tweak the user interface – optional
I made the following changes to the environment to suit me – you may wish to follow suit.
Edit | Preferences | [View] tab
– Right Margin [x] Display right margin .. at column 
To allow gedit to open all files;
1. Create a file called /home/user/.local/share/nemo/actions/openwithgedit.nemo_action
2. Put the following text
[Nemo Action] Name=Open with gedit Comment=Open shellscript for editing Exec=gedit "%F" Icon-Name=gedit-icon Selection=S Extensions=any
Menu | Preferences | Network Connections
Rename the connections eth0 and eth1 as appropriate
(If there is no Menubar, right-click inside the terminal window and select Show Menubar)
Edit | Profile Preferences | [Scrolling] tab
– Scrollback: [x] Unlimited
Edit | Profile Preferences | [Background] tab
(x) Transparent background (approx 75%)
Edit | Profile Preferences | [Colours] tab
[ ] Use colours from the system theme
Built-in schemes: [Custom]
Text colour: White
Bold colour: Orange
Background colour: Custom: #3f3f3f
Built-in schemes: Tango
Before you close, you may wish to also set the following recommended tweaks on the [General] tab: check the [x] Allow bold text option and the [x] Show menubar by default in new terminals
Nemo File manager
Edit | Preferences | [Behavior] > Executable Text Files
(o) Run executable text files when they are opened
Click on Menu, navigate to Education, right-click on GNS3 icon, choose Add to panel
[Settings] | [Configure Konsole] | [TabBar] settings
Tab bar position: Above Terminal Area
[Settings] | [Edit Current Profile] => [Scrolling] Tab
check (o) Unlimited scrollback
Open two tabs, close Konsole window; when asked
“There are 2 tabs open in this window, Do you still want to quit?”
then check the
[x] Do not ask again
option. then click [Close Window]
Debugging Tips for Juniper Install
Q: Midway through the Juniper install, the Qemu window opens, but I see the following on the console:
=================== Bootstrap installer starting =================== Initialized the environment Routing engine model is Olive Discovered that flash disk = , hard disk = ad0 WARNING: R/W mount of /var denied. Filesystem is not clean - run fsck mount: /dev/ad0s1f : Operation not permitted ERROR: mount_partition: Mount /dev/ad0s1a /mnt failed You are now in a debugging subshell (you may not see a prompt)... #
A: Most likely you forget the “halt” command in the set of instructions that read:
####################........READ CAREFULLY.......##################### when the VM boots up - log in as user root password root and then enter the following three commands: ###################################################################### mount /cdrom #Note: press <Enter> one more time once the mount is done pkg_add -f /cdrom/jinstall-9.6R1.13-domestic-olive.tgz #Note: Takes a while... - see note * below halt ######################################################################
Fix: When the install is complete, run the install again in interactive mode, but choose “No” to all installs until you reach:
:-Juniper router prep [Recommended - allow 30 mins] - Takes you through the process of loading your Juniper router image onto your FreeBSD VM REQUIRES USER INTERACTION
Next time, make sure you type halt before you quit
Running under Vmware WS10, I tamed the unusually high cinnamon CPU load by adding
mks.gl.allowBlacklistedDrivers = “TRUE”
to the .vmx
Hardware acceleration is also enabled for this guest. Mint previously complained about Hardware graphics acceleration and 3d support not being avail.
Thanks for putting this together Chris, now on to the tutorials !
Thanks! I’ll try to remember for the next update
Hello Chris, i use this VM 0.8.6 installation and very happy with it. Do you plan to write a blog note on how to update to the new version 1.0 ? Thanks for your work anyway!
Will be doing a v1 update soon. Hadn’t thought of doing a “upgrade” but since you ask I’ll think about it
Thanks for this. Succesfully installed in Mint 17 32bit today. Only thing thats not clear is how we should set uo the two network adapters – NAT, host-only, bridged? Using vmnet1/2 etc? Thanks.
@Bill – the short answer is that it doesn’t really matter, which is why I haven’t bothered too much.
The longer answer is that I usually have the first network adapter set up as Bridged to Ethernet (vmnet1), and the second adapter as NAT (vmnet8). However, the only exercise that depends on any external adapter is the Single Router exercise in the Unconfigured Lab Topologies. This lab also requires that a VLAN 255 interface is created as well – too complicated to explain here but I used this as an example of how to connect together multiple PCs running GNS3 in my book GNS3 Network Simulation Guide (See Ch 7: Tips for Teachers, Troubleshooters and Team Leaders – “The GNS3 WorkBench Solution”)