Artigos e tutoriais
   EVE - Unified Net Labs
Autor: Patrick Brandão, patrickbrandao@gmail.com
Cópia autorizada somente quando preservar a referência ao autor.


Fontes:
Sobre o Unified Net Labs - UNL / EVE

O UNL começou com o site onde autor tinha como proposito construir uma plataforma de treinamento e simulação de rede. Hoje, o site tem como objetivo representar um time de programadores que trabalham nesse projeto, o software UNL se tornou EVE (Emulated Virtual Environment).

O software UNL/EVE pode ser instalado via apt-get.

Comandos para instalar usando APT-GET (somente no Ubuntu 14.04 x64):
apt-get update
apt-get -y install unetlab

Usando imagem ISO ou OVA do EVE você precisará baixar a imagem do site.

Se você escolher o arquivo ISO, será preciso criar uma máquina virtual (ou instalar direto no hardware, modo Baremetal) e instalar o Ubuntu do inicio ao fim.
Se você escolher o arquivo OVA, o Linux já estará instalado bastando a você apenas usar.

Acesse http://www.unetlab.com/ e use o link DOWNLOAD no topo da página.
Arquivo que baixei:
EVE-20161126.iso: para instalar Ubuntu e em seguida o EVE automaticamente.
EVE-ALFA.ova: pronto para usar.

Instalando

Importe o template OVA (arquivo que você baixou do site) usando seu hipervisor favorito. Eu uso MacOS e gosto mais do VMWare Fusion, você pode usar no VirtualPC, VMWare ESXI ou em servidor dedicado (modo Baremetal).

É preciso que a máquina virtual do EVE tenha acesso aos recursos de virtualização (Hypervisor Applications, Intel VT-X/EPT, Code profiling) para que máquinas virtuais dentro do EVE tenham acesso a recursos KVM.



Inicie a máquina virtual


Imagem durante o boot:


Primeiro login:


Como dito, o login e senha são:

root

unl



Após logar pela primeira vez será exigido que você configure a conexão com a Internet.

Alterar senha de root:


Definir nome do servidor:


Definir nome do domínio:


No meu caso, vou colocar IP fixo:


Endereço IP:


Máscara de subrede:


Gateway padrão:


Servidor DNS preferencial:


Servidor DNS alternativo:


Servidor NTP, é importante manter a data/hora sempre correta:


Confirme método de acesso a internet via HTTP:


Após concluir o assistente de configuração o servidor EVE irá reiniciar automáticamente.

Caso deseja alterar a configuração de rede no futuro edite o arquivo:

/etc/network/interfaces




Atualizando o Ubuntu


Embora seja considerado "ready-to-fly", os desenvolvedores recomendam que você atualize o sistema após concluir a instalação.
Procedimentos:

1 - Logue-se no Linux EVE como root
2 - Garanta que a Internet funciona (ping 8.8.8.8, ping google.com)
3 - Execute: apt-get update
4 - Execute: apt-get -y upgrade



Iniciando esquema de rede

Nessa parte muita gente se perde portante vou desenha e explicar a fundo.

O EVE permite que você desenhe o diagrama de rede lógico com muita simplicidade e justamente por isso muita gente tem dificuldade de fazer comunicação do mundo real com os roteadores no ambiente virtual. Entender como esse mapeamento é feito é fundamental para o futuro sucesso.

Veja um exemplo de como ele simplifica o desenho de rede:



A EVE cria automáticamente 10 interfaces bridge, como você pode constatar no /etc/network/interfaces.

Cada interface BRIDGE por padrão inclui uma interface física a qual seu servidor EVE se conectará
a rede real (internet, rede local).

Se você deu a EVE apenas 1 interface de rede ela será mapeada a bridge pnet0.
Se como eu você deu a ela 2 interfaces de rede, ela mapeará a eth0 à bridge pnet0 e a eth1 à bridge pnet1.



Cada bridge (pnetX) será um barramento (domínio de broadcast) dentro do ambiente virtual.



Observe acima o diagrama do meu ambiente.

