Guida alle tecnologie

Come clonare e simulare dispositivi di rete su Linux

8 min read Rete Aggiornato 18 Sep 2025
Clonare e simulare dispositivi di rete su Linux
Clonare e simulare dispositivi di rete su Linux

TL;DR

Questo articolo spiega come clonare e simulare dispositivi SNMP su Linux usando strumenti comuni e gratuiti (es. Verax SNMP Agent Simulator e NET-SNMP). Copriamo installazione, estrazione dei record SNMP da un dispositivo fisico, configurazione del simulatore, avvio e integrazione con un sistema di monitoraggio. Include checklist, suggerimenti alternativi, procedure di verifica e risoluzione dei problemi.

Introduzione

Questo tutorial mostra come clonare e simulare dispositivi di rete su una macchina Linux. La simulazione è utile per stress test, collaudi di monitoraggio, audit e formazione senza toccare l’hardware di produzione.

La guida è suddivisa in 4 passi: installazione, estrazione dei record SNMP, aggiunta del dispositivo simulato e avvio della simulazione. In fondo trovi checklist, modalità alternative, casi di errore e un mini-runbook di troubleshooting.

Requisiti e strumenti

  • Distribuzioni Linux a 32 o 64 bit (es. SuSE, RedHat Enterprise, Debian) su architetture i386 o x86_64.
  • Connessione di rete TCP/IP.
  • Java 1.6 o superiore installato.
  • NET-SNMP (per snmpwalk e altri strumenti).
  • Verax SNMP Agent Simulator (o equivalente).
  • Software di monitoraggio di rete (es. Zabbix, Nagios, PRTG).

Nota: SNMP usa tipicamente UDP porta 161 per richieste e 162 per trap. SNMPv3 offre autenticazione e cifratura; SNMPv1/v2c usano community string in chiaro.

Panoramica della procedura

  1. Installare il simulatore SNMP (es. Verax).
  2. Estrarre un file di registro SNMP (snmpwalk) dal dispositivo fisico.
  3. Aggiungere il file e un indirizzo IP virtuale alla configurazione del simulatore.
  4. Avviare il simulatore e collegare il sistema di monitoraggio.

STEP 1: Installare il simulatore SNMP

In questo esempio usiamo Verax SNMP Agent Simulator. La procedura generale è simile per altri simulatori.

  1. Scarica e decomprimi il pacchetto del simulatore (es. vxsnmpsimulator-1.3.1.zip).
  2. Directory consigliata di installazione: /usr/local/vxsnmpsimulator
  3. Crea e sposta il file simulator.conf in /etc/verax.d/
  4. Apri simulator.conf e imposta SIMULATOR_HOME sul percorso di installazione:
SIMULATOR_HOME="/usr/local/vxsnmpsimulator"
  1. Nel medesimo file, definisci JRE_HOME puntando alla cartella del tuo Java:
JRE_HOME=/usr/local/java/jdk1.6.0_14/bin/
  1. Verifica il nome dell’interfaccia di rete primaria usata per creare alias (es. eth1). L’interfaccia primaria deve esistere prima di avviare il simulatore:
PRIMARY_INTERFACE='eth1'
  1. Copia lo script simulatord in /etc/init.d
  2. Imposta i permessi di esecuzione per gli script necessari:
  • 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_down

Important: se il tuo sistema usa systemd, puoi adattare lo script di avvio in un servizio systemd invece di /etc/init.d.

Note su permessi e sicurezza

  • Esegui l’installazione con un account amministrativo (root o sudo).
  • Assicurati che la macchina che ospita il simulatore sia isolata dalla rete di produzione se stai creando indirizzi IP virtuali che possono confondere il routing.

STEP 2: Estrarre i file di record SNMP dal dispositivo fisico

Per creare una copia fedele dei valori SNMP di un dispositivo usiamo snmpwalk (fornito da NET-SNMP).

  1. Installa NET-SNMP (distribuzione dipendente). Esempio per CentOS/RHEL:
yum install net-snmp-utils
  1. Genera un file di record SNMP con snmpwalk. Esempio:
