How to Add Cisco IOU/IOL Images To Eve-Ng

Learn how to add Cisco IOU/IOL Images to Eve-ng step-by-step. L2/L3 images of Switches and routers which helps you to practice for L3 devices with the same features and functions which original devices have. Cisco IOU/IOL images were released for Architecture and testing purposes but today Cisco IOU/IOL images are used for CCIE routing and switching practice for CCIE routing and switching.

Eve-ng is one of the best emulators to Practice with Cisco devices where you can import the images in Eve-ng and access it via GUI. You can set up your lab and practice as much as you want.

To install Eve-ng on your desktop check below Post-
How to install Eve-ng on Vmware.

Follow the Video to add Cisco IOU/IOL images to Eve-ng

if you want to practice Cisco ASA or Cisco IOS Dyanamip on eve-ng for your certification or knowledge then check the below posts-

How to add Cisco ASAv to Eve-ng
How to add Cisco IOS (Dynamips Images) to Eve-ng

Supported Cisco IOU/IOL Images for Eve-ng

Basically, Eve-ng supports all the Cisco IOU and IOL images but below are recommended ones.

TypeEVE Image NameVersionvRAM
L2L2-ADVENTERPRISEK9-M-15.1-20130726.binI86BI_LINUXL2-ADVENTERPRISEK9-M 15.1(20130726:213425)192
L3L3-ADVENTERPRISEK9_IVS-M-15.3-0.9T.binI86BI_LINUX-ADVENTERPRISEK9_IVS-M 15.3(0.9)T128

Download Cisco IOU/IOL Images for Eve-ng

Images provided below are strictly for educational purposes and are not hosted on the networkhunt.com server. We are just indexing the links found on the internet for educational purposes only.

You can download Cisco IOU/IOL images from the links below.

Add Cisco IOU/IOL images to Eve-ng

IOL or IOS On Linux also called IOU or IOS On Unix. IOL is a simulator available for Cisco internal use only. IOL refers to the Linux version, compiled for i386 architecture. IOU refers to the Unix (Solaris) version compiled for Sparc architecture. The term IOU usually refers to IOL too.

Because IOL is an internal IOS version, IOL can be used by Cisco employees or by authorized customers only.

Upload the downloaded image to the EVE using for example FileZilla or WinSCP to:  /opt/unetlab/addons/iol/bin

Type the following command to fix permissions:

/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

License for Cisco IOU/IOL images.

Creating IOU and IOL licenses in EVE-NG is essential for running Cisco IOS images. This process involves generating a license key specific to your EVE-NG machine. You will need to access the EVE-NG server, run a script to generate the license key, and then input this key into the appropriate configuration file. This ensures your Cisco IOU/IOL images operate correctly within the EVE-NG environment.

#! /usr/bin/python
print("*********************************************************************")
print("Cisco IOU License Generator - Kal 2011, python port of 2006 C version")
print("Modified to work with python3 by c_d 2014")
import os
import socket
import hashlib
import struct

# get the host id and host name to calculate the hostkey
hostid=os.popen("hostid").read().strip()
hostname = socket.gethostname()
ioukey=int(hostid,16)
for x in hostname:
 ioukey = ioukey + ord(x)
print("hostid=" + hostid +", hostname="+ hostname + ", ioukey=" + hex(ioukey)[2:])

# create the license using md5sum
iouPad1 = b'\x4B\x58\x21\x81\x56\x7B\x0D\xF3\x21\x43\x9B\x7E\xAC\x1D\xE6\x8A'
iouPad2 = b'\x80' + 39*b'\0'
md5input=iouPad1 + iouPad2 + struct.pack('!i', ioukey) + iouPad1
iouLicense=hashlib.md5(md5input).hexdigest()[:16]

print("\nAdd the following text to ~/.iourc:")
print("[license]\n" + hostname + " = " + iouLicense + ";\n")
print("You can disable the phone home feature with something like:")
print(" echo '127.0.0.127 xml.cisco.com' >> /etc/hosts\n")
1. Copy the above text create a text file and save as with the name IOUkeygen.py

2. After creating the license python script, upload it to the Eve-ng directory

-/opt/unetlab/addons/iol/bin/

3. After uploading the script go to the directory by using the below command-

cd /opt/unetlab/addons/iol/bin/

4. Check the directory content by using the below command-

ls -l

5. you will be able to see a file with the name – IOUkeygen.py

6. Now run the Python script by using the below command-

python2 IOUkeygen.py

7. it will give you some like the below output

