How To Add Cisco IOU/IOL To Eve-ng

Cisco IOU/IOL images are L2/L3 images of Switches and routers which helps you to practice for L3 devices with same features and functions which original devices has. Cisco IOU/IOL images were released for Architecture and testing purposes but today Cisco IOU/IOL images are used for CCIE routig and switching practice for CCIE routing and switching.

Eve-ng is one of the best emulator to Practice with Cisco IOU/IOL images, where you can imports the image  in eve-ng and access it via GUI. You can setup your own lab and practice as much as you want.
To install Eve-ng on you desktop check below Post-
How to install Eve-ng on Vmware.

We will explain you step by step process – how to add IOU/IOL images in Eve-ng and how to license them.

Content
1 You can check how to install Eve-ng in windows
2 Download Cisco IOU/IOL Images.
3 Uploading Cisco IOU/IOL images to Eve-ng.
4 How to generate license for Cisco IOU/IOL images.
5 Testing Cisco IOU/IOL images.

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

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

 

1. SUPPORTED IOU/IOL IMAGES

Basically Eve-ng support all the Cisco IOU/IOL images but below are recommended one.

Type EVE Image Name Version vRAM
L2 L2-ADVENTERPRISEK9-M-15.1-20130726.bin I86BI_LINUXL2-ADVENTERPRISEK9-M 15.1(20130726:213425) 192
L3 L3-ADVENTERPRISEK9_IVS-M-15.3-0.9T.bin I86BI_LINUX-ADVENTERPRISEK9_IVS-M 15.3(0.9)T 128

2. Download Cisco IOU/IOL Images Eve-ng

Images provided below are strictly for education purpose and are not hosted on networkhunt.com server. We are just indexing the links fond on internet for education purpose only.

You can download Cisco IOU/IOL images from below links.
1. Download Cisco IOU/IOL Images.

3. 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 following command to fix permissions:

/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

3. License for Cisco IOU/IOL images.

#! /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")

Copy above text and create a text file and save as with name IOUkeygen.py
After creating license python script, upload it to Eve-ng directory –/opt/unetlab/addons/iol/bin/

After uploading the script go the directory by using below command-
cd /opt/unetlab/addons/iol/bin/

Check the directory content by below command-
ls -l

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

Now run the python script by using below command-
python2 IOUkeygen.py

it will give you some like below output

root@eve-ng:/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=007f0101, hostname=eve-ng, ioukey=7f0343

Add the following text to ~/.iourc:
[license]
eve-ng = 972f30267ef51616;

Now, we will create license for IOU/IOL images

nano - c iourc

paste the license and press ctrl+x to save

[license]
eve-ng = 972f30267ef51616;

We have successfully added the Cisco IOU/IOL images to eve-ng with license.

5. Testing Cisco IOU/IOL images in Eve-ng

how to add cisco iou iol images 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

60 thoughts on “How To Add Cisco IOU/IOL To Eve-ng”

  1. 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#

    Reply
    • 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

      Reply
  2. 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#

    Reply
    • you have to create separate license for IOU.
      follow the post and generate another license with pyhotn keygen
      let me know if it works? else we can fix on skype.

      Reply
      • Hi,

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

        Reply
    • 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.

      Reply
      • 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

        Reply
  3. 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.

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

      Reply
        • 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#

          Reply
  4. 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.

    Reply
  5. 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 = ;

    Reply
  6. 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..

    Reply
  7. 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#

    Reply
  8. 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.

    Reply
  9. 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

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

    Thanks

    Reply
  11. 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 ???

    Reply
  12. The steps worked great for me. However the L3 image with 128Kb of RAM doesn’t boot. With 1024Kb is works fine. Is there a lower sweet spot?

    Reply
  13. Hello, I’m experiencing some issue with my L2 image. It doesn’t work right I mean, by default switch should connect all devices without prior config since all ports are on vlan1 given that you have a proper addressing however, my devices connected to the switch with proper addressing can’t ping each other. May I ask for your help please.

    Reply

Leave a Reply

%d bloggers like this: