I have managed to get the QEMU version of ASA running inside Ubuntu 12.04. Previously I have installed this on Windows and OSX. The trifecta will be complete with this post with the ASA running inside Ubuntu. Similar to the OSX post, the linux install has some subtle differences.
- A working ASA 8.4 image
- Ubuntu 12.04 – I am sure others may work.
- GNS3-0.8.4-RC3-src.tar.bz2
- QEMU-0.14.1-GNS3-Ubuntu-Linux64.tgz
Download and install GNS3 from Sourceforge. This is the latest version from May. It will update the look, feel, and importantly some behind the scenes features. This is rather straight forward.Next it is time to download the modified QEMU 14.0. Install this self extracting QEMU instance. It is pre-compiled and works with Ubuntu 12.04 64-bit LTS. It has been patched to support JUNOS devices too.
sudo ./Qinstall Making Directrories - if directories exist you may see errors, which can safely be ignored. Please supply elevated credentials. mkdir: cannot create directory `/usr/local/': File exists mkdir: cannot create directory `/usr/local/bin/': File exists mkdir: cannot create directory `/usr/local/share/': File exists Making /usr/local/bin directory... Making /usr/local/share directory... Copying files to their proper locations... All done. Have fun with your JunOS patched version of QEMU!
Alright. Now we need to open up and perform the same operations and steps inside GNS3 as we did in the MAC OSX post from earlier in the week. Now set the path to QEMU as the value below.
/usr/local/bin/qemu
Set your path to the Qemu-img to what is listed below.
/usr/local/bin/qemu-img
So now you have directed GNS3 to the QEMU install you extracted previously, now test. Your results should look like they do below.
Test and you should get the delicious green text of success as shown above. Now we need to set the ASA up under the ASA tab like the OSX post.
Now jump over to the ASA tab. This version of GNS3 has better support for QEMU instances. It actually pre populates fields. From the first drop down menu, Preconfiguration, ensure ASA 8.4(2) is selected. I set my RAM to 1024. Note QEMU options and Kernel command line options are filled. Unlike previously where you had to define them, GNS3 now does this for you. You need to select e1000 as the interface type in Ubuntu.
So fairly straight forward there. Now just drag an ASA from the side onto your topology and hit the play button. Console into your device and it is happy days. Yes, I did not set up my ASA properly and attempted to ping an interface without a route or security zone.
Voila. Now click save and close the preferences pane. Select from the side tab of devices, Security Devices, and drag onto your canvas an ASA firewall. Click the play button and watch it start-up. You will have two QEMU windows open. These may appear as not responding but whilst they are open, your ASA runs. If you do close them the ASA will disable itself and turn off so do not do this. Connect to them all via console (left of the play button) and enjoy the study.
I hope you have enjoyed this post and can apply what is demonstrated.
Hi Anthony, Are you able to put as text the Qemu options and Kernel cmd line, so they can be copied? I’ve been trying everything to get Qemu running on CentOS 6.4, Linux Mint 15, and other variations. I’ve had it under windows, but running two ASAs kills memory and grinds the box to a halt.
Are your instructions above for Ubuntu fresh install, or what dependencies are required? Same as Qemu, any special setups required?
Hey Shane.
Thanks for the comment. I am currently away from my lab so i cannot get the information you require. Though if you update GNS3 to the latest RC4 you have the ASA fields pre populated. This is why I didn’t copy it.
2 ASA’s require the RAM for each unit + the RAM for your OS. I would suggest 4 gig for such undertakings.
I hope this helps.
Anthony.
What do I have to do special to add additional ASA’s in? I Added a second one but did not seem to be able to get the console window to open, thanks.
I am facing problem sir
What is your issue Ahmed?