root@eve-ng:/opt/unetlab/addons/iol/bin# python2 ioukeygen.py

After running the script, it will look like below example.

Cisco IOU License Generator - Kal 2011, python port of 2006 C version
Modified to work with python3 by c_d 2014
hostid=007f0101, hostname=eve-ng, ioukey=7f0343
Add the following text to ~/.iourc:

[license]
eve-ng = 972f30267ef51616;

8. Now, we will create licenses for IOU/IOL images, to create a license key run the below command. It will create a file with the name iourc which IOU/IOL images will use for license verification.

nano - c iourc

9. Paste the license and press ctrl+x to save the file.

[license]
eve-ng = 972f30267ef51616; 

We have successfully added the Cisco IOU/IOL images with the license.

Testing Cisco IOU/IOL images

To add IOU/IOL nodes in EVE-NG via the GUI, follow these steps:

  1. Open EVE-NG: Launch the EVE-NG web interface in your browser.
  2. Create a New Lab: Click on “Lab” from the top menu and select “New Lab.” Fill in the lab details and click “Save.”
  3. Add a Node: Click on the “Add an Object” button (plus icon) on the toolbar and select “Node.”
  4. Select IOU/IOL: In the “Node” window, choose “Cisco IOU/IOL” from the list of node types.
  5. Configure Node: Set the desired node name, image, and other parameters. Click “Save.”
  6. Repeat: Add additional IOU/IOL nodes as needed by repeating steps 3-5.
  7. Connect Nodes: Use the “Add a Link” button to connect the nodes as required.
  8. Start Nodes: Click the “Start” button to power on all the nodes.

Your IOU/IOL nodes are now added and ready for use in your EVE-NG lab.

add cisco iou and iol image in eve-ng
cd /opt/unetlab/addons/iol/bin
touch NETMAP
LD_LIBRARY_PATH=/opt/unetlab/addons/iol/lib /opt/unetlab/addons/iol/bin/<iosname.bin> 1
***************************************************************
IOS On Unix - Cisco Systems confidential, internal use only
Under no circumstances is this software to be provided to any
non Cisco staff or customers.  To do so is likely to result
in disciplinary action. Please refer to the IOU Usage policy at
wwwin-iou.cisco.com for more information.
***************************************************************

              Restricted Rights Legend

Use, duplication, or disclosure by the Government is
subject to restrictions as set forth in subparagraph
(c) of the Commercial Computer Software - Restricted
Rights clause at FAR sec. 52.227-19 and subparagraph
(c) (1) (ii) of the Rights in Technical Data and Computer
Software clause at DFARS sec. 252.227-7013.

           cisco Systems, Inc.
           170 West Tasman Drive
           San Jose, California 95134-1706

Read More

1How To Add Cisco IOU/IOL To Eve-ng
2How to add Cisco ISE to EVE-ng
3How to add cisco viptela images to eve-ng
4How To Add Cisco VIRL vIOS image to Eve-ng
5How to add Cisco SDWAN to Eve-NG
6How to Add Cisco Cloud Service Router CSR1000v to Eve-ng
7How to add Cisco Viptela images to eve-ng
8How to add Cisco Firepower Threat Defense (FTD) to Eve-NG
9How To Add Cisco Nexus 9k Switch in Eve-ng
10How to add Qemu Cisco ASA 9.1.5 to eve-ng
11How to add Cisco Dynamips Images (Cisco IOS) to Eve-ng
Subscribe
Notify of
guest

0 Comments
Newest
Oldest
Inline Feedbacks
View all comments
Rahul Malasi
Rahul Malasi
1 year ago

its not working for me

getting error:
root@eve-networking:/opt/unetlab/addons/iol/bin# python2 ioukeygen.py
*********************************************************************
Cisco IOU License Generator – Kal 2011, python port of 2006 C version
Modified to work with python3 by c_d 2014
hostid=800a0200, hostname=eve-networking, ioukey=800a07b5
Traceback (most recent call last):
File “iouKeygen.py”, line 21, in
md5input=iouPad1 + iouPad2 + struct.pack(‘!i’, ioukey) + iouPad1
struct.error: ‘i’ format requires -2147483648 <= number <= 2147483647
root@eve-networking:/opt/unetlab/addons/iol/bin#

Kyaw Thura Htoon
Kyaw Thura Htoon
1 year ago

Its working, Thanks alot.

sunilkumar
sunilkumar
1 year ago

Awesome Bro thanks a lot for your effort

Rakibul
Rakibul
5 years ago

is this support snmp?

