Vamos polemizar! EVE-NG ou PNETLab? Qual emulador é melhor?

Desde que comecei meus estudos de rede, no ano 2000, sou um aficionado por simuladores de rede. Naquela época, a melhor coisa que havia disponível para simular uma rede com roteadores e switches era o Boson Network Simulator – baseado em Flash, então. O Boson era um simulador desenhado para ajudar na preparação para o exame Cisco CCNA. Seus comandos eram pré-definidos na programação da ferramenta e, por isso, ele era bastante limitado. Interessantemente, descobri recentemente que o Boson Netsim existe até hoje… se ele é ou não bom, não sei pois nunca mais usei… mas imagino que tenha evoluído muito! Veio então o Dynamips e o Dynagen (ambos fonte de minha dissertação de mestrado). Revolucionaram ao permitir a emulação de algumas plataformas Cisco – como os roteadores 7200 e 3600. O Dynamips, aliás, é suportado até hoje dentro de plataformas como o EVE-NG, GNS-3 e PNETLab.

Desde a primeira vez que usei o EVE-NG, virei um fã incondicional. Abandonei o GNS-3 sem olhar para trás e mergulhei de cabeça na interface Web e facilidades trazidas pelo EVE. Mas nunca sequer pensei em pagar pela versão “Pro” da ferramenta. Sempre usei a versão “Free” do EVE, chamada de Community Edition.

Aliás, é importante ressaltar que o EVE é um “fork” do UNETLAB (apesar do pessoal do EVE não mencionar isso em lugar algum). Apenas na nota de Copyright – escondida no site do EVE, é possível ver uma menção ao criador do UNETLAB, Andrea Dainese (um cara super legal, com quem eu já troquei vários e-mails, no passado).

Voltando ao EVE, por que eu nunca assinei a versão PRO? Por alguns motivos… ei-los:

  • Não gosto da idéia de ficar refém de um vendor… se eu assinar o EVE PRO, criar meus labs nele e, amanhã, mudar de idéia (ou ficar incapacitado de renovar a assinatura), eu perco tudo.
  • O valor cobrado me parece um pouco elevado face as funcionalidades disponibilizadas se comparadas com a versão FREE.
  • Mesmo com um valor um tanto quanto elevado, o EVE-PRO tem um monte de restrições, que só começam a desaparecer se você pagar MAIS. Por exemplo, apenas duas contas de administrador podem ser criadas. Eu uso uma conta para cada lab que crio, assim, hoje tenho cerca de 10 contas que uso em paralelo. Para conseguir desbloquear esta limitação, eu teria que pagar um valor estratosférico. Então… não, obrigado.

O EVE-NG FREE (Community) é muito bom, e oferece muitas funcionalidades. Usei-o por anos (desde 2017, sendo que o primeiro post no blog sobre o tema foi em 2018). Porém… desde os updates de 2022, o pessoal do EVE resolveu restringir algumas funções na versão Community – notadamente o número máximo de 2 usuários admin (que antes era muito maior). Continuei usando a versão Community sem fazer os upgrades para não incorrer nas novas limitações, mas isso começou a me incomodar. Decidi, então, dar uma chance ao famigerado PNETLab.

Desde o aparecimento do PNETLab – um “fork” da versão FREE do EVE – o pessoal do EVE ficou de cabelos em pé. No início, faziam questão de postar em tudo o que é lugar que o PNETLab era uma versão “não-autorizada” e “roubada” do EVE. E deve ser – parcialmente – verdade. O PNETLab é sim uma cópia descarada do EVE. Só que… se olharmos um pouco para trás, veremos que o EVE também é uma cópia descarada do UNETLAB. E, para completar a confusão, eis a nota de copyright postada no site do EVE-NG:

O pessoal do PNETLab MANTEVE as notas de copyright em todos os arquivos originais (ver exemplo abaixo) – e, portanto, seguiu a licença que o próprio EVE publicou.

Enfim, não sou advogado nem tampouco stakeholder do EVE ou do PNETLab… eles que se entendam. Enquanto isso, vamos falar de… LABS!

