Guide des technologies

Cloner et simuler des équipements réseau sous Linux

8 min read réseau Mis à jour 17 Sep 2025
Cloner et simuler équipements réseau sous Linux
Cloner et simuler équipements réseau sous Linux

Objectif principal

Cloner et simuler des appareils SNMP (commutateurs, routeurs, etc.) sur une machine Linux pour les tests de charge, audits, développement ou formation.

Variantes d’intention recherchées

  • Cloner un switch Cisco pour tests
  • Simuler plusieurs agents SNMP pour une supervision
  • Générer des environnements de test réseau sans matériel
  • Extraire des dumps SNMP et les rejouer

TL;DR technique

  • Installer Java et Verax SNMP Agent Simulator.
  • Capturer la table SNMP d’un appareil réel avec snmpwalk.
  • Ajouter le fichier d’enregistrement au simulateur et attribuer une IP virtuelle.
  • Démarrer le simulateur et ajouter l’appareil simulé à votre outil de supervision.

Pré-requis et outils

  • Distribution Linux 32/64 bits (ex. SuSE, RedHat, Debian) avec architecture i386 ou x64.
  • Connexion réseau TCP/IP.
  • Java 1.6 ou supérieur installé.
  • Outils NET-SNMP (snmpwalk, snmpget, etc.).
  • Verax SNMP Agent Simulator (version graphique/CLI selon licence).
  • Un outil de supervision réseau (Nagios, Zabbix, PRTG, SolarWinds, etc.).

Important: le simulateur SNMP écoute en UDP sur le port 161 par défaut. Assurez-vous que ce port n’est pas occupé et que votre firewall autorise le trafic nécessaire.


Étape 1 Installation du simulateur SNMP

  1. Téléchargez et décompressez le paquet du simulateur (ex. vxsnmpsimulator-1.3.1.zip).
  2. Répertoire recommandé d’installation : /usr/local/vxsnmpsimulator
  3. Créez et placez le fichier simulator.conf dans /etc/verax.d/
  4. Éditez simulator.conf et mettez à jour SIMULATOR_HOME pour pointer vers le dossier d’installation :
SIMULATOR_HOME="/usr/local/vxsnmpsimulator"
  1. Dans le même fichier, mettez à jour JRE_HOME pour pointer vers le dossier binaire de Java :
JRE_HOME=/usr/local/java/jdk1.6.0_14/bin/
  1. Vérifiez le nom de l’interface réseau primaire (ex. eth1). Le simulateur crée des alias d’interface comme eth1:0, eth1:1, etc. Indiquez-le dans la variable :
PRIMARY_INTERFACE='eth1'
  1. Copiez le script simulatord dans /etc/init.d :
cp /usr/local/vxsnmpsimulator/bin/simulatord /etc/init.d/
  1. Donnez les permissions d’exécution aux scripts utiles :
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

Remarque: adaptez les chemins si vous avez choisi un autre dossier d’installation.


Étape 2 Extraction des fichiers d’enregistrement SNMP d’un appareil réel

But: obtenir un fichier texte contenant les OID et valeurs courantes de l’agent SNMP que vous souhaitez simuler.

  1. Installez les outils NET-SNMP (ex. sous RHEL/CentOS) :
yum install net-snmp-utils

Sur Debian/Ubuntu :

apt-get install snmp
  1. Utilisez snmpwalk pour capturer l’agent à l’adresse IP de l’appareil réel. Exemple :
snmpwalk -On -Oe -OU -v2c -c public 192.168.100.8 > /root/cisco-snmprecordfile.txt

Explications rapides des options :

  • -v2c : version SNMP 2c (adaptez à la version de votre équipement)
  • -c public : communauté (changez si configuré différemment)
  • -On -Oe -OU : formats de sortie pour OID numériques et valeurs lisibles
  1. Déplacez le fichier généré dans le répertoire du simulateur :
mv /root/cisco-snmprecordfile.txt /usr/local/vxsnmpsimulator/device/