snmpwalk -On -Oe -OU -v2c -c public 192.168.100.8 > /root/cisco-snmprecordfile.txt

In questo comando 192.168.100.8 è l’IP del dispositivo fisico (es. uno switch Cisco) e public è la community string. Il file risultante contiene OID e valori che rappresentano lo stato dell’agente reale.

  1. Copia il file generato nella directory del simulatore sotto device, es.: /usr/local/vxsnmpsimulator/device/

Important: se il dispositivo usa SNMPv3, usa gli argomenti appropriati per autenticazione e cifratura (user, auth, priv).

STEP 3: Aggiungere il dispositivo alla configurazione del simulatore

Apri vxsnmpsimulator/conf/devices.conf e aggiungi un record che punti al file di registro appena generato. Devi anche assegnare un indirizzo IP virtuale al dispositivo simulato.

Esempio di blocco XML da inserire:


      
               
      

Linee guida pratiche:

  • L’IP configurato deve essere non in uso sulla rete reale (virtuale) e raggiungibile dalla tua infrastruttura di monitoraggio.
  • Puoi aggiungere più con lo stesso file se vuoi simulare più istanze dello stesso modello ma con IP diversi.

STEP 4: Avviare la simulazione

Prima di avviare, verifica che la porta 161 UDP non sia occupata da altri processi. Se necessario, arresta il demone SNMP nativo.

  1. Avvia il demone del simulatore:
service simulatord start
  1. Apri la console di gestione:
service simulatord console
  1. La console di gestione chiederà i dettagli di connessione. Se il servizio è sulla stessa macchina della console, conferma i parametri predefiniti premendo “y” quando richiesto: Do you want to connect to default simulator server? [y/n]

Nota: i parametri predefiniti sono 127.0.0.1:43500.

  1. Usa il comando SHOW nella console per elencare i dispositivi simulati.

Console di gestione Verax SNMP Simulator che mostra dispositivi simulati

Ben fatto: ora lo switch cisco è simulato all’IP 192.168.160.34.

Aggiungere il dispositivo simulato al sistema di monitoraggio

Assicurati che il simulatore sia in esecuzione (verifica con SHOW). Poi aggiungi il dispositivo simulato al tuo software di monitoraggio come faresti con un dispositivo reale, usando l’indirizzo IP simulato e la stessa configurazione SNMP (versione, community o credenziali v3).

Checklist rapida (da usare prima di avviare)

  • Java installato e JRE_HOME corretto
  • SIMULATOR_HOME puntato alla directory di installazione
  • File cisco-snmprecordfile.txt presente in device/
  • IP virtuale non in conflitto sulla rete
  • Porta UDP 161 libera
  • Permessi eseguibili impostati sugli script
  • Console di gestione raggiungibile

Controlli di verifica e test di accettazione

Criteri di accettazione per considerare la simulazione pronta:

  • Il comando SHOW elenca il dispositivo con l’IP configurato.
  • Il sistema di monitoraggio interroga il dispositivo simulato e riceve risposte coerenti.
  • I valori critici (es. ifOperStatus, ifAdminStatus, sysUpTime) riflettono i dati presenti nel file di registro.

Test di smoke:

  • snmpget -v2c -c public 192.168.160.34 sysUpTime.0
  • Verifica che i grafici o trigger del monitor funzionino come previsto.

Alternative e approcci diversi

  • snmpsim (progetto Python): offre un simulatore open source alternativo e può leggere file di registrazione creati con snmpwalk.
  • Creare uno script che converta output di snmpwalk in formati diversi se il simulatore richiede un layout specifico.
  • Usare namespace di rete e container (Docker) per isolare i dispositivi simulati e gestire le interfacce virtuali in modo più ripetibile.

Vantaggi dell’approccio con Verax:

  • Interfaccia di gestione centralizzata.
  • Supporto per più dispositivi con file singoli.

Limiti comuni:

  • Alcuni simulatori replicano solo valori statici; non tutti emulano correttamente eventi dinamici o cambi di stato complessi.

