Saltar a contenido

PyPI versions PyPI GitHub Discussion Tests Downloads

Fake Network Operating Systems - FakeNOS#

"La realidad es una simple ilusión, pero una muy persistente."

~ Albert Einstein

FakeNOS simula interacciones de sistemas operativos de red. Puedes simular interacciones de dispositivos de red como Cisco IOS o Huawei SmartAX sobre SSH con poco esfuerzo. Este proyecto está principalmente destinado a pruebas y desarrollo.

Instalación | Ejemplos | Plataformas

Instalación#

PyPI versions

El paquete está disponible en PyPI, por lo que puedes instalarlo usando pip:

pip install fakenos

Uso#

Este es un ejemplo de simulación en el que simulamos dos dispositivos, uno ejecutando Cisco IOS y otro ejecutando Huawei SmartAX. Para ejecutarlo, crea un archivo inventory.yaml con el siguiente contenido:

hosts:
  R1:
    username: admin
    password: admin
    platform: cisco_ios
    port: 6000
  R2:
    username: admin
    password: admin
    platform: huawei_smartax
    port: 6001

Luego crea un archivo main.py con el siguiente contenido:

from fakenos import FakeNOS
network_os = FakeNOS(inventory='inventory.yaml')
network_os.start()

Ejecuta el script:

python main.py

¡Y Voilà! 💫 Tienes dos dispositivos en ejecución, uno con Cisco IOS y otro con Huawei SmartAX. En caso de que quieras conectarte a ellos, puedes usar cualquier cliente SSH, como ssh:

# Para conectarte a Cisco IOS
ssh -p 6000 admin@localhost

# Para conectarte a Huawei Smartax
ssh -p 6001 admin@localhost

Y aquí tienes algunos comandos 💻 que puedes probar:

  1. Comandos de Cisco IOS:
    • show version
    • show interfaces
    • show ip interface brief
  2. Comandos de Huawei SmartAX:
    • display version
    • display board
    • display sysman service state

Tip

Muchas veces, no tenemos tiempo para leer la documentación. Hay un simple comando help que muestra todos los comandos disponibles. Se puede llamar usando help o ?.

Línea de comandos#

FakeNOS viene con una herramienta CLI que te permite iniciar la simulación desde la línea de comandos. Puedes probar un ejemplo predefinido ejecutando:

fakenos

En este caso se crearán 3 dispositivos:

  • Dispositivo Cisco IOS con nombre de usuario user y contraseña user en el puerto 6000
  • Dispositivo Huawei SmartAX con nombre de usuario user y contraseña user en el puerto 6001
  • Dispositivo Arista EOS con nombre de usuario user y contraseña user en el puerto 6002

También puedes especificar el archivo de inventario a utilizar:

fakenos --inventory inventory.yaml