Jon C
Jon C
5 years ago

This is great! Can you share all your EVE-NG images with instructions? I’m willing to pay. Thanks!

Ilir Daka
Ilir Daka
5 years ago

Works OK for me but when I start the router in LAB, it shutdown after some secons!

Stan
Stan
4 years ago
Reply to  networkt

Im getting the same thing, no error, says started, but it never comes up… I have no idea where to check, when I do it from the CLI, I`m able to start the router… I dont understand whats wrong or where to look for the issue.

AS SE
AS SE
5 years ago

Is there anyone to assist with the below issue ???

1)Running the script :

root@Eve-NG:/opt/unetlab/addons/iol/bin# ./IOUkeygen.py
*********************************************************************
Cisco IOU License Generator – Kal 2011, python port of 2006 C version
Modified to work with python3 by c_d 2014
hostid=007f0101, hostname=Eve-NG, ioukey=7f02e3

Add the following text to ~/.iourc:
[license]
Eve-NG = 0e2b236f5a4041d4;

You can disable the phone home feature with something like:
echo ‘127.0.0.127 xml.cisco.com’ >> /etc/hosts

2)The script license matches with the below one :

root@Eve-NG:/opt/unetlab/addons/iol/bin# cat iourc
[license]
Eve-NG = 0e2b236f5a4041d4;

3)Still getting the below error

root@Eve-NG:/opt/unetlab/addons/iol/bin# /opt/unetlab/wrappers/unl_wrapper -a fixpermissions

Oct 20 14:19:40 Oct 20 14:19:40 ERROR: Unlicensed
root@Eve-NG:/opt/unetlab/addons/iol/bin#

Is the solution to buy the PRO version ???

ramavtar rinwa
ramavtar rinwa
4 years ago
Reply to  AS SE

replace this line “” md5input=iouPad1 + iouPad2 + struct.pack(‘!L’, ioukey) + iouPad1 “” in script
or replace i with L
script work fine

Frank
Frank
5 years ago

The Layer 3 router is working Great for me, except I donā€™t have any Serial interfaces. How can I use serial interfaces?

Thanks

Skuzzy
Skuzzy
5 years ago

The test run from cli works fine, but any node start from the eve-ng stops with this error: ‘Failed to start node 12’. Any idea? Thanks

Skuzzy
Skuzzy
5 years ago
Reply to  Skuzzy

The solution:
The license data have put into the /opt/unetlab/addons/iol/bin/iourc file, instead of ~/.iourc

C
C
5 years ago
Reply to  Skuzzy

Place the License in /opt/unetlab/addons/iol/bin/iourc not in ~/.iourc

C
C
5 years ago
Reply to  Skuzzy

Place the license in “/opt/unetlab/addons/iol/bin/iourc” not in “~/.iourc”.

Zaid
Zaid
5 years ago

I am following the exact same steps as explained here, however it always ends up with the following error:
ERROR: Unlicensed

not sure how to resolve this, kindly assist.

kenny
kenny
5 years ago

Hello, you can help me to license the EVE emulator, I have done all the steps of the page and the video, but I can not license it.

eve version:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION=”Ubuntu 16.04.6 LTS”
NAME=”Ubuntu”
VERSION=”16.04.6 LTS (Xenial Xerus)”
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME=”Ubuntu 16.04.6 LTS”
VERSION_ID=”16.04″

Message after running /opt/unetlab/wrappers/unl_wrapper -a fixpermissions

root@eve-ng:/opt/unetlab/addons/iol/bin# /opt/unetlab/wrappers/unl_wrapper -a fixpermissions

Jul 07 16:31:48 Jul 07 16:31:48 ERROR: Unlicensed
root@eve-ng:/opt/unetlab/addons/iol/bin#

Jeff
Jeff
5 years ago

Mine seems to connect but I just get black screen on putty window.

jj
jj
5 years ago

“Reading from stdin, ^C to abort ”

how long is this

Stevewithaph
Stevewithaph
5 years ago

The images are working. L2 works just fine but the L3 images will work for about 5 mins then say “Translating cisco.com” then pin the CPU. This basically locks up the whole VM. Doesnt matter the config, DNS…etc..

Stan
Stan
4 years ago
Reply to  Stevewithaph

Have you found a solution to this ?

Satish
Satish
5 years ago

root@eve-ng:/opt/unetlab/addons/iol/bin# more iourc
[license]
eve-ng = 8b89064895b9bf75;
root@eve-ng:/opt/unetlab/addons/iol/bin# LD_LIBRARY_PATH=/opt/unetlab/addons/iol/lib /opt/unetlab/addons/iol/bin/i86bi-linux-l2-adventerprisek9-15.1.bin 1
***************************************************************
IOS On Unix – Cisco Systems confidential, internal use only

IOU License Error: invalid license
License for key 9e0aad04 required on host “eve-ng”.
Obtain a license for this key and host from the following location:

http://wwwin-enged.cisco.com/ios/iou/license/index.html

Place in your iourc file as follows (see also the web page
for further details on iourc file format and location)

[license]
eve-ng = ;

Network_Monkey
Network_Monkey
5 years ago

Hi,

root@eve-ng:/opt/unetlab/addons/iol/bin# nano -c iourc
-bash: nano: command not found

this command didnt work for me.

could you please advise what to do?

thanks.

sunny sunny
sunny sunny
5 years ago
Reply to  networkt

Hello I am getting ERROR: Unlicensed….can you help?

CeyboardKowboy
CeyboardKowboy
5 years ago
Reply to  networkt

Works with no space, but looks like nano is not installed. I had to install nano also.
sudo apt-get install nano

Sunny
Sunny
5 years ago

Hi, can you help me with EVE-NG, with all images? I am OK to contribute

dimahoo
dimahoo
5 years ago

I got a error with the script :

root@eve-ng:/opt/unetlab/addons/iol/bin# python2 ciscoioukeygen.py
*********************************************************************
Cisco IOU License Generator – Kal 2011, python port of 2006 C version
Modified to work with python3 by c_d 2014
hostid=a8c01f64, hostname=eve-ng, ioukey=a8c021a6
Traceback (most recent call last):
File “ciscoioukeygen.py”, line 21, in
md5input=iouPad1 + iouPad2 + struct.pack(‘!i’, ioukey) + iouPad1
struct.error: ‘i’ format requires -2147483648 <= number <= 2147483647

Any idea ?

thank you.

sjcdmill
sjcdmill
5 years ago
Reply to  dimahoo

I believe the ‘!i’ in this script (in the formula for md5input) needs to be replaced with ‘!L’

ferkhaled
ferkhaled
5 years ago
Reply to  sjcdmill

Thanks it worked for me !!! even though I don’t have any explanation

Bala
Bala
5 years ago
Reply to  ferkhaled

yea, worked for me as well..tnx

AS SE
AS SE
5 years ago
Reply to  ferkhaled

It’s not correct :

root@Eve-NG:/opt/unetlab/addons/iol/bin# ./CiscoIOUKeygen.py
*********************************************************************
Cisco IOU License Generator – Kal 2011, python port of 2006 C version
Modified to work with python3 by c_d 2014
hostid=007f0101, hostname=Eve-NG, ioukey=7f02e3
Traceback (most recent call last):
File “./CiscoIOUKeygen.py”, line 21, in
md5input=iouPad1 + iouPad2 + struct.pack(‘iL’, ioukey) + iouPad1
struct.error: pack expected 2 items for packing (got 1)
root@Eve-NG:/opt/unetlab/addons/iol/bin#

ahmed
ahmed
5 years ago

Thanks a lot it worked fine for me

JuneBuggy
JuneBuggy
5 years ago

I’m getting “could not open iourc file” when changing LD_LIBRARY PATH… Permissions look fine. Scratching my head

Leerz
Leerz
5 years ago

Damn, my router is not correctly installed.

It keeps shutting down immediately

Leerz
Leerz
5 years ago
Reply to  networkt

Hi bro, it is working already!

I forgot to run the fixed permission.

Are you able to help to install also a virtual windows inside Eve-ng?

btw, you have a eve-ng with all image? drop me an email so we can discuss

Sunny
Sunny
5 years ago
Reply to  networkt

Can you help me as well?

OPEYEMI EMMANUEL AJIBUWA
OPEYEMI EMMANUEL AJIBUWA
5 years ago
Reply to  Leerz

Hi Leerz. Please I have same issue. How did you resolve it then. Kindly assist please.
It keeps shutting down the router after I have started it.

TV joseph
TV joseph
5 years ago

i am getting licence error, any idea what to be done ?

root@eve-ng:/opt/unetlab/addons/iol/bin# more iourc
[license]
eve-ng = 972f30267ef51616;
root@eve-ng:/opt/unetlab/addons/iol/bin# /opt/unetlab/wrappers/unl_wrapper -a fixpermissions
Feb 20 08:51:18 Feb 20 08:51:18 ERROR: Unlicensed
root@eve-ng:/opt/unetlab/addons/iol/bin#

Temjin
Temjin
5 years ago
Reply to  networkt

Hi,

I also facing the ERROR: unlicensed issue after follow the steps that you provided. Can you please assist me, Thank you so much.

Zaid
Zaid
5 years ago
Reply to  networkt

I have the exact same issue, I did the exact same steps, it gives me same results as explained here but ERROR: Unlicensed

Zaid
Zaid
5 years ago
Reply to  Zaid

I have the exact same issue, I did the exact same steps, it gives me same results as explained here

ERROR: Unlicensed

how can I fix this issue?

Gilson Santos
Gilson Santos
5 years ago
Reply to  Zaid

You are using EVE NG PRO without license, download the free one.

Haris
Haris
5 years ago
Reply to  TV joseph

I’m also getting license error, after running fix permissions command. /opt/unetlab/wrappers/unl_wrapper -a fixpermissions says ‘ERROR: Unlicensed’.
I ran python script multiple times and it creates same license every time. I’ve tried multiple ways like deleting all the images and create license first then copy images.
I’ve used images downloaded from the given link on this page, all failed and I’m not able to fix the permissions.
What to do, help me out.

Mlanello
Mlanello
5 years ago
Reply to  Haris

Hi Bro, were you able to fix the permission issue? I’m getting same “Error: Unlicensed” any idea how can i fix on my side? Thanks a lot

Ashish Dagar
Ashish Dagar
5 years ago

Thank you so much, it worked Awesome

Eduardo Antunes
5 years ago

L3 Switch is a router, this image don’t suport comands of L3 switch like interface vlan.

Arazasalih
Arazasalih
5 years ago

can you shear me the eve-ng that have all image file ….. that would me easy šŸ™‚

Stephan Swart
Stephan Swart
5 years ago

Hi

I seem to get an error with this script

——————
root@eve-pro:/opt/unetlab/addons/iol/bin# ls -l
total 240248
-rw-r–r– 1 root root 1057 Jan 14 22:38 IOUkeygen.py
-rwxr-xr-x 1 root root 73017484 Jan 14 22:28 L2-ADVENTERPRISE-M-15.1-20140814.bin
-rwxr-xr-x 1 root root 172982492 Jan 14 22:28 L3-ADVENTERPRISE9-15.5.2T.bin
drwxr-xr-x 2 root root 4096 Jan 14 22:35 other

root@eve-pro:/opt/unetlab/addons/iol/bin# python2 IOUkeygen.py
*********************************************************************
Cisco IOU License Generator – Kal 2011, python port of 2006 C version
Modified to work with python3 by c_d 2014
hostid=a8c0fe02, hostname=eve-pro, ioukey=a8c100c0
Traceback (most recent call last):
File “IOUkeygen.py”, line 21, in
md5input=iouPad1 + iouPad2 + struct.pack(‘!i’, ioukey) + iouPad1
struct.error: ‘i’ format requires -2147483648 <= number <= 2147483647
root@eve-pro:/opt/unetlab/addons/iol/bin#

Stephen A Davis
Stephen A Davis
5 years ago
Reply to  Stephan Swart

Stephan, I am having the same issue. The script will not generate a key. Did you end up fixing this?

Daniel Urbina
Daniel Urbina
5 years ago
Reply to  Stephan Swart

Short answer:
change the ‘!i’ for ‘!q’
i = integer
q = long long integer

modify the following line of the script:
md5input=iouPad1 + iouPad2 + struct.pack(‘!i’, ioukey) + iouPad1

use instead:
md5input=iouPad1 + iouPad2 + struct.pack(‘!q’, ioukey) + iouPad1

DaniNet
DaniNet
4 years ago
Reply to  Daniel Urbina

Hi the solution is that you have to change the next paragraph:

md5input=iouPad1 + iouPad2 + struct.pack(‘!i’, ioukey) + iouPad1

for this:

md5input=iouPad1 + iouPad2 + struct.pack(‘!L’, ioukey) + iouPad1

Simply put !L for !i

I hope this helps you

ramavtar rinwa
ramavtar rinwa
4 years ago
Reply to  Stephan Swart

replace this line ā€œā€ md5input=iouPad1 + iouPad2 + struct.pack(ā€˜!Lā€™, ioukey) + iouPad1 ā€œā€ in script
or replace i with L
script work fine

Bo
Bo
6 years ago

worked like a charm, txt šŸ™‚

0
Would love your thoughts, please comment.x
()
x