Há pouco mais de 1 mês, resolvi – finalmente – testar o PNETLab. Instalei a ferramenta em uma VM dentro do meu servidor ESX, e comecei a migrar meus labs do EVE para ele – tarefa super simples, diga-se de passagem. No início, não esperava muito, mas o PNETLab não deixou a desejar… em termos de performance, chegou ao mesmo patamar do EVE. Não deveria ser surpresa, já que ambos são apenas um front-end para o hypervisor nativo do Linux, chamado de KVM (Kernel-based Virtual Machine). As vantagens do PNETLab, se comparado ao EVE Community, são enormes. O PNETLab oferece quase todas as funcionalidades do EVE-PRO, só que de graça. E as que ele ainda não oferece, serão disponibilizadas em breve, de acordo com os mantenedores. Mas o PNETLab vai além… eles criaram uma forma simples e elegante de compartilhamento público de laboratórios – o lab store (veja abaixo). Fica muito mais fácil para os que estão estudando…!

É verdade que tem muita coisa obscura no PNETLab. No início, por exemplo, era necessário criar uma conta no site deles para se ter acesso ao ambiente (mesmo que a ferramenta fosse instalada em seu servidor). O pessoal do EVE pegou pesado nisso… e o pessoal do PNETLab respondeu na sequência, com um release que oferecia o modo 100% offline – e que funciona perfeitamente bem. Eu monitoro as atividades IN e OUT do meu PNETLab desde a sua instalação, para ver se percebo algo suspeito. A única coisa que percebi é uma eventual chamada API usando a porta 80 desde o meu PNETLab server até o site deles (IP 103.124.94.157), para validação da licença (que não existe). Algo que o EVE – certamente – também faz. Nenhuma outra atividade IN ou OUT sem meu consentimento, desde a sua instalação.

Em termos de funcionalidades, a lista do EVE / EVE PRO pode ser vista aqui: https://www.eve-ng.net/index.php/features-compare/

E a do PNETLab, aqui: https://pnetlab.com/pages/main

Outra grande vantagem do PNETLab é que – diferentemente do EVE – ele é full open-source. Isso significa que é possível alterar o código-fonte, por exemplo, para moldá-lo às suas necessidades – ou apenas customizá-lo…! Isso não é possível no EVE, que utiliza uma técnica de PHP obfuscation.

Meu próximo passo vai ser instalar o PNETLab bare-metal (nativo) em um novo servidor que deve chegar dentro de 1 mês, e migrar todas as minhas VMs que hoje rodam em ESX (incluindo este blog) para o PNETLab. Ou seja, vou usar o PNETLab como o que ele é: Um excelente front-end para o Linux KVM. E, claro, vou manter o meu servidor atual, instalando nele o PNETLab bare-metal, também, mas com foco em labs e testes.

E por que sair do ESX? Por dois motivos:

  • A VMware anunciou o fim da licença FREE para o ESX e
  • Em termos de performance, KVM é ligeiramente superior ao ESX
  • KVM é free, e sempre será.

E por que não partir para um front-end KVM mais maduro, como o ProxMox? Simplesmente porque eu me sinto bastante confortável com o PNETLab… é possível realizar backups e snapshots diretamente da interface gráfica, por exemplo. Eu acho mais fácil (e mais rápido) restaurar um node no PNETLab (ou mesmo no EVE) do que no ESX. E, de quebra, você consegue ter uma visão real da topologia que está sendo adotada. O que se conecta com o que, etc.

Em termos de performance de rede, eis o resultado do acesso a um servidor speedtest criado em um container dentro do ambiente PNETLab – a conexão que tenho em casa é de 500 Mb/s. Lembrando que ainda estou rodando o PNETLab como uma VM em cima do ESX… 😊

Polêmicas à parte, espero que tenham gostado deste post… e aguardem, pois farei um vídeo sobre o tema… fiz algumas modificações interessantes no meu PNETLab – como a adição do QEMU v6.2.0 – que vale ser compartilhada!

Fiquem ligados!

Abraço

Marco

Deixe um comentário