EVE-NG: Prueba de Concepto

Mi maquina (Hardware)

  • CPU: I5-6200 (2 nucleos, 4 hilos) 2.80Ghz
  • iGPU: Intel HD Graphics 520 1Ghz
  • eGPU: Nvidia MX940
  • Ram: 20GB

Qemu VM HW

  • CPU: Passthrough (Rendimiento compartido con mi sistema)
  • GPU: Virtio w/o 3d Accel
  • Ram: 8GB
  • SSD: 17GB/50GB

Lista de Imagenes en la Maquina:

  • VyOS
  • Microtik RouterOS
  • Cisco IOL
    • i86bi-linux-l3-adventerprisek9-15.4.2T4.bin
    • i86bi_LinuxL2-AdvEnterprisek9-M_152_May_2018.bin
    • i86bi_LinuxL3-AdvEnterprisek9-M2_157_3_May_2018.bin
    • i86bi_Linux_l2-adventerprisek9-ms.SSA.high_iron_20190423.bin
    • x86_64_crb_linux-adventerprisek9-ms.bin (17.12)
    • x86_64_crb_linux_l2-adventerprisek9-ms.bin (17.12)
  • Cisco vIOS Router
    • vios-adventerprisek9-m.SPA.159-3.M6 (Slow)
  • Cisco vIOS Switch
    • viosl2-adventerprisek9-m.ssa.high_iron_20200929 (Slow)
  • Linux Alpine-3.18.4
  • Virtual PC (VPCS)

Uso de la Maquina

StandBy no use
- CPU: 1% I5-6200 2,4Ghz 2 Nucleos 4 Hilos
- Ram: 1GB

Booting 11 Cisco IOL and 4 Linux Alpine, no config
- CPU: 100%
- Ram: 3.6GB

Standby 11 Cisco IOL and 4 Linux Alpine, no config
- CPU: 30%
- Ram: 3.4GB

EVE-NG es un programa para virtualizar dispositivos de red
Tienen un Modelo de Licencia que permite un uso limitado gratis llamado community (El limite de nodos activos es de 63) y vienen 2 versiones de pago, PRO y License Centre, Comparacion entre versiones

Learning Center EVE1x Base License (includes 2x Administrator users)
10x Lab User licenses
Allows you to have 12 users connect and work with EVE at same time. 2 Administrators and 10 Lab Users.

El valor aproximado de la version Learning Center EVE cuesta $1.000.000 al año, un usuario es una instancia de uso en paralelo, por lo que permite 10 usuarios conectados a un laboratorio.

Requisitos del servidor

Nota: Requisitos del sistema o Calcular el Uso | Cookbook Hoja 10 (2.1.4 Dedicated Server BM system requirements)

  • OS: Ubuntu Focal Fossa 22.04.X LTS or VMware ESXi 6.7 minimum
  • CPU: Intel Xeon con Soporte Intel VT-X/EPT(Extended Page Tables) or AMD-V/RVI | Recommended: 2x Intel E5-2650v4
  • Storage: M.2 PCIe > SSD Sata > HDD Sata (2TB or more)
  • RAM: 128GB or more
  • Motherboard: Support virtualize IOMMU options (Optional)

Instalacion

Live USB

Requerimientos

Bare-Metal (Preferido)

Nota: Disponibilidad hasta Apr 2027 - ESM 2032 | Info version
Al instalar EVE-NG Community Usa automaticamente la version de Ubuntu 22.04.4 LTS (Jammy Jellyfish)
Instrucciones en Cookbook Hoja 24 (3.3 Bare Hardware (BM) server installation)

Phase 1: Instalacion de Ubuntu

Documentacion Eve-NG - First Boot

  1. Iniciar el LiveUSB
  2. Elegir "Bare Metal Option" y luego "install EVE NG Community 6.0.1-12"
  3. Selecciona el idioma Español
  4. Selecciona el teclado Layout y VariantSpanish (Latin America)
  5. Apreta "Continuar" este paso formateara los discos seleccionados
  6. Luego de instalar, la phase 2 iniciara automaticamente, NO INICIES SESION, el servidor se reiniciara automaticamente y saldra un menu diciendo, alli podras continuar
Eve-NG (default root password is 'eve')
Use http://{ip}

