Superviser et gérer efficacement les équipements réseau est un défi majeur pour les administrateurs.
Une mauvaise gestion peut entraîner des pannes, une perte de données et des inefficacités opérationnelles.
Cet article présente le protocole SNMP, une solution standardisée pour la surveillance et la gestion des réseaux.
Devenez expert dans la supervision d'infrastructures avec Prometheus.

Le protocole SNMP (Simple Network Management Protocol) est largement utilisé pour superviser et gérer les équipements réseau, offrant une solution standardisée pour surveiller l’état des appareils, recueillir des données, et détecter les événements critiques. Ce chapitre présente une introduction détaillée au protocole SNMP.
Introduction au protocole SNMP
SNMP repose sur une architecture simple où un gestionnaire supervise des agents déployés sur les dispositifs réseau. Cette section présente les composants essentiels de SNMP ainsi que leurs rôles respectifs.
- Un gestionnaire (Manager SNMP) :Il centralise les requêtes et reçoit des informations des agents SNMP. Le gestionnaire envoie des requêtes pour consulter l’état des appareils ou configurer certains paramètres à distance.
- Des agents (Agents SNMP) :Déployés sur les dispositifs à superviser, ils répondent aux requêtes du gestionnaire et peuvent aussi envoyer des notifications d’événements (traps).
- Consultation ou paramétrage des informations :SNMP permet de consulter ou de configurer des données précises comme l’état du CPU, la mémoire, ou encore la bande passante d’un appareil.
- Les traps SNMP :Ce sont des alertes envoyées par les agents au gestionnaire lorsqu’un événement critique survient (ex. : panne, seuil dépassé).
- Les versions de SNMP :Il existe plusieurs versions de SNMP, notamment la v1, v2c, et v3, cette dernière offrant plus de sécurité grâce à l’authentification et au chiffrement des données.
Organisation des données SNMP : MIB et OIDs
SNMP utilise des bases de données et des identifiants pour organiser et gérer les informations des appareils supervisés. Cette section explique la structure des données utilisées par SNMP et leur hiérarchisation.
- La MIB (Management Information Base) :Base de données hiérarchique où sont stockées les informations supervisées. Chaque dispositif possède une MIB définissant les objets à superviser.
- Les OIDs (Object Identifiers) :Identifiants uniques utilisés pour représenter chaque objet dans la MIB, permettant de consulter ou modifier des informations précises sur un appareil.
- Les types de données :SNMP supporte différents types de données, comme les entiers, les compteurs, ou les chaînes de caractères, ce qui permet une gestion flexible des informations.
Il existe plusieurs versions de SNMP : v1, v2c, et v3. La v3 offre plus de sécurité grâce à l’authentification et au chiffrement des données.
Version | Fonctionnalité | Sécurité | Description |
---|---|---|---|
SNMPv1 | Basique | Faible | Première version du protocole, simple mais peu sécurisée. Convient pour des environnements peu critiques. |
SNMPv2c | Amélioré | Mécanismes de communauté (faible) | Amélioration des performances et de la flexibilité, mais la sécurité repose uniquement sur des chaînes de communauté en clair. |
SNMPv3 | Sécurisé | Authentification et chiffrement | Version la plus sécurisée, avec des mécanismes d’authentification et de chiffrement pour garantir la confidentialité et l’intégrité des données. |
Démonstration de SNMP en action
Dans cette démonstration, nous allons configurer et tester des requêtes SNMP sur un serveur Linux. Le protocole SNMP (Simple Network Management Protocol) est couramment utilisé pour superviser et gérer les équipements réseau. Nous allons configurer un serveur SNMP et tester des requêtes pour vérifier son bon fonctionnement.
Configuration SNMP : Guide pratique
- Installation des paquets SNMPCommençons par installer le serveur SNMP et les outils associés :
sudo apt install snmp snmpd
- Modification du fichier de configuration SNMPOuvrez le fichier de configuration snmpd.conf avec votre éditeur de texte préféré :
sudo vi /etc/snmp/snmpd.conf
- Suppression de la variable sysLocationLocalisez et supprimez la ligne définissant sysLocation (qui spécifie l’emplacement de l’appareil supervisé). Cela peut ressembler à quelque chose comme ceci :
- Désactivation de l’IPv6Si votre machine n’utilise pas l’IPv6, vous pouvez également désactiver le loopback IPv6 dans le fichier de configuration pour que l’agentaddress devient comme ceci :
- Ajout de la vue SNMPAjoutez une nouvelle vue dans le fichier de configuration SNMP pour spécifier les objets que SNMP peut interroger :
view systemonly included .1.3.1.4.1.2021
Voici L’arbre MIB pour comprendre les droits de ces views :
- Configuration de la communauté SNMP en lecture/écritureModifiez ou ajoutez une ligne pour configurer une communauté SNMP ayant des droits en lecture et écriture :
rwcommunity rw default .1.3.6.1.2.1.1.6
- Enregistrement des modifications et redémarrage de SNMPUne fois les modifications effectuées, enregistrez le fichier et quittez l’éditeur de texte :
:wq
Puis, redémarrez le service SNMP pour appliquer les changements :
sudo systemctl restart snmpd.service
Test des requêtes SNMP sur Linux
Maintenant que SNMP est configuré, testons son bon fonctionnement à l’aide de quelques requêtes.
- Requête SNMPGETTestons une requête simple pour récupérer le nom de la machine :
snmpget -v 2c -c public 127.0.0.1 .1.3.6.1.2.1.1.5.0
Cela devrait retourner quelque chose comme :
iso.3.6.1.2.1.1.5.0 = STRING: "debian11.localdomain"
- SNMPSET avec erreurMaintenant, essayons de modifier la valeur de cet objet, mais sans les bonnes permissions :
snmpset -v 2c -c public 127.0.0.1 .1.3.6.1.2.1.1.5.0 s "formation"
Résultat :
Failed object: iso.3.6.1.2.1.1.5.0
Cette erreur est normale, car la communauté public n’a pas de droits en écriture.
- SNMPSET avec la communauté de lecture/écriturePour réussir à modifier l’objet, nous devons utiliser la communauté avec les droits d’écriture :
snmpset -v 2c -c rw 127.0.0.1 .1.3.6.1.2.1.1.5.0 s "formation"
Une fois la commande exécutée avec succès, vous verrez un résultat similaire à :
iso.3.6.1.2.1.1.5.0 = STRING: "formation"
- Autre exemple :modification de l’emplacementEssayons à présent de modifier l’emplacement de l’appareil avec une autre requête SNMP :
snmpset -v 2c -c rw 127.0.0.1 .1.3.6.1.2.1.1.6.0 s "Paris"
Résultat :
iso.3.6.1.2.1.1.6.0 = STRING: "Paris"
Voici ces commandes dans notre terminal :
Conclusion sur la gestion SNMP
Vous avez maintenant configuré un serveur SNMP sur un système Linux et exécuté des requêtes SNMP pour interroger et modifier des valeurs. Ce processus vous permet de superviser des appareils et de collecter des informations critiques sur leur état via le protocole SNMP. En cas de succès, ces requêtes SNMP peuvent être intégrées dans un système de supervision plus large comme Prometheus pour une gestion centralisée des métriques.
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Qu'est-ce que le protocole SNMP ?
Quels sont les composants du protocole SNMP ?
Comment SNMP organise-t-il les informations des appareils ?
Quelles sont les différentes versions de SNMP et leurs caractéristiques ?
Comment configurer et tester SNMP sur un serveur Linux ?
Conclusion
En configurant avec succès SNMP sur votre serveur, vous pouvez superviser efficacement vos appareils réseau. Quelle autre technologie de gestion réseau envisagez-vous d’explorer ?