Clonar y simular dispositivos de red en Linux
Qué aprenderás
- Instalar y configurar Verax SNMP Agent Simulator en Linux.
- Extraer un fichero de registro SNMP real con snmpwalk.
- Añadir dispositivos simulados y arrancar la simulación.
- Integrar dispositivos simulados en tu herramienta de monitorización.
Definiciones rápidas
- SNMP: Protocolo de gestión para supervisar equipos de red.
- OID: Identificador de objeto en la MIB, representa un dato gestionable.
- snmpwalk: Herramienta que recorre OID y devuelve valores de un agente SNMP.
- Simulador SNMP: Software que emula respuestas SNMP de equipos reales.
Requisitos y herramientas
- Linux (32 o 64 bits): distribuciones comunes como SuSE, RedHat Enterprise o Debian (i386 y x64).
- Conectividad TCP/IP en la red de pruebas.
- Java 1.6 o superior instalado.
- NET-SNMP tools (por ejemplo paquete net-snmp-utils / net-snmp).
- Verax SNMP Agent Simulator (paquete gratuito en el ejemplo).
- Software de monitorización de red (Zabbix, Nagios, PRTG, etc.).
Nota: conserva los nombres de archivos y rutas: /usr/local/vxsnmpsimulator, /etc/verax.d/, /etc/init.d/simulatord, etc.
Paso 1 — Instalar el simulador SNMP (Verax)
- Descarga y descomprime el paquete del simulador (por ejemplo vxsnmpsimulator-1.3.1.zip).
- Directorio recomendado de instalación: /usr/local/vxsnmpsimulator
- Crea y mueve el archivo simulator.conf a /etc/verax.d/
- Abre simulator.conf y modifica la variable SIMULATOR_HOME para apuntar al directorio de instalación:
SIMULATOR_HOME="/usr/local/vxsnmpsimulator"- En el mismo fichero, localiza JRE_HOME y apunta a la carpeta donde está Java:
JRE_HOME=/usr/local/java/jdk1.6.0_14/bin/- Define la interfaz primaria que usarás para crear alias (ej. eth1). La interfaz física debe existir antes de arrancar el simulador:
PRIMARY_INTERFACE='eth1'- Copia el script simulatord a /etc/init.d:
- sudo cp /usr/local/vxsnmpsimulator/conf/simulatord /etc/init.d/
- Da permisos de ejecución a los scripts relevantes:
chmod +x /etc/init.d/simulatord
chmod +x /usr/local/vxsnmpsimulator/conf/stop
chmod +x /usr/local/vxsnmpsimulator/conf/vlan_up
chmod +x /usr/local/vxsnmpsimulator/conf/vlan_downImportante: verifica que JRE_HOME y SIMULATOR_HOME sean accesibles por el usuario que lanzará el servicio.
Paso 2 — Extraer registros SNMP desde un dispositivo físico
Para simular un equipo real necesitas un snapshot SNMP (fichero de registro) generado con snmpwalk.
- Instala herramientas NET-SNMP. En RHEL/CentOS/Alma/Rocky:
yum install net-snmp-utilsEn Debian/Ubuntu:
sudo apt-get update && sudo apt-get install snmp- Genera el fichero con snmpwalk. Ejemplo para SNMP v2c con comunidad “public”:
snmpwalk -On -Oe -OU -v2c -c public 192.168.100.8 > /root/cisco-snmprecordfile.txtExplicación breve de las opciones:
- -On: muestra OID numéricos.
- -Oe: formatea valores hexadecimales donde procede.
- -OU: evita nombres ambiguos y mejora legibilidad.
- -v2c: usa SNMP versión 2c.
- -c public: comunidad SNMP.
- Mueve el fichero generado a la carpeta del simulador (por ejemplo vxsnmpsimulator/device):
sudo mv /root/cisco-snmprecordfile.txt /usr/local/vxsnmpsimulator/device/Consejo: si el equipo tiene SNMPv3 o comunidad distinta, ajusta los parámetros de snmpwalk según credenciales.
Paso 3 — Añadir el dispositivo al simulador
Edita el archivo de configuración de dispositivos del simulador: vxsnmpsimulator/conf/devices.conf. Añade un bloque
Ejemplo:
Notas:
- La IP 192.168.160.34 es la IP virtual que responderá a consultas SNMP.
- Asegúrate de que esa IP no esté en uso en la red física o ajusta la topología de pruebas.
- El simulador crea interfaces alias tipo eth1:0, eth1:1, etc., según PRIMARY_INTERFACE.
Cómo crear interfaces virtuales (si no se crean automáticamente)
Si necesitas crear manualmente aliases en Linux (ejemplo para eth1:0):
sudo ip addr add 192.168.160.34/24 dev eth1O con ifconfig (si disponible):
sudo ifconfig eth1:0 192.168.160.34 netmask 255.255.255.0 upAjusta la interfaz y la máscara según tu entorno.
Paso 4 — Iniciar la simulación
Antes de arrancar, comprueba que el puerto UDP 161 esté libre. Si algún proceso usa 161, deténlo.
Comprobación de puerto en Linux:
sudo ss -lunp | grep :161
# o
sudo netstat -lunp | grep :161Si aparece un proceso, identifica y deténlo (por ejemplo, snmpd):
sudo systemctl stop snmpd
# o
sudo service snmpd stopPara arrancar el simulador:
sudo service simulatord startPara abrir la consola de gestión:
sudo service simulatord consoleLa consola preguntará datos de conexión. Si ejecutas la consola en el mismo servidor que el servicio, confirma con “y” cuando pregunte: Do you want to connect to default simulator server? [y/n]
Parámetros por defecto: 127.0.0.1:43500 (host 127.0.0.1 y puerto TCP 43500).
En la consola, usa el comando SHOW para listar los dispositivos simulados.