Eu criei uma máquina virtual (VM-EVE) que possui 2 interfaces de rede (eth0 e eth1).

A eth0 foi mapeada a minha VMnet1 que no VMWare Fusion está configurada para "automatic" (interface en0 é a interface gigabit do iMac).
A eth1 foi mapeada na VMnet2 que é uma interface virtual (barramento virtual) que o VMWare criou sem conexão física com o mundo real.

Observe também que eu criei uma segunda máquina virtual VyOS com sua eth0 conectada a VMnet2.

Agora, simulando como ficaria a conectividade de um roteador virtual no ambiente EVE se comunicando com o VyOS e com um roteador do mundo real.



O diagrama lógico fica assim:



Criando diagrama virtual


No exemplo anterior eu ensinei como funciona a conectividade entre real, virtual e virtual dentro do virtual.
Agora vamos criar um diagrama bem conhecido e ver como ele fica mapeado dentro do EVE.



O primeiro passo é atribuir uma PNET para cada barramento (link, enlace, domínio de broadcast).





Parece complicado mas não é. Fiz os desenhos para exemplificar como funciona o mapeamento.

Acessando o sistema WEB

Vamos a parte divertida: acessar o sistema WEB de simulação de rede.

Você precisará acessar pelo navegador o endereço IP que foi colocado no EVE (interface pnet0 por padrão).
Caso não se lembre, pelo terminar do Linux execute:
ip addr show dev pnet0
ip route get 8.8.8.8

Como na instalação do meu ambiente eu atribui o IP 172.20.0.201, vou acessá-lo por esse endereço:




Primeiro acesso - administrador (admin)


Na página de LOGIN, utilize o seguinte usuário e senha:
Usuário: admin
Senha: unl

Página de acesso principal:



No EVE, cada usuário é considerado um "aluno", o usuário "admin" tem poderes de administrado e precisa ter a senha alterada.


Clique no menu Management e User management para abrir a lista de usuários.


Altere a senha de "admin"




Criando novos usuários


Existem 3 tipos de usuários dentro do EVE:
  • Administrador: poderes absolutos sobre o sistema;
  • Editor: capaz de criar laboratórios e executa-los;
  • User: aluno capaz de executar laboratórios;


Clique no botão Add user:



Abrirá o formulário para criar um novo usuário, vamos criar um aluno de exemplo:



Campos do formulário explicados:

  • Username: nome do usuário para logar no sistema;
  • Password e Password Conffirmation: senha do aluno;
  • Name: nome completo;
  • Email: e-mail para contato;
  • Role: nivel de acesso, escolha entre Administrator, Editor e User;
  • Expiration: opcional, se preenchido determinará até qual data o login poderá usar o sistema;
  • POD: (falta explicar);
  • Expiration: (falta explicar);



Adicionando imagens de sistemas operacionais

Um detalhe que vale informar é que o EVE não vem com nenhuma imagem instalada, ou seja, você não pode criar nenhum ambiente de simulação simplesmente por que não tem software pra rodar virtualizado dentro dele.

Observação: IMAGEM não é uma foto, é um disco rígido virtual (VHD) contendo um sistema ou pacote de arquivos binários de um sistema operacional que será executado dentro do ambiente virtual associado a um hardware virtual.

Links para repositórios de imagens:
Este link contem a lista de todas as imagens suportadas: http://www.unetlab.com/documentation/supported-images/

Uma forma simples de obter qualquer imagem é usando o GOOGLE.
Digite na busca o nome da imagem seguido da sequencia: intitle:index of

Exemplo, vamos procurar pela imagem c7200-adventerprisek9-mz.152-4.S6:



Adicionando imagens: Mikrotik RouterOS

Embora você deva baixar as imagens do Mikrotik RouterOS do site oficial: http://www.mikrotik.com/download
elas podem ser encontradas no Google assim: chr-6.33.6.img.zip intitle:index of
Use esse método caso alguma imagem pretendida tenha sido removida do site oficial.

Para adicionar uma imagem do RouterOS no EVE você deve baixar a versão Cloud Hosted Router.