Important: nettoyez ou anonymisez les données sensibles si vous prévoyez de partager le fichier.


Étape 3 Ajouter l’appareil aux dispositifs simulés

  1. Ouvrez le fichier de configuration des appareils du simulateur :
/usr/local/vxsnmpsimulator/conf/devices.conf
  1. Ajoutez un nouvel enregistrement qui pointe vers le fichier d’enregistrement et définit l’IP virtuelle :

      
               
      
  1. Assurez-vous que l’IP 192.168.160.34 est configurée comme adresse virtuelle sur l’interface physique (eth1 dans cet exemple). Sous les distributions modernes :
ip addr add 192.168.160.34/24 dev eth1 label eth1:0

Ou, si votre distribution utilise ifconfig :

ifconfig eth1:0 192.168.160.34 netmask 255.255.255.0 up

Remarque: l’utilisation d’alias d’interface varie selon les noyaux et distributions. La commande ip addr est la méthode recommandée.


Étape 4 Démarrer la simulation et utiliser la console de gestion

  1. Avant de démarrer, vérifiez que le port UDP 161 est libre :
ss -lunp | grep :161

Arrêtez tout service SNMP concurrent (ex. snmpd) si nécessaire.

  1. Démarrez le service du simulateur :
service simulatord start
  1. Ouvrez la console de gestion :
service simulatord console
  1. La console pourra vous demander si vous souhaitez vous connecter au simulateur par défaut. Confirmez par “y” si le simulateur et la console s’exécutent sur la même machine. Paramètres par défaut : 127.0.0.1:43500.

  2. Dans la console, utilisez la commande SHOW pour lister les dispositifs simulés et vérifier qu’ils sont actifs.


Interface du simulateur Verax montrant une liste de dispositifs simulés et des contrôles

Caption: Exemple d’interface de gestion du simulateur SNMP Verax.


Ajouter l’appareil simulé à votre système de supervision

  1. Dans votre outil de monitoring, ajoutez un nouvel hôte comme d’habitude.
  2. En lieu et place de l’IP réelle, fournissez l’IP virtuelle du dispositif simulé (ex. 192.168.160.34).
  3. Testez les checks SNMP (GET, GETNEXT) et comparez les réponses aux valeurs attendues.

Résultat: votre superviseur doit interroger le simulateur comme s’il s’agissait de l’appareil réel.


Vérification et critères d’acceptation

  • L’appareil simulé apparaît dans la console de gestion du simulateur (commande SHOW).
  • Les outils SNMP externes (snmpget, snmpwalk) reçoivent des réponses cohérentes depuis l’IP virtuelle.
  • Le système de supervision déclenche les mêmes métriques et états que l’appareil réel pour les OID essentiels.
  • Le simulateur répond avec des temps de latence raisonnables (< quelques centaines de ms selon environnement).

Dépannage courant

  • Port 161 occupé : identifiez le processus (ss -lunp) et arrêtez snmpd ou changez la configuration.
  • Permissions Java : assurez-vous que JRE_HOME pointe vers un Java exécutable et que l’utilisateur a les droits nécessaires.
  • Problèmes d’alias d’interface : vérifiez que l’IP virtuelle est sur la même sous-réseau que les clients qui doivent accéder au simulateur.
  • Firewall/SELinux : ouvrez le port UDP 161 et le port TCP 43500 (console), ou définissez des règles temporaires pour tester.

Important: si le simulateur tourne sous un compte non-root, il peut ne pas être autorisé à écouter les ports <1024 sans configuration spéciale (cap_net_bind_service ou exécuter via init script en root).


Alternatives et approches complémentaires

  • snmpsim (Python) : simulateur open-source basé sur des enregistrements SNMP ; bon pour les scripts et intégration CI.
  • Virtualisation complète : utiliser GNS3/EVE-NG avec images d’équipement réel pour une simulation comportementale complète.
  • Mocking d’API : pour certaines intégrations, il peut être plus simple de mocker l’API de supervision plutôt que l’agent SNMP.

