Ir para o conteúdo

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 .iourc com 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:

python3 /opt/unetlab/addons/iol/bin/IOUkeygen.py

Será exibida uma saída semelhante a:

[license]
pnetlab = 972f30267ef51616;

3. Criar o Arquivo de Licença

Copie o conteúdo da saída e cole no arquivo iourc:

nano /opt/unetlab/addons/iol/bin/iourc

Exemplo de conteúdo:

[license]
pnetlab = 972f30267ef51616;

Salve e feche o editor (CTRL + O, ENTER, CTRL + X).

4. Ajustar arquivo hosts

Adicione a seguinte entrada ao arquivo /etc/hosts:

echo '127.0.0.127 xml.cisco.com' >> /etc/hosts

tags: pnetlab, switch, iol, licenciamento, cisco