Running a Cisco ASA within GNS3

I am going to step away from IOU for a moment and head back to GNS3. In this post we are going to look at running the Cisco ASA within GNS3.

You will need:

  • asa842-initrd.gz
  • asa842-vmlinuz
  • GNS3
  • Qemu (latest)

I am using a Mac for this, but I have also got it working on a Windows 7 PC.

The first step is to download the latest GNS3 and Qemu install files from http://www.gns3.com.

Install as you normally would and make sure that the latest Qemu is installed by unzipping the Qemu package, then from the terminal CD through to the folder and install it using the command “./Qinstall”.

In GNS properties set the Qemu paths as instructed in the readme:

Qemu set up for GNS3

Click on the test button at the bottom to make sure that everything is working.

Qemu in GNS3

Still in the preferences window head over to the ASA tab under the Qemu option.

The settings we are using here are:

ASA GNS3 Qemu options

These are pretty specific, so keep to these values, otherwise the ASA may fail to boot.

And the ASA specific settings are:

ASA GNS3 kernel cmd line

Lastly, save your settings

gns3

Start up a new GNS3 project and drag a couple of ASAs onto the workspace and connect them up:

ASA within GNS3

Then click on start and connect via the terminal:

ASAs on GNS3

As you can see, it is easy to run an ASA within GNS3.

From here we can even use ASDM to manage our ASAs. For that, you will need to look at either running a Windows VM within GNS3, or connecting GNS3 to your home network. Read this post on connecting GNS3 to real equipment. Qemu allows you to run a wide range of devices within a virtualized environment, while I have now moved away from using GNS3 in favor of UNetLab, Qemu devices will run on both platforms.