eve-ng login:
Default CLI Login Credentials
user: root
pass: eve
Default WEB Login Credentials | Cookbook Hoja 46 (3.7 Login to the EVE WEB GUI)
user: admin
pass: eve
Paso 2: Configuracion TUI Basica
- Nueva Contraseña: eve
- Hostname: eve-ng
- DNS Domain Name: example.com 
- IP/DHCP: DHCP
- NTP Server: empty
- Proxy Server: Direct Connection
Paso 3: Prueba de internet y Actualizar Paquetes Servidor | Cookbook Hoja 48 (4.2 EVE-NG Community Upgrade)
ping -c 2 google.cl
apt-get update && apt-get upgrade
apt autoremove
Paso 3.1: Reestablecer servicios
# Selecciona todos #
Paso 4: Instalar paquetes para el administrador
apt install micro btop kitty weston git tree
Paso 4.1: Instalar Fish Shell y Fastfetch
sudo apt-add-repository ppa:fish-shell/release-3
sudo add-apt-repository ppa:zhangsongcui3371/fastfetch
sudo apt update
sudo apt install fish fastfetch
Paso 4.2: Install Fisher
Nota: Solo funciona cuando dentro de fish
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
Paso 4.3: Instalar Plugins
fisher install IlanCosman/tide@v6
Configurar .config/weston.ini (GUI)
[keyboard]
keymap_layout=latam

Uso de la interfaz web en Cookbook Hoja 57 (6 EVE WEB GUI Managent)

Imagenes

Nota: Lista de Imagenes Soportadas
Se pueden descargar en Labhub
Una Guia muy completa aunque en ruso

VyOS

Enciende en 113 segundos
Documentacion EVE-NG y Official Site VyOS
Lee esto
Nota: Vyos tiene documentacion propia sobre Ejemplos de Configuracion, Guia Quick Start y mas

Paso 1: Crear Carpeta

mkdir /opt/unetlab/addons/qemu/vyos-{version}

Paso 2: Mover las imagenes a esa carpeta

rsync -Phvr vyos-{version}-amd.iso root@{ip-server}:/opt/unetlab/addons/qemu/vyos-{version}/cdrom.iso

Paso 3: Ir a la carpeta

cd /opt/unetlab/addons/qemu/vyos-{version}/

Paso 4: Crear disco Qcow2

/opt/qemu/bin/qemu-img create -f qcow2 virtioa.qcow2 10G

Paso 5: Agrega un nodo a EVE-NG e inicialo, cuando inicie, usa vyos/vyos

Paso 6: Instala vyos en el disco duro

install image

Paso 7: Responde las preguntas de instalacion

This command will install VyOS to your permanent storage.
Would you like to continue? [y/N]
  • y
What would you like to name this image? (Default: 1.5-rolling-202407171706)
  • Enter
Please enter a password for the "vyos" user:
  • vyos
Please confirm password for the "vyos" user:
  • vyos
What console should be used by default? (K: KVM, S: Serial)? (Default: S)
  • S
Probing disks
1 disk(s) found
The following disks were found:
Drive: /dev/vda (10.0 GB)
Which one should be used for installation? (Default: /dev/vda)
  • /dev/vda or Enter
Installation will delete all data on the drive. Continue? [y/N]
  • y
Would you like to use all the free space on the drive? [Y/n]
  • y
The following config files are available for boot:
    1: /opt/vyatta/etc/config/config.boot
    2: /opt/vyatta/etc/config.boot.default
Which file would you like as boot config? (Default: 1)
  • 2

Paso 8: Apaga el nodo

poweroff

Parte 2: Commit la imagen para el uso futuro

Paso 9: Ve a la terminal de EVE-NG y mueve a la carpeta de UUID y POD

  • user-POD: En la interfaz web, en la administracion de usuarios, aparece {user-POD}
  • UUID: En la interfaz web, en la seccion izquierda elige "Lab Details"
  • node-POD-ID: Se encuentra apretando el click derecho en el nodo del laboratorio
cd /opt/unetlab/tmp/{user-POD}/{UUID}/{node-POD-ID}

Ejemplo:

cd /opt/unetlab/tmp/0/3491e0a7-25f8-46e1-b697-ccb4fc4088a2/1/

Paso 10: Hace commit a la imagen

qemu-img commit virtioa.qcow2

Paso 11: Elimina la imagen cdrom.iso de la carpeta raiz

cd /opt/unetlab/addons/qemu/vyos-{version}
rm cdrom.iso

Paso 12: Arregla los permisos

/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

RouterOS

  • Credenciales por defecto
user: admin
no password

Documentacion Oficial
De descarga desde la pagina de Descarga en la seccion Cloud Hosted Router seleccionamos la version "Stable" mas nueva, y eliges el disco "RAW disk Image"

Paso 0: Crear carpeta en el servidor donde "version" sea la version descargada

mkdir -p /opt/unetlab/addons/qemu/mikrotik-{version}

Paso 1: Enviar al servidor desde tu pc

rsync -Phvr chr-{version}.img root@{ip-server}:/opt/unetlab/addons/qemu/mikrotik-{version}/

Paso 2: Mover el archivo

mv chr-{version}.img /opt/unetlab/addons/qemu/mikrotik-{version}/hda.qcow2

