Licenciar Imagens de Switches
Introdução
As imagens de switches Cisco utilizadas no PNETLab, conhecidas como IOL (IOS on Linux), exigem um arquivo de licenciamento para funcionar corretamente. Sem esse arquivo, os dispositivos não permanecem ligados na topologia. Este procedimento tem como objetivo gerar a chave de licença e configurar o ambiente para suportar a execução das imagens.
Visão Geral
O licenciamento das imagens IOL consiste em:
- Gerar uma chave de ativação com base no nome do host.
- Criar o arquivo
.iourccom os dados da licença. - Evitar conexões externas ao servidor de ativação da Cisco.
Cenário e Pré-requisitos
- PNETLab devidamente instalado e operacional.
- Acesso ao servidor Ubuntu via SSH como
root. - Python 3 instalado no sistema.
Procedimento
1. Criar o Script de Geração de Licença
Execute o comando abaixo para criar o arquivo IOUkeygen.py:
cat << "EOF" > /opt/unetlab/addons/iol/bin/IOUkeygen.py
#! /usr/bin/python
import os
import socket
import hashlib
import struct
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:])
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")
EOF
2. Gerar a Chave de Licença
Execute o script recém-criado:
Será exibida uma saída semelhante a:
3. Criar o Arquivo de Licença
Copie o conteúdo da saída e cole no arquivo iourc:
Exemplo de conteúdo:
Salve e feche o editor (CTRL + O, ENTER, CTRL + X).
4. Ajustar arquivo hosts
Adicione a seguinte entrada ao arquivo /etc/hosts:
tags: pnetlab, switch, iol, licenciamento, cisco