Cisco IOS on Unix, also known as Cisco IOU, is released for internal Cisco use only. IOU permits to run IOS natively on x86 platform while GNS3 must emulate the whole hardware. The big difference is that IOU can run more IOS instance than GNS3, but GNS3 can run real IOS version. The purpose of this article is to let you know how IOU can be integrated with GNS3 emulator software to practice switching concepts.
Setting Up GNS3 IOU VM in Virtual Box
Download the IOU Virtual Machine from the given Sourceforge link.
In the above image I have marked the file which I downloaded, However you can use any of the available versions. Once downloaded extract the tar file using 7zip or Winzip. You would see below files inside the zip file,
Open Virtual Box 4.3.12 application from the start menu. Make sure that you have already downloaded and installed it. I downloaded it from the below URL,
In Virtual Box, Click on File -> Import Appliance. It will prompt below window,
Select the path of your ovf file (you can find it in extracted folder) and click Import as depicted in the above snapshot. And ensure that Network settings looks like below,
As shown, Make sure that VM is attached to Host-only Adapter before we start the VM. Now start the VM and check for the IP configuration using ifconfig command. Use username root and password cisco to login into the appliance. Refer the below image for example,
Now it’s time to upload the IOU images. Well! I happened to find some IOU Images from this link. Type 192.168.56.101:8000/upload on your browser address bar. Click on ‘Choose file’, a file browser window will open. Select the downloaded IOU image and click ‘Upload’, this might take few minutes.
Make a note of displayed path, /home/gns3/GNS3/images/IOU/xxxxxxxx. Later you will have to enter this path in GNS3.
With this step, we have completed IOU end configuration. Let’s start with GNS3…
GNS3 IOU Server Configuration
By default, GNS3 is binded with server address 127.0.0.0:8000. We have to change this value with our new IOU server address. Follow the below instructions to bind the new server.
Go to Edit -> Preferences -> GNS3 Server. Click on Local server tab. From the Host Binding drop down window select ‘192.168.56.101’. Make sure that port is also set to 8000. Then click Apply and OK.
Again go to Edit -> Preferences -> GNS3 Server. This time click on Remote access tab. Add a host by entering UNIX GNS3 IOU VM IP address that we found using ifconfig (mine 192.168.56.101) and 8000 as port.
Integrating GNS3 and Cisco IOU
Final step of this tutorial would be to add IOU templates to GNS3. Go to Edit -> Preferences -> IOS on UNIX. And click ‘General Settings’ tab, click browse to set the path to IOURC.txt file. IOURC license file would like below,
Once you have given license file details, click Apply. And now go to IOU Devices, click New button and select server type as Remote. Your remote server will be listed there → Next
Here you will receive a message “You have chosen to use a remote server, please provide the path to IOU image located on the server!”, just click OK.
Now type a Name for the IOU image and set IOU image path to be the one that you noted already while uploading the image through through browser. Refer the snapshot below to understand what I am trying to say,
Click Finish! Yes, we are done with all the configurations. By repeating the above steps, you can upload as many as images you want and you can add them to your GNS3 emulator window. For example I have uploaded 2 images (L3 and L2) as shown below.
Now go to GNS3 main window, pull the configured IOU devices. Power them on, start building your labs! Since you can configure all the devices inside your GNS3 itself, I guess this method is much better than IOU Web.