Guide technique — Supervision réseau

Monitoring réseau
avec SNMP

Simple Network Management Protocol — configuration d'une architecture Manager/Agent, interrogation des équipements et exploration des MIBs.

Auteur
EHAVOX
Protocole
SNMP v2c / v3
Système
Debian / Ubuntu
Sommaire
01

Comprendre l'architecture SNMP

SNMP est le standard de l'industrie pour la surveillance et la gestion des équipements réseau — serveurs, routeurs, commutateurs. Une architecture SNMP de base repose sur deux rôles distincts : le Manager qui interroge, et l'Agent qui répond.

NMS
NMS
Manager
Station de monitoring qui pose les questions. Utilise des outils comme snmpwalk ou des logiciels comme Zabbix ou Nagios.
AGT
Service surveillé
Agent
Machine surveillée faisant tourner le service snmpd. Il écoute les requêtes du Manager et renvoie les informations demandées.
MIB
Base de données
MIB
Management Information Base — base de données structurée en arbre contenant toutes les informations que l'agent peut fournir.
OID
Identifiant unique
OID
Object Identifier — adresse numérique unique d'une donnée précise. Exemple : 1.3.6.1.2.1.1.1 correspond à la description système.
02

Configuration de l'Agent

L'Agent est la machine que vous souhaitez surveiller (IP d'exemple : 192.168.100.3).

Étape 1 — Préparation des dépôts

Pour obtenir les outils complets, assurez-vous que vos dépôts incluent les sections non-free (Debian) afin de télécharger les définitions de MIBs propriétaires si nécessaire. Modifiez /etc/apt/sources.list pour ajouter non-free ou non-free-firmware selon votre version de Debian.

Étape 2 — Installation
bash
sudo apt update
sudo apt install -y snmpd
Étape 3 — Configuration du service

Ouvrez le fichier de configuration principal de l'agent :

bash
sudo nano /etc/snmp/snmpd.conf

Modifiez ou ajoutez les deux directives suivantes :

snmpd.conf
# Écouter sur toutes les interfaces (port standard SNMP = 161)
agentAddress    udp:161

# Autoriser la lecture depuis n'importe quelle source avec la communauté "public"
rocommunity     public default
Attention
La communauté public est universellement connue et très peu sécurisée. Utilisez-la uniquement en environnement de test — jamais en production. Préférez SNMP v3 avec authentification et chiffrement en production.
Étape 4 — Redémarrage
bash
sudo systemctl restart snmpd.service
03

Configuration du Manager

Le Manager est votre station de monitoring — la machine depuis laquelle vous interrogerez les agents du réseau.

Étape 1 — Installation
bash
sudo apt install snmp snmp-mibs-downloader
Info
Le paquet snmp-mibs-downloader est crucial : il télécharge les noms d'objets lisibles par des humains, pour ne pas avoir à manipuler uniquement des suites de chiffres complexes comme 1.3.6.1.2.1.1.1.0.
Étape 2 — Activation des MIBs

Par défaut, Linux ignore les MIBs téléchargées pour rester léger. Ouvrez le fichier de configuration client et commentez la ligne mibs : :

bash
sudo nano /etc/snmp/snmp.conf
snmp.conf
# Commenter cette ligne pour activer l'utilisation des MIBs
# mibs :
04

Interrogation avec snmpwalk

La commande snmpwalk permet de parcourir l'arbre des informations d'un agent et de lister toutes les données disponibles.

Parcourir l'intégralité de l'arbre
bash
snmpwalk -c public -v 2c 192.168.100.3
  • -c public — définit la communauté. C'est un mot de passe en clair. public est la valeur par défaut, très peu sécurisée.
  • -v 2c — utilise la version 2c. Rapide et simple, mais ne chiffre pas les données.
  • 192.168.100.3 — adresse IP de l'agent cible à interroger.
Interroger un OID spécifique

Pour ne pas tout lister, vous pouvez cibler un objet précis par son nom symbolique. Exemple avec sysDescr (description du système) :

bash
snmpwalk -c public -v 2c 192.168.100.3 sysDescr
Obtenir une valeur unique avec snmpget
bash
# snmpget pour une seule valeur précise (plus rapide que snmpwalk)
snmpget -c public -v 2c 192.168.100.3 sysUpTime.0
05

OIDs courants

Le SNMP est vaste. Pour savoir quoi surveiller (température, charge CPU, état des interfaces), vous devez connaître les noms ou numéros des OIDs. Voici les plus courants :

Nom symbolique OID numérique Description
sysDescr 1.3.6.1.2.1.1.1 Description textuelle du système (OS, version…)
sysUpTime 1.3.6.1.2.1.1.3 Temps écoulé depuis le dernier démarrage
sysName 1.3.6.1.2.1.1.5 Nom d'hôte de l'équipement
ifSpeed 1.3.6.1.2.1.2.2.1.5 Vitesse nominale des interfaces réseau
ifOperStatus 1.3.6.1.2.1.2.2.1.8 État opérationnel des interfaces (up/down)
hrProcessorLoad 1.3.6.1.2.1.25.3.3.1.2 Charge CPU en pourcentage
hrStorageUsed 1.3.6.1.2.1.25.2.3.1.6 Espace disque utilisé
Astuce
Pour trouver d'autres OIDs, consultez des bases de données en ligne comme le site du CNRS ou oid-info.com pour les correspondances entre noms symboliques et numéros d'OID.
Sécurité
Note de sécurité importante : en production, n'utilisez jamais la communauté public. Passez à SNMP version 3 qui offre l'authentification par utilisateur et le chiffrement des données — ce que les versions 1 et 2c sont incapables de faire.