Created
May 17, 2015 20:45
-
-
Save paalfe/8edd82f780c650ae2b4a to your computer and use it in GitHub Desktop.
Cisco IOU License Generator. Originally found at http://www.routingloops.co.uk/cisco/gns3-v1-1-install-on-ubuntu-14-04-lts/, I have done a few changes to it. Make the file executable with " chmod +x CiscoKeyGen.py " and execute it " ./CiscoKeyGen.py ".
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /usr/bin/python | |
print "\n*********************************************************************" | |
print "Cisco IOU License Generator - Kal 2011, python port of 2006 C version" | |
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='\x4B\x58\x21\x81\x56\x7B\x0D\xF3\x21\x43\x9B\x7E\xAC\x1D\xE6\x8A' | |
iouPad2='\x80' + 39*'\0' | |
md5input=iouPad1 + iouPad2 + struct.pack('!L', ioukey) + iouPad1 | |
iouLicense=hashlib.md5(md5input).hexdigest()[:16] | |
# add license info to $HOME/.iourc | |
print "\n*********************************************************************" | |
print "Create the license file $HOME/.iourc with this command:" | |
print " echo -e '[license]\\n" + hostname + " = " + iouLicense + ";'" + " | tee $HOME/.iourc " | |
print "\nThe command adds the following text to $HOME/.iourc:" | |
print "[license]\n" + hostname + " = " + iouLicense + ";" | |
# disable phone home feature | |
print "\n*********************************************************************" | |
print "Disable the phone home feature with this command:" | |
print " grep -q -F '127.0.0.1 xml.cisco.com' /etc/hosts || echo '127.0.0.1 xml.cisco.com' | sudo tee -a /etc/hosts" | |
print "\nThe command adds the following text to /etc/hosts:" | |
print "127.0.0.1 xml.cisco.com" | |
print "\n*********************************************************************" |
Many thanks for your help.
I'm curious:
Is VMware installation mandatory (even for users whose host/main OS is a Linux Distro)?
Can't we configure our Linux distro in such a way so that both GNS3 and iourc license it uses, work together?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
To make this work do the following on the VM you are running IOU/IOL on.
I use nano - so be sure you have that installed with the following command:
apt-get install nano
Next Move to the directory you are running IOU from:
In EVE-NG it is this --> cd /opt/unetlab/addons/iol/bin
Create the python script:
nano key.py
<Paste the above script in to this file, if using putty just right click to paste.>
press Ctrl-O to save
press Ctrl-X to exit
now run the script:
python2 key.py
you will get some output.
now create your license file:
nano iourc
Paste the two lines in there for the license file, the first line is [license]
press Ctrl-O to save
press Ctrl-X to exit
You may also need to make the iourc file executable:
chmod +x iourc
now paste the line starting with grep in the console.
That should be it and the IOL should start now.