Gns3 Openstack
Update Jul 8, 2019:The Kali Linux appliance has been updated,it now includes the persistent disk.So there is no need anymore to modify the appliance.
Script to install GNS3 on Xenial Openstack instance - GNS3installOpenstackxenialvm.sh. If you are using the Portable GNS3 project, the cloud-init ISO's are already generated and applied so it is sufficient to start with directory 3-mgmt. By the end of 6-osansible, you should have a complete working HA setup of openstack-ansible 19 built in GNS3. GNS3 is a software emulator for networks. The GNS3 website describes it as the software that empowers network professionals. This article provides the reader with the basics of GNS3 and a few test labs, which could be tried out by interested readers.
Kali Linux is a nice distributionfor penetration testing.The Kali Linux appliance makes it easy to integrate it into GNS3.But it has one major shortcoming, you have no way to save your work.Every time you start the Kali node, you have to begin from scratch.
Kali Linux supports the use of an USB drivefor storing your changes persistently.Based on that Kali documentation,this guide uses a virtual disk image for saving your changes.
If you haven’t already done, you need to install the appliance.
Search in the GNS3 documentation for ‘kali’to find the instructions for installing the Kali Linux appliance.
As SolarWinds, the company behind GNS3, doesn’t want links to the GNS3 website,I can’t give you the direct link to the documentation.
First we need to modify the template.For that open the GNS3 preferences, select the QEMU VM section andedit the Kali Linux template.
In the general settings we have to change the boot priority to CD/DVD-ROM.
In the HDD tab we have to add a virtual disk,storing the persistence data.We are doing that by using the ‘Create’ buttonto start the image creator wizard:
- Use the defaults in the next two dialogs (‘binary and format’ and ‘qcow2 options’)
- Set ‘kali-linux-persistence.qcow2’ as file location and choose a suitable disk size, for example 1.000 MiB.
- Finish the QEMU image creator wizard.
Furthermore change the disk interface to SATA.
For the initial creation of the persistent diskwe have to unmark the checkbox ‘Use as a linked base VM’.
Now exit the VM template editor with ‘OK’,then exit the preferences (again with ‘OK’).
From Kali’s point of view there is no difference betweenan USB stick and a (virtual) disk.Both devices are accessible as /dev/sd devices.So we can closely follow the Kali documentationto initialize the persistent disk.
Create a new temporary project anddrag the Kali Linux template to the project area.Then start the node and open the VNC console.

In the boot menu use the default entry ‘Live (amd64)’ to start kali,then login (username root / password toor).
Now start the terminal emulator and enter the following commands:
Then shutdown the Kali Linux VM.
Now we can setup the base environment for the future Kali VMs.For that start the VM and select ‘Live USB Persistence’ in the boot menu.
Then login and setup the VM according to your preferences.When done, shutdown the VM.
The setup of the persistent disk is now complete,delete the temporary project (including the temporary Kali VM).
Then re-enable the ‘Use as a linked base VM’ settings in the template.For that open the GNS3 preferences, select the QEMU VM section,edit the Kali Linux template and select the ‘Advanced settings’ tab.Now mark the checkbox ‘Use as a linked base VM’,then exit the VM template editor with ‘OK’,finally exit the preferences (again with ‘OK’).
Now the persistent disk is ready for normal use.Just boot with the ‘Live USB Persistence’ option.
As you are now using a disk with a linux file system,refrain from just stopping the VM.Use shutdown instead to cleanly stop the VM.