Como ya les comenté en una entrada anterior, Eve-NG es un poderoso emulador de redes, un poco engorroso de sintonizar, pero muy útil. En ésta ocasión voy a contarles un poco más y a describirles cómo instalarlo paso a paso de la manera en que yo lo he hecho. Disfrútenlo!
Todas las entradas de la serie: [Introducción a Eve-NG] [Instalación] [Puesta a punto]
Introducción
Si no ha leído la entrada anterior, lo invito a que se gaste unos minutos en ello: algunos términos allí mencionados no los voy a describir de nuevo acá 😉 Existen dos versiones de Eve-NG: Professional y Community, yo siempre he trabajado con la última versión que, como pueden sospechar, no es licenciada y es gratuita. Según la página oficial, la versión licenciada tiene características interesantes como conexión de enlaces en caliente (en el otro se deben conectar los enlaces antes de encender los nodos), soporte de Docker, Control de tiempo para los labs, administración web del servidor, entre otras. Algunas características me parecen muy interesantes en mi rol de usuario avanzado, pero la mayoría van dirigidas al uso de Eve en entornos de laboratorios intensivos como entidades educativas o centros de entrenamiento. Me encantaría conocerla de primera mano, pero no veo la posibilidad en el corto plazo. Una idea que parece ser evidente es que los desarrolladores se han centrado en la versión Licenciada, porque dicen que la estructura es completamente diferente y tienen todo un roadmap para el desarrollo, cosa que no mencionan para la versión gratuita.
En ésta publicación voy a contextualizar bien lo que se recomienda para la instalación y luego procederé a describir los pasos de la misma. Por favor tómese el tiempo de leer con calma todo el texto.
Versión Community
De la versión Community hay dos imágenes para descargar: una ISO y una OVA, la 1a es para ser ejecutada desde un disco compacto y ser instalada directamente sobre una máquina real (bare metal). La segunda es el formato de VM (Virtual Machine o máquina virtual) de VMWare, el más popular software comercial de virtualización. Yo opté por descargar VMware player, la versión gratuita de VMWare y jugar con las imágenes, que supongo que es igual de fácil para cualquier lector.
Los primeros minutos del siguiente video, originalmente para ilustrar la instalación de GNS3, muestran la instalación de VMWare (no tiene audio y es en tiempo real), para quienes no tengan experiencia. La instalación de VMWare no tiene nada de especial, pero tal vez quieran mirarlo:
Antes de continuar quiero hacer un paréntesis para invitar a la comunidad de lectores a participar y proponer, por ejemplo, si alguien tiene acceso a una versión licenciada, me encantaría conocerla para poder escribir luego sobre las diferencias. De otro lado, si alguien tiene disponibilidad de una máquina real, yo también estaría dispuesto a gastar algunas horas instalandolo a ver qué tal queda (tendría que ser una buena máquina -por lo menos Core i7 y 8G de RAM-, preferiblemente PC o Server, no laptop y menos de marca), recuerden: actualmente vivo en el centro de Ciudad de México. La licencia Pro para 10 usuarios vale US 4000 aprox. y requiere tener lista la instancia, es decir todo instalado y con los parámetros máximos a ser usados por tal licencia.
Recomendaciones de instalación
Después del paréntesis, continuando con las imágenes Community, la OVA se importa directamente desde la interfaz de VMWare player. La VM viene con una interfaz de red Bridge por defecto, en teoría eso significa que el servidor puede usar la misma IP de la compu real pero, según la página oficial, eso genera comportamientos inesperados o conflictos, por lo que recomienda cambiarla a NAT, en éste caso se le debe poner una IP estática a la VM. Para nosotros los usuarios de escritorio es un poco conflictivo elegirla, yo hago un ipconfig (en windows), miro las IPs que tenga el adaptador de VMWare y tomo una dirección de ese segmento que esté alejada de las que ya están asignadas. Ese no es un procedimiento limpio pero creo que VMWare se encarga de verificar que las IPs no existan cuando se crean nuevas VMs (OJO: CREO! 😀 ). Finalmente, cuando se arranca la VM la instalación hace algunas preguntas, la mayoría no son importantes (IP del NTP, entre otras). Lo importante es establecer la IP, el gateway y el servidor DNS que permitirá luego acceder a Internet y hacer actualizaciones al paquete de Eve-NG. Esa IP es muy importante, recuerden que Eve-NG se accede por web y por CLI mediante SSH apuntando, ambos protocolos, a la IP que le asignamos en éste paso.
Eve-NG viene sólo con una imagen dummy de un PC, por lo que no sirve de mucho sólo instalarlo. Las próximas publicaciones serán sobre los aspectos principales de administrar imágenes y sintonizarlas, es muy probable que tenga que hacer publicaciones dedicadas para cada imagen que se suba dado que cada una tiene métodos diferentes y particularidades. Lo bueno, es que una vez que Eve-NG tenga las imágenes y éstas funcionen, se pueden crear muchas topologías con ellas, es decir, cada dispositivo se convierte en una instancia de la imagen subida. Pero eso vendrá luego.
Instalación paso a paso
1. VMWare player
Como ya lo he mencionado en varias ocasiones, la forma más fácil de comenzar con Eve-NG es instalar VMWare player, una versión ligera y gratuita de VMWare para crear máquinas virtuales en laptops y equipos de escritorio. La instalación no tiene mucha ciencia, básicamente se va a la página oficial de descarga y se instala siguiendo los pasos. En ésta publicación no lo voy a hacer porque es una aplicación fácil de instalar (y porque no quiero reinstalar mis VMs). Creo que Eve-NG no requiere nada adicional, las VMs sí piden la instalación de una especie de plug-in llamado VMWare tools que permite una interacción más estrecha entre host y guest, yo siempre lo instalo.
2. Descarga
Para descargar eve hay que ir a la página oficial, en el enlace de descargas y allí en la opción EVE-NG Community. Como ya les mencioné antes, la versión ISO es para ser ejecutada desde un disco (o emulandolo) y la versión OVA es para ser importada en VMWare. En nuestro caso descargaremos la OVA. Si desean verificar que el archivo esté completo y no tiene errores usen los datos de MD5 que se encuentran en la misma página. La siguiente herramienta parece que existe desde Win7, yo la corrí en un Wind10. Existen muchas herramientas visuales gratuitas para hacer lo mismo, por ejemplo, hashGenerator o MD5 & Sha-512 Checksum Utility
certutil -hashfile "EVE Community VM.ova" MD5
3. Importación del servidor
La importación no es nada compleja, pero lo que sí indica la página oficial es que se sintonice la máquina al Guest, es decir, si se puede dar más memoria dar toda la que se pueda dar (en mi caso mi laptop tiene 8G y eso es lo que le asigno a la VM), en procesadores sugiere 4 procesadores 1 Core por procesador (en mi versión actual de VMWare, la 15, no tengo esas opciones sólo Cores y le pongo 4 en un Corei5). La advertencia más importante y un poco más delicada es activar las opciones de virtualización del procesador real (del host), Intel y AMD tienen opciones diferentes, pero en cualquier caso se deben tener activas. Hay dos formas de verificar que la virtualización está habilitada: Si abrimos el administrador de tareas y miramos la utilización de la CPU se puede ver un aviso de Virtualización habilitada. Ésto funciona en Windows 8 en adelante. Otro método más general (funciona desde Windows 7 en adelante) es usar el comando systeminfo en el cmd, allí saldrán mucha información que vamos a revisitar cuando hablemos de imágenes particulares. En éste caso tenemos que revisar que existan apartados con información sobre Intel VTx o AMD-V que aparecen al final del resultado:
Si las opciones no están habilitadas, es necesario entrar a la BIOS del host y activarlas, en caso de que no las tenga (una PC muy vieja) no podremos correr todas las VMs e incluso algunas imágenes de routers no correrán.
Finalmente importamos la imagen tal como lo indica la interfaz de la app:
Recuerden que antes de iniciar la VM se deben haber sintonizado ciertos aspectos: memoria, procesadores y tipo de red en NAT. La verdad nunca la he usado con otras características. De otro lado, si se quiere sacar tráfico de las topologías, por ejemplo establecer una adyacencia de un router virtual en EVE a uno real o inyectar tráfico desde la máquina host, es necesario crear otra interfaz de red pero eso dará para una publicación aparte.
4. Configuración
El proceso de importación no es muy largo, en mi laptop Corei5/8G/SSD tomó menos de 5 minutos. Infortunadamente, el video oficial dice que se cambie el formato de la VM a versión 12, pero en mi versión de VMware 15 no aparece esa opción. No sé qué implicaciones tenga pero no debe ser grave porque así llevo trabajando por años XD Si alguien sabe cómo hacerlo, bienvenido el comentario. Para quienes no tienen experiencia con VMWare les recuerdo: la VM captura el hardware, en particular el teclado. Para liberar el teclado se usa la secuencia Ctrl-ALT simultáneamente.
VMWare crea tres adaptadores de red: VMnet0, VMNet1 y VMNet8, el 1ro es para acceder a redes reales (puenteado a interfaces reales), VMNet 1 es tráfico host-only y VMNet8 es tráfico de NAT para las VMs creadas. La interfaz VMWare no permite acceso a Internet, por lo tanto se debe usar el segmento de VMNet8 para ponerle una IP estática al servidor. En mi caso, el adaptador VMNet8 tiene la IP 192.168.80.1/24, por lo tanto mi EVE podría tener la IP 192.168.80.20 (elección arbitraria suponiendo que voy a tener menos de 20 VMs en mi laptop). Ésta no es una solución limpia dado que pueden ocurrir conflictos con otras VMs, pero me permite tener una IP fija para mi instancia de Eve-NG. Si algún lector tiene una sugerencia sobre éste tema, por favor dejela en los comentarios 😉 Otra particularidad de VMWare es que la IP de VMnet8 es la IP del host y la 2da es el gateway, es decir quien nos dará acceso a internet.
Una vez importada y sintonizada la VM la iniciamos. Aparece una consola de Linux pidiendo nombre de usuario/contraseña, el usuario por defecto es root y la contraseña por defecto es eve. Una vez que ingresamos aparece un diálogo típico de Linux: en texto coloreado simulando ventanas XD
En resumen, Eve-NG va a pedir lo siguiente para su instalación:
- Contraseña de root (2 veces): eve
- Hostname: Enter, si quieren cambiarlo pongan lo que deseen, por defecto eve-ng
- Dominio por defecto: Enter a menos que lo quieran cambiar, por defecto example.com
- Origen de la IP: DHCP o Static, ponga static
- IP address: 192.168.80.20 (en mi caso). Use una del segmento de VMNet8 y que sea poco probable de ser usada
- Mask: /24, la misma de VMNet8
- Gateway: 192.168.80.2 (en mi caso, explicación en el párrafo anterior)
- DNS: El que quieran que sea alcanzable yo uso 8.8.8.8 (el de google). Ésta dato es obligatorio
- Secondary DNS: Enter, no es necesario, si tienen alguno a mano, ponganlo
- NTP: Enter, tampoco es necesario, si instalaron VMware tools el sistema sacará su hora de la máquina host
- Proxy: Enter, por defecto es Conexión directa a Internet
Si todo salió bien, apuntar un navegador a la IP asignada debería abrir la interfaz web de Eve: el cliente. Si las cosas no salieron bien o se equivocaron en algo, hay que borrar un archivo de configuración y reiniciar el servidor para volver a correr el Setup:
Como ven, me equivoqué, puse como gateway la IP del VMNet8 y como lo expliqué anteriormente debe ser la 2da IP. Con el borrado del archivo /opt/ovf/.configured el sistema ejecuta el setup de nuevo cuando se reinicia. Otra forma de reconfigurarlo más expedita (sin reiniciar) es ejecutar el setup directamente: /opt/ovf/ovfconfig.sh, ello corre el mismo setup y reinicia la máquina.
Si ya todo funciona, se recomienda hacer un upgrade del paquete de Eve, no sé si notaron que la imagen que está disponible es un poco vieja, por ende, se recomienda hacer upgrade antes de cualquier otra cosa:
apt-get update
apt-get upgrade
Quienes estén familiarizados con sistemas Ubuntu/Debian conocerán éstos dos bellos comandos 🙂 Éste proceso no es trivial, el update tarda unos 5 minutos (depende de la conexión a Internet), el upgrade hace varias preguntas y tarda más dependiendo de las opciones y la conexión a Internet. La última versión del paquete, al día de hoy, es 2.0.3-95, el cual podemos verificar mediante el comando:
root@eve-ng:~# dpkg -l eve-ng
Finalmente, para trabajar sobre el servidor, puede ser mucho más útil y fácil usar un emulador de terminal tipo Putty. Trabajar directamente sobre la consola de VMware tiene algunas desventajas, en particular la captura del teclado y que no permite copiar/pegar texto hacia el CLI. Si apuntamos un PuTTY a la IP de Eve-NG abriremos una consola de texto ordinaria y allí podremos trabajar como con un servidor cualquiera y, sobre todo, podremos copiar y pegar comandos rápidamente, de otra forma nos tocará escribirlos completos lo cual aumentará la posibilidad de equivocarnos y que las cosas tarden más.
Con todo lo anterior, deberían poder ver la interfaz web de Eve-NG apuntando el navegador a la IP configurada http://192.168.80.20/ . El nombre de usuario es admin (no root) y la contraseña por defecto es eve. Una de las desventajas que tiene la versión community es que todos los usuarios son administradores :/ Como lo mencioné anteriormente, Eve-NG no sirve mucho sin imágenes y por ello las siguientes publicaciones van a ser sobre eso: Cómo subir imágenes y cómo sintonizarlas, así que paciencia y sigan leyendo y compartiendo. Hagan que ésto valga la pena 😉
Todas las entradas de la serie: [Introducción a Eve-NG] [Instalación] [Puesta a punto]
Conclusiones y continuación
Como ven, en principio instalar Eve-NG no es nada difícil. De aquí en adelante es que el tema se pone interesante y un poco más complicado, o bueno, no tanto. Es evidente que Eve-NG no es competencia directa de GNS3 dado que éste es más para usuarios de escritorio, mientras Eve-NG es más para entornos profesionales, es más sintonizable y por supuesto mucho más escalable (en especial la versión Professional). Como mencioné anteriormente, voy a seguir escribiendo al respecto, lo que sigue es subir las imágenes y usarlo. Las imágenes más fáciles de usar son el IOS clásico, pero con un IOS versión 15 se pueden hacer muchas de las prácticas de CCNA R&S, por lo que para algunos lectores eso será suficiente. Por mi experiencia, sé que lo más interesante viene con entornos multivendor y con imágenes sofisticadas, como IOS XR, NXOS, Firewalls, otras marcas como ALU/Nokia y hasta pequeños servidores Linux con servicios de red especializados. Espero que les haya gustado, les resulte útil y por favor no olviden compartir y comentar. Hagan que valga la pena.. Gracias por leerlo todo!
Referencias:
- https://my.vmware.com/en/web/vmware/free#desktop_end_user_computing/vmware_workstation_player/15_0
- https://www.shaileshjha.com/how-to-find-out-if-intel-vt-x-or-amd-v-virtualization-technology-is-supported-in-windows-10-windows-8-windows-vista-or-windows-7-machine/
- https://securityxploded.com/hashgenerator.php
- https://raylin.wordpress.com/downloads/md5-sha-1-checksum-utility/
- https://www.eve-ng.net/downloads/eve-ng-2
- https://www.onthefencedevelopment.com/windows-10-builtin-md5-checksum-calculator/
- https://www.eve-ng.net/documentation/installation/virtual-machine-install
- https://www.vmware.com/support/ws45/doc/network_configure_ws.html
Excelente aportación.
Un dato adicional y en el que batalle para la configuración fue al asignar los recursos en del EVE – NG en VMWARE, me falto seleccionar en el Adptador de Red; la red Virtual VMnet8 (NAT) para que cuando se comience a cargar el EVE – NG me asignará una IP de esta interface virtual.