Quando la simulazione può fallire o ingenerare problemi

  • Indirizzi IP virtuali che causano conflitti ARP o routing con la rete reale.
  • Porta 161 occupata da snmpd nativo o firewall che blocca UDP 161.
  • Differenze tra il modello reale e il file di registro (MIB non presente o OID mancanti).
  • SNMPv3 mal configurato (errore di autenticazione o cifratura).

Mitigazioni:

  • Isolare il laboratorio di simulazione su VLAN o rete di test.
  • Usare iptables/nftables per limitare l’accesso al simulatore.
  • Testare ogni dispositivo simulato con un set minimo di OID critici.

Runbook di troubleshooting rapido

  1. Verifica che simulatord sia attivo: ps aux | grep simulatord
  2. Controlla i log del simulatore in /var/log/verax/ o nella directory di installazione.
  3. Assicurati che UDP 161 sia libero: ss -lun | grep :161
  4. Se la console non si connette, verifica la porta TCP 43500 e che il servizio sia in ascolto.
  5. Riprova lo snmpwalk sul dispositivo simulato per confermare che risponde.
  6. In caso di valori mancanti, apri il file cisco-snmprecordfile.txt e verifica la presenza degli OID richiesti.

Ruoli e responsabilità (checklist per team)

  • Network Engineer: estrae snmpwalk dal dispositivo fisico e verifica OID critici.
  • Sysadmin: installa il simulatore, imposta permessi e servizi di avvio.
  • Monitoring Engineer: aggiunge il dispositivo al sistema di monitoraggio e verifica trigger/alert.
  • Security Officer: approva l’accesso e verifica l’isolamento della rete di test.

Piccola metodologia per simulazioni ripetibili

  1. Versionamento dei file di registro (git): salva ogni snmprecord con tag e data.
  2. Template devices.conf: mantieni un template e genera le entry con script per evitare errori manuali.
  3. Deploy in container: confeziona il simulatore in Docker con una rete dedicata per test ripetibili.

Privacy e sicurezza

  • I file di registro SNMP possono contenere informazioni sensibili (nomi host, descrizioni, interfacce). Conserva i file in repository sicuri e limita l’accesso.
  • Per test che coinvolgono dati di produzione, valuta l’anonimizzazione dei record o l’uso di dataset sintetici.

Glossario in una riga

  • SNMP: protocollo di monitoraggio agent-manager per dispositivi di rete.
  • OID: identificatore di oggetto usato per leggere/scrivere valori SNMP.
  • snmpwalk: comando che cammina la MIB di un agente e restituisce OID e valori.
  • Community string: password semplificata per SNMPv1/v2c.

Riepilogo finale

Simulare dispositivi SNMP su Linux consente test, formazione e debug senza toccare la produzione. I passi principali sono: installare il simulatore, estrarre i record reali con snmpwalk, aggiungere il file e un IP virtuale alla configurazione, avviare il simulatore e integrare il dispositivo nel sistema di monitoraggio. Usa checklist, isola la rete di test e verifica i criteri di accettazione prima di considerare la simulazione pronta.

Note importanti:

  • Controlla sempre che le IP virtuali non causino conflitti ARP.
  • Per requisiti di sicurezza elevati preferisci SNMPv3.

Grazie: ora sai come clonare e simulare più dispositivi o intere reti SNMP su Linux.

Autore
Redazione

Materiali simili

Installare e usare Podman su Debian 11
DevOps

Installare e usare Podman su Debian 11

Guida rapida a apt-pinning su Debian
Linux

Guida rapida a apt-pinning su Debian

Forzare FSR 4 con OptiScaler: guida completa
Guide.

Forzare FSR 4 con OptiScaler: guida completa

Dansguardian + Squid NTLM su Debian Etch
Rete

Dansguardian + Squid NTLM su Debian Etch

Riparare errore installazione SD su Android
Android

Riparare errore installazione SD su Android

Cartelle di rete con KNetAttach e remote:/
Linux

Cartelle di rete con KNetAttach e remote:/