Quand cette méthode échoue

  • L’appareil réel utilise des comportements dynamiques complexes (scripts internes, MIB propriétaires modifiant continuellement les valeurs) — le simple enregistrement SNMP peut ne pas suffire.
  • Les dépendances temps réel (p. ex. trafic counters qui doivent incrémenter selon des modèles) exigent des simulateurs plus avancés ou des scripts pour synthétiser ces valeurs.

Méthodologie recommandée (mini-playbook)

  1. Capturer : utilisez snmpwalk pour obtenir un dump complet.
  2. Sanitize : retirez données sensibles (IP externes, noms d’utilisateur, mots de passe, données privées).
  3. Importer : placez le fichier dans le répertoire device et modifiez devices.conf.
  4. Provisionner : attribuez et configurez l’IP virtuelle sur l’interface physique.
  5. Lancer : démarrez simulatord et vérifiez via la console.
  6. Valider : effectuez des vérifications SNMP et des tests de supervision.

Liste de contrôle selon les rôles

  • Administrateur système

    • Java installé et JRE_HOME correct
    • Scripts simulatord dans /etc/init.d et exécutables
    • Permissions et firewall vérifiés
  • Ingénieur réseau

    • IP virtuelle configurée et atteignable
    • Routage et VLANs validés
    • Latence et perte mesurées
  • Ingénieur supervision

    • Vérifier que la MIB attendue est exposée
    • Configurer l’hôte dans l’outil de monitoring
    • Exécuter checks et alertes de test

Bonnes pratiques et sécurité

  • Ne simulez pas des appareils contenant des données sensibles sans anonymisation.
  • Limitez l’accès réseau au simulateur (ACLs, VLANs) pour éviter des scans ou usages non autorisés.
  • Documentez les IP virtuelles et retirez-les après les tests.

Faits clés

  • Port SNMP classique : UDP 161.
  • Port de console par défaut pour Verax cité : TCP 43500 (localhost:43500).
  • Java requis : 1.6+.

Cas de test / Critères d’acceptation (exemples)

  • Test A : snmpget sur OID sysDescr renvoie la même valeur que l’appareil source.
  • Test B : snmpwalk parcourt la MIB sans erreurs et liste les OID principaux.
  • Test C : l’outil de supervision enregistre les mêmes états (up/down) et métriques critiques.

Résumé

Vous savez maintenant comment cloner un appareil SNMP réel en capturant ses OID avec snmpwalk, importer ces données dans Verax SNMP Agent Simulator, attribuer une IP virtuelle, démarrer la simulation et intégrer l’appareil simulé dans votre système de supervision. Cette méthode permet de tester et valider des configurations de monitoring sans accès permanent au matériel.

Points d’attention : vérifiez le port UDP 161, adaptez les chemins et permissions Java, et sécurisez les IP virtuelles.


Suggestions pour aller plus loin

  • Automatiser l’extraction et l’import via des scripts pour reproduire des environnements de test.
  • Coupler la simulation avec des scénarios d’évolution des compteurs (scripts) pour tester des alarmes basées sur les thresholds.
  • Intégrer la simulation dans une pipeline CI pour valider les templates de supervision avant déploiement.
Auteur
Édition

Matériaux similaires

Installer et utiliser Podman sur Debian 11
Conteneurs

Installer et utiliser Podman sur Debian 11

Guide pratique : apt-pinning sur Debian
Administration système

Guide pratique : apt-pinning sur Debian

OptiScaler : activer FSR 4 dans n'importe quel jeu
Jeux PC

OptiScaler : activer FSR 4 dans n'importe quel jeu

Dansguardian + Squid NTLM sur Debian Etch
réseau

Dansguardian + Squid NTLM sur Debian Etch

Corriger l'erreur d'installation Android sur SD
Android, Dépannage

Corriger l'erreur d'installation Android sur SD

KNetAttach et remote:/ — Dossiers réseau KDE
Tutoriel

KNetAttach et remote:/ — Dossiers réseau KDE