Welcome to the first blog post in this new series on GNS3 in Azure. The first part of this series will cover how to setup GNS3 on Azure. I’ll share with you what works and what doesn’t so that you don’t have to waste your time finding out. I’ll then cover how to add appliances to GNS3 specifically using the Sophos network security appliances (the Sophos XG firewall and the Sophos UTM). I’ll then conclude by covering how to get internet connectivity working from within your lab environment.

For those that may not be aware, GNS3 is a great application that is used by hundreds of thousands of network engineers worldwide to emulate, configure, test and troubleshoot virtual and real networks (and hundreds of thousands is not an exxageration). It was originally developed by a guy named Jeremy Grossman, who originally created the application to help him to study for his CCNP exam.

On a personal level, GNS3 really helped me to develop my computer networking skills and I’ve used it to better understand a many networking protocols and concepts especially in my earlier days in IT. I’ve built complex and fully automated lab environments based on GNS3 in the past and I still use those environments till today but sadly as I moved around to different roles, I’ve not had the chance to redesign the earlier environments on the latest version of GNS3 until now. Which is where this series come in – As I’m getting rid of most of my physical servers that I used to use for testing and relying mainly on my Azure test environments,  I thought I’ll share the things that I’ve learned more recently with you around setting up a GNS3 lab environment on Azure.



High-Level Steps

ai. Deploy a Windows machine that will be used as our GNS3 Client on Azure
aii. Deploy an Ubuntu server that will be used as our GNS3 Server on Azure
bi. Install the GNS3 Client
bii. Install the GNS3 server

[code language=”bash”]
cd /tmp
curl https://raw.githubusercontent.com/GNS3/gns3-server/master/scripts/remote-install.sh gns3-remote-install.sh
bash gns3-remote-install.sh –with-iou –with-i386-repository

bii. The details of arguments that you can pass to the script are:
–with-openvpn: Install Open VPN to allow access over insecure network (not needed in this case)
–with-iou: Install IOU
–with-i386-repository: Add i386 repositories require by IOU if they are not available on the system. Warning this will replace your source.list in order to use official ubuntu mirror
–help: Show the help
–unstable: Use the unstable repository (for installing beta, release candidate…)
biii. Verify success
c. Configure your GNS3 client to use the GNS3 server


Leave a Reply

Your email address will not be published. Required fields are marked *