After some years, it's time again to prepare for my next CCNP re-certification. I was pleasantly surprised that running full-featured Cisco L2 p_w_picpaths is now made entirely possible with the new "IOS on Unix (IOU)" function on GNS3. I documented my new setup here according to the GNS3 v1.5.2 running on a Windows x64 host.
You'll need to get hold of the following files beforehand:
Cisco IOU L2 and L3 p_w_picpaths (by Googling)
Cisco IOU license file iourc (see this forum discussion)
Once you have obtained the above files, you can now proceed with the following steps:
Download and install the all-in-one GNS binaries from gns3.com
Download the GNS3 VM OVF p_w_picpath as well. Ensure that the version of both GNS server and the OVF p_w_picpath must match i.e. 1.5.2 in this case.
Download and install either VMWare Workstation Player or Oracle VirtualBox in your host.
Import the GNS3 VM OVF into either virtualization software and start running it. Ensure that at least one network interface is of NAT type (enabled by default)
Note down the IP address stated on the screen on the GNS3 VM.
Start GNS3 and go to Edit | Preferences
Edit the path to vmrun for VMWare or the path to VBoxManage for VirtualBox.
Go to Server | Remote Servers. Add the new remote server with the IP address noted in step 5 above. You should see something similar as follows:
Click on IOS on Unix. Edit to the path to the iourc license file that you have prepared. Click the Apply button.
Click on the IOU Devices below it. Click the New button.
Add the L3 and L2 devices by browsing to the IOU p_w_picpath files that you have downloaded beforehand.
Drag and drop the new devices that you just added. Test out the L2 commands (e.g. switchport, spanning-tree etc) on the consoles.
Note: if you are unable to start the new IOU devices, you may need to modify the hostname on your GNS3 VM according to your iourc file content. For example:
gns3@gns3-vm~#sudo hostnamectl set-hostname gns3-iouvm
gns3@gns3-vm~#bash