Paso 3: Arreglar Permisos

/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

Cisco IOL

Esto reemplazaria el funcionamiento de IOU WEB, Documentacion EVE-NG
Nota: Las nuevas imagenes deben ser renombradas y traer extension .bin
Nota2: Versiones viejas posiblemente no funcionen, Evita usar L3 15.5.2T debido a congelamientos en standby

Tabla IOL Imagen Recomendada

Staus Type EVE Image Name Version NVRAM RAM
Listo L2/L3 Switch i86bi_linux_l2-adventerprisek9-ms.
SSA.high_iron_20190423.bin
Cisco IOS Software, Linux Software
(I86BI_LINUXL2-ADVENTERPRISEK9-M),
Version 15.2(CML_NIGHTLY_20190423)
1024 1024
Listo L2/L3 Switch i86bi_LinuxL2-AdvEnterpriseK9-M
_152_May_2018.bin
Cisco IOS Software, Linux Software (I86BI_LINUXL2-
ADVENTERPRISEK9-M), Version 15.2(CML_NIG
HTLY_20180510)FLO_DSGS7
1024 1024
Listo L3 Router i86bi_LinuxL3-AdvEnterpriseK9-
M2_157_3_May_2018.bin
Cisco IOS Software, Linux Software (I86BI_LINUX-
ADVENTERPRISEK9-M), Version 15.7(3)M2,
Compiled Wed 28-Mar-18 11:18 by prod_rel_team
1024 1024
Listo L3 Router L3-ADVENTERPRISEK9
-M-15.4-2T.bin
Cisco IOS Software, Linux Software (I86BI_LINUX-
ADVENTERPRISEK9-M), Version 15.4(2)T4,
Compiled Thu 08-Oct-15 21:21 by prod_rel_team
1024 1024
Listo L3 XE Router x86_64_crb_linux-adventerprisek9
-ms.bin
IOL XE Router Cisco IOS Software [Dublin], Linux
Software (X86_64BI_LINUX-ADVENTERPRISEK9-M),
Version 17.12.1, RELEASE SOFTWARE (fc5)
1024 1024
Listo L2/L3 XE Switch x86_64_crb_linux_l2-adventerprisek9
-ms.bin
IOL XE Switch Cisco IOS Software [Dublin], Linux
Software (X86_64BI_LINUX_L2-ADVENTERPRISEK9-M), Version 17.12.1, RELEASE SOFTWARE (fc5)
1024 1024

IOURC

Nota: Este archivo es diferente segun hostname y domain-name del servidor
Usar script.py para parchear como se ve aqui

cd /opt/unetlab/addons/iol/bin/
python2 script.py

El output del script copialo dentro de /opt/unetlab/addons/iol/bin/iourc

[license]
eve-ng = 972f30267ef51616;

BIN

Nota: Los archivos necesitan terminar en .bin o no funcionaran

Paso 0: Crear Carpeta
Nota: Usualmente ya estan creadas

mkdir /opt/unetlab/addons/iol/bin /opt/unetlab/addons/iol/lib

Paso 1: Haz que las imagenes sean ejecutables