Fomato da URL no site oficial: http://download2.mikrotik.com/routeros/6.37.4/chr-6.37.4.vmdk
Para baixar uma versão diferente, altere o número da versão na URL nas duas ocorrências.

Observação: Nos comandos que aparecem com o fundo preto abaixo, as linhas que começam com # devem ser digitas porem sem o caracter #. Esse caracter tem apenas o objetivo de informar que o comando deve ser executado pelo root (usuário privilegiado). As linhas que não iniciam com # não devem ser executadas pois elas são demonstração do que provavelmente aparecerá na sua tela após executar o comando.

Método 1 - Manualmente
  • 1 - Entre no terminal Linux da maquina EVE (via SSH ou pelo Terminal)
  • 2 - Siga os procedimentos dos comandos abaixo (copie e cole para evitar erros de digitação):
    # cd /tmp/
    # ver=6.34.1
    # wget http://download2.mikrotik.com/routeros/$ver/chr-$ver.vmdk
    # /opt/qemu/bin/qemu-img convert -f vmdk -O qcow2 chr-$ver.vmdk hda.qcow2
    # mkdir -p /opt/unetlab/addons/qemu/mikrotik-$ver
    # mv hda.qcow2 /opt/unetlab/addons/qemu/mikrotik-$ver/
    # /opt/unetlab/wrappers/unl_wrapper -a fixpermissions
    
  • 3 - Para instalar versões diferentes da referida acima, apenas re-execute os comandos mudando o número da versão na segunda linha.

Método 2 - Script automatizador

Eu criei um script capaz de adicionar imagens CHR no EVE automaticamente.
Para instalar o script siga os seguintes procedimentos:
  • 1 - Baixe e instale o script:
    # url=https://raw.githubusercontent.com/patrickbrandao/eveunl/master/scripts/mikrotik-add.sh
    # cmd=/usr/bin/mikrotik-add
    # wget --no-check-certificate $url -O $cmd
    # chmod +x $cmd
    
  • Agora que o comando mikrotik-add faz parte do sistema, execute:
    # mikrotik-add 6.34
    
  • 3 - Para instalar todas as versões conhecidas pelo script (requer 1.2 Gigas de disco), execute:
    # mikrotik-add all
    


Criando laboratórios para simulação de rede

Primeiro vamos nos organizar. Na tela inicial (menu MAIN) Tem um campo de texto com o botão Add folder, use-o para criar uma nova pasta



Crie uma pasta chamada LabsCisco onde criaremos laboratórios puramente Cisco para exemplificar.
Crie tambem uma pasta chamada LabsMikrotik para esse nefasto propósito.



Os diretórios criados aparecerão na lista.
Clique na pasta LabsMikrotik



Agora que você entrou no diretório onde o laboratório será criado, clique no segundo botão ADD NEW LAB.




Preencha os dados descritivos do laboratório e clique em SAVE.



Assim como os diretórios dentro do EVE/UNL, os laboratórios são selecionados com um clique, assim você pode usar o botão ACTIONS para remove-lo.
As opções para abrir o laboratório ou edita-lo irão aparecer a direita quando você selecionar o arquivo do lab.




Clique em OPEN para abrir o lab.



Clique no menu lateral na primeira opção: Add a object e em seguida em Add a new object.



Ao clicar, um ICONE de de roteador ficará anexado ao mouse para você escolher a posição do nó no palco.

Ao clicar no palco para colar o nó, um formulário para configurar a instância virtualizadora do novo equipamento.



Crie dois roteadores: RoteadorA1 e RoteadorA2.



Clique na barra de ferramentas na segunda opção: Conect node.



Clique no RoteadorA1 e seleciona a interface e0 (que significa ether1 dentro do RouterOS).



Uma linha seguirá seu mouse, clique no RoteadorA2.



Ao clicar no RoteadorA2 será listado as interfaces, seleciona e0 (ether1).



Os roteadores agora estão conectados.



Clique no RoteadorA1 para exibir o menu de controle. Clique na opção Start



Roteadores ligados ficam com o icone AZUL.



















CONTATO