Ya deberías ver tu switch Cisco simulado en 192.168.160.34.
Final — Añadir el dispositivo simulado al sistema de monitorización
- Verifica con SHOW que el simulador está activo y la IP aparece en la lista.
- En tu herramienta de monitorización, añade un host nuevo con la IP simulada (192.168.160.34) y configura las credenciales SNMP que correspondan (v2c/v3, comunidad, etc.).
- Prueba las consultas SNMP desde el servidor de monitorización hacia la IP simulada: snmpget o snmpwalk.
Si la monitorización no recibe datos, comprueba:
- Firewall local/iptables/ufw que bloquee puerto UDP 161.
- Rutas y VLANs que impidan llegar a la IP virtual.
- Logs del simulador en /usr/local/vxsnmpsimulator/log/ (ruta común).
Solución de problemas y verificación rápida
- No aparece la IP simulada: ejecuta ip addr show y verifica alias en la interfaz primaria.
- Puerto 161 ocupado: identifica con ss/netstat y libera el puerto.
- Respuestas incorrectas: revisa que el fichero cisco-snmprecordfile.txt no esté truncado.
- SNMPv3: si el equipo original usaba SNMPv3, asegúrate de exportar credenciales compatibles o transformar el snapshot.
Comandos útiles:
# Ver procesos que usan puertos
sudo ss -tunlp
# Comprobar que el servicio está activo
sudo service simulatord status
# Probar SNMP desde otra máquina
snmpwalk -v2c -c public 192.168.160.34Alternativas y enfoques complementarios
- Simuladores alternativos: herramientas open source o comerciales como snmpsim (Python). snmpsim es especialmente útil si quieres generar respuestas programables desde scripts.
- Virtualizar routers/switches completos (GNS3, EVE-NG) cuando necesitas emular comportamiento de capa 2/3, no solo respuestas SNMP.
- Para pruebas de carga SNMP, usa scripts que lancen consultas concurrentes (GNU parallel, locust con adaptador SNMP).
Cuándo falla este enfoque (contraejemplos)
- No sirve para probar comportamiento de forwarding o rutas reales: solo emula respuestas SNMP.
- Equipos con SNMPv3 y política de seguridad estricta pueden no exportar datos completos para snapshot.
- Si la aplicación requiere traps SNMP complejas basadas en eventos reales, necesitarás simular eventos o usar un simulador que soporte traps.
Lista de verificación por rol
Administrador de red:
- Confirmar interfaz física y permisos de red.
- Añadir alias IP y comprobar conectividad.
Ingeniero de monitorización:
- Generar y validar el fichero snmpwalk.
- Importar dispositivo en devices.conf con IP virtual.
- Verificar que la herramienta de monitorización puede consultar la IP.
Equipo de seguridad:
- Asegurar que la simulación solo esté en red de pruebas.
- Restringir acceso a la consola del simulador.
Criterios de aceptación
- El simulador responde a consultas SNMP en la IP virtual configurada.
- La herramienta de monitorización recibe métricas básicas (uptime, interfaces, SNMP counters).
- No hay conflictos de IP ni puertos abiertos inesperados.
Mini-playbook: pasos rápidos (resumen operativo)
- Instala Java y net-snmp.
- Descarga y descomprime vxsnmpsimulator.
- Ajusta simulator.conf (SIMULATOR_HOME, JRE_HOME, PRIMARY_INTERFACE).
- Genera el fichero snmpwalk y muévelo a device/.
- Edita devices.conf y añade el device con IP virtual.
- Arranca simulatord y abre consola. Usa SHOW.
- Añade la IP en tu sistema de monitorización y valida.
Buenas prácticas y seguridad
- Ejecuta simulaciones en VLAN o red de laboratorio aislada.
- NO reutilices comunidades SNMP “public” en producción.
- Monitorea logs del simulador y limita acceso a la consola administrativa.
Glosario (1 línea cada término)
- SNMP: Protocolo Simple de Gestión de Red, usado para consultar y cambiar parámetros de dispositivos.
- OID: Identificador único de un objeto gestionable en una MIB.
- snmpwalk: Herramienta cliente que recorre la MIB de un agente SNMP.
- Simulador SNMP: Software que responde a consultas SNMP como si fuera un dispositivo real.
Resumen final
Has aprendido a extraer un snapshot SNMP de un dispositivo real, a configurarlo en Verax SNMP Agent Simulator, y a arrancar simulaciones para pruebas y monitorización. Usa las listas de verificación por rol y la mini-playbook para acelerar la puesta en marcha y aplica las comprobaciones de seguridad antes de exponer simulaciones en redes compartidas.
Notas importantes:
- Este método es ideal para pruebas de monitorización, auditorías y ejercicios de escalabilidad. No sustituye la emulación completa de tráfico o comportamiento de capa 2/3.
Felicitaciones: ahora puedes clonar y simular múltiples dispositivos SNMP en tu entorno Linux para pruebas controladas.
Materiales similares
Podman en Debian 11: instalación y uso
Apt-pinning en Debian: guía práctica
OptiScaler: inyectar FSR 4 en casi cualquier juego
Dansguardian + Squid NTLM en Debian Etch
Arreglar error de instalación Android en SD