chmod 755 bin/*.bin

Paso 2: Copia las imagenes desde tu pc al servidor

rsync -Phvr bin/*.bin root@{ip-server}:/opt/unetlab/addons/iol/bin

Paso 3: Arregla los permisos

/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

Probar las imagenes

Paso 1: Mover a la carpeta con los .bin

cd /opt/unetlab/addons/iol/bin

Paso 2: Crea un NETMAP

touch NETMAP

Paso 3: Ejecuta la imagen donde {iosname.bin} sea la imagen a probar

LD_LIBRARY_PATH=/opt/unetlab/addons/iol/lib /opt/unetlab/addons/iol/bin/{iosname.bin} 1

Parchear .bin

Una licencia no valida lanza el siguiente mensaje

IOS On Unix - Cisco Systems confidential, internal use only
IOU License Error: invalid license
License for key 7f0343 required on host "eve-ng".
Obtain a license for this key and host from the following location:
http://wwwin-enged.cisco.com/ios/iou/license/index.html
Place in your iourc file as follows (see also the web page
for further details on iourc file format and location)

Cisco vIOS (EX-VIRL)

Funciona Lento
Imporante: Las imagenes de Qemu segun EVE-ng se nombran de forma especial
Documentacion EVE-ng

Paso 1: Crea carpeta (L3 = vios- | L2 = viosl2-)

mkdir /opt/unetlab/addons/qemu/vios-{version}

Paso 2: Envia las imagenes a la carpeta correspondiente

rsync -Phvr vios-{version}.qcow2 root@{ip-server}:/opt/unetlab/addons/qemu/vios-{version}/

Paso 3: Cambia el nombre

mv vios-{version}.qcow2 virtioa.qcow2

Paso 4: Arregla los permisos

/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

ExtremeOS VOSS

Documentacion Eve-NG

Paso 1: Descarga la Imagen Oficial aqui, Credenciales rwa/rwa

Paso 2: Crea la Carpeta

mkdir /opt/unetlab/addons/qemu/extremevoss-8.10.1

Paso 3: Ve a la carpeta

cd /opt/unetlab/addons/qemu/extremevoss-8.10.1

Paso 4: Envia la imagen al servidor

rsync -Phvr VOSSGNS3.{version}.qcow2 root@{ip-server}:/opt/unetlab/addons/qemu/extremevoss-8.10.1/

Paso 5: Renombra la imagen

mv VOSSGNS3.{version}.qcow2 hda.qcow2

Paso 6: Arregla los permisos

/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

ExtremeOS EXOS

Documentacion Eve-NG y Documentacion Switch Engine

Paso 1: Descarga la imagen oficial desde aqui, Credenciales admin/no password

Paso 2: Crea la carpeta

mkdir /opt/unetlab/addons/qemu/extremexos-32.6.3

Paso 3: Envia la Imagen

rsync -Phvr EXOS-VM_{version}.qcow2 root@{ip-server}:/opt/unetlab/addons/qemu/extremexos-32.6.3

Paso 4: Cambia el nombre

mv EXOS-VM_{version}.qcow2 hda.qcow2

Paso 5: Arregla los Permisos

/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

Linux Ready Images

Documentacion Oficial EVE-NG y Videotutorial

  • Credenciales Generales
root/root
root/eve
user/Test123
root/Test123
root/toor #For Kali

Credenciales de Alpine

root/eve

Paso 1: Descarga la imagen preferida del link de Mega

Paso 2: Descomprime el archivo

tar xvzf linux-alpine-3.18.4.tar.gz
rm -f linux-alpine-3.18.4.tar.gz

Paso 3: Enviar el archivo descargado al servidor

rsync -Phvr linux-alpine-{version} root@{ip-server}:/opt/unetlab/addons/qemu/

Comprimir imagenes

Si funciona la version comprimida, puedes borrar el original

Paso 1: Ir a la carpeta

cd /opt/unetlab/addons/qemu/{linux}

Paso 2: Comprime virt-sparsify

virt-sparsify --compress virtioa.qcow2 cvirtioa.qcow2

Paso 3: Reescribe el archivo

mv cvirtioa.qcow2 virtioa.qcow2

SD-WAN en EVE-NG

Estos nodos son muy pesados, cada uno necesita 100GB de espacio y 32 GB de ram
Documentacion
Descargar Imagenes o Aqui
Guia - Video

Paso 1: Crear carpetas

mkdir /opt/unetlab/addons/qemu/vtbond-{version}

Paso 2: Envia las imagenes

rsync -Phvr viptela-{model}-{version}.qcow2 root@{ip-server}:/opt/unetlab/addons/qemu/vtbond-{version}

Paso 3: Corrige el nombre

mv viptela-{model}-{version}.qcow2 virtioa.qcow2

Conecta Topologia al mundo real

Se crea un object de network con el tipo Management(Cloud) esta nube permite que un dispositivo acceda a internet a travez de la conexion al router fisico como gateway
aqui hay mas info

Instalacion cliente

Para usar la Consola Nativa clientless, se debe instalar el paquete el cual esta disponible para Windows, MacOS y Linux

Extra: En caso de problemas en Windows con putty, aqui un .reg mas completo

Importar Configuraciones

Necesita tener las mismas imagenes de L2 y L3 que los laboratorios que quiere importar

Laboratorios de ejemplo

Nota: Los labs de EVE-NG PRO no son compatibles con EVE-NG Community

CCIE Practice Cisco

CCIE

Devices Type Version
cEdges, pe11, pe12, pe21, pe22, r1, r2 Catalyst 8000v IOS-XE 17.9.x
All other routers vIOL IOS 15.8(3)
Catalyst Center Cisco 2.3.x
Hosts Debian N/A
Identity Services Engine (ISE) Cisco 3.1.x
sw11, sw21, sw22, sw23 Catalyst C9324T IOS-XE 17.9.x
All other switches vIOS-L2 IOS 15.2, build 20200924:215240
vManage, vSmart, vBond Viptela Viptela 20.9.x

Exportar Configuraciones

Se guarda en la nand y de alli se exporta

Extra - Aprender

Licencia Eve-NG

EVE-NG Copyrights License

Copyright (c) 2016, Andrea Dainese  
Copyright (c) 2017-2023 Alain Degreffe  
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  
* Neither the name of the UNetLab Ltd nor the name of EVE-NG Ltd nor the  names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.