Si bien no es sólo para la automatización de la red, realmente parece estar en todas partes cuando buscas recursos y, como se mencionó anteriormente, si no es Python generalmente es Ansible, el cuál también en Python.
- Legibilidad y facilidad de uso - Parece que Python simplemente tiene sentido. No parece haber requisitos en torno a `{}` en el código para iniciar y finalizar bloques. Si unimos esto a un IDE potente como [VS Code](https://code.visualstudio.com/), tendremos un comienzo bastante fácil cuando queramos ejecutar código python.
- Librerías - La extensibilidad de Python es la verdadera mina de oro aquí, como se ha comentado no es sólo para Automatización de Redes pero de hecho, hay librerías de sobra para todo tipo de dispositivos y configuraciones. Puedes ver la gran cantidad aquí [PyPi](https://pypi.python.org/pypi)
Cuando quieres descargar la librería a tu workstation, entonces usas una herramienta llamada `pip` para conectarte a PyPI y descargarla localmente. Vendedores de redes como Cisco, Juniper y Arista desarrollaron librerías para facilitar el acceso a sus dispositivos.
- Potente y Eficiente - ¿Recuerdas que durante los días de Go pasé por el escenario "Hola Mundo" y recorrimos creo que 6 líneas de código? En Python es
Ponga todos los puntos anteriores juntos y debería ser fácil ver por qué Python se menciona generalmente como la herramienta de-facto cuando se trabaja en la automatización.
Creo que es importante tener en cuenta que es posible que hace varios años había scripts que podrían haber interactuado con sus dispositivos de red para tal vez automatizar la copia de seguridad de la configuración o para recopilar registros y otras ideas en sus dispositivos. La automatización de la que estamos hablando aquí es un poco diferente y eso se debe a que el panorama general de las redes también ha cambiado para adaptarse mejor a esta forma de pensar y ha permitido una mayor automatización.
- Red definida por software: los controladores SDN asumen la responsabilidad de proporcionar la configuración del plano de control a todos los dispositivos de la red, lo que significa un único punto de contacto para cualquier cambio en la red, ya no es necesario conectarse por telnet o SSH a cada dispositivo y depender de humanos para hacerlo, lo que tiene una probabilidad repetible de fallos o errores de configuración.
- Orquestación de alto nivel: suba un nivel desde los controladores SDN y esto permite la orquestación de los niveles de servicio, luego está la integración de esta capa de orquestación en sus plataformas de elección, VMware, Kubernetes, nubes públicas, etc.
- Gestión basada en políticas: ¿Qué desea tener? ¿Cuál es el estado deseado? Usted describe esto y el sistema tiene todos los detalles sobre cómo resolverlo para convertirse en el estado deseado.
Vamos a construir nuestro laboratorio utilizando [Eve-ng](https://www.eve-ng.net/) pero también se puede utilizar un dispositivo físico. Una ventaja de utilizar un entorno virtual es que podemos tener un entorno de sandbox para probar muchos escenarios diferentes. Además de ser capaz de jugar con diferentes dispositivos y topologías que podrían resultar de interés.
Para este tutorial se utilizará un VMware Workstation, con una licencia a través de vExpert, pero también se puede utilizar VMware Player o cualquiera de las otras opciones mencionadas en la [documentación](https://www.eve-ng.net/index.php/documentation/installation/system-requirement/). Desafortunadamente, ¡no podemos utilizar el Virtualbox utilizado anteriormente!
Ahora tenemos el software de hipervisor descargado e instalado, y tenemos el OVF de EVE-NG descargado. Si estás usando VMware Player por favor hazme saber si este proceso es el mismo.
Cuando finalice la importación, aumente el número de procesadores a 4 y la memoria asignada a 8 GB. (Esto debería ser así después de la importación con la última versión, si no es así, edite la configuración de la máquina virtual).
Además, asegúrese de que la casilla Virtualizar Intel VT-x/EPT o AMD-V/RVI está activada. Esta opción indica a VMware workstation que pase los flags de virtualización al sistema operativo invitado (virtualización anidada). Este era el problema que tenía con GNS3 con Virtual Box aunque el CPU lo permite.
Nota al margen y Rabbit hole: ¿Recuerdas que mencioné que esto no funcionaría con VirtualBox? Bueno, sí, tuve el mismo problema con VMware Workstation y EVE-NG, pero no fue culpa de la plataforma de virtualización.
Con WSL2 ejecutándose en Windows y esto parece eliminar la capacidad de poder ejecutar cualquier cosa anidada dentro del entorno. Estoy confundido en cuanto a por qué el Ubuntu VM se ejecuta, ya que parece sacar el Intel VT-d aspecto de virtualización de la CPU cuando se utiliza WSL2.
Para resolver esto podemos ejecutar el siguiente comando en nuestra máquina Windows y reiniciar el sistema, tenga en cuenta que mientras esto está apagado no serás capaz de utilizar WSL2.
El nombre de usuario por defecto para la GUI es `admin` y la contraseña es `eve` mientras que el nombre de usuario por defecto para SSH es `root` y la contraseña es `eve` pero esto se puede haber cambiado durante la configuración.