Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
snmp [Le 31/08/2022, 23:38] moths-art Passage de http à https sur les liens externes (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
snmp [Le 02/03/2023, 14:17] (Version actuelle) 217.114.205.206 [Installation] |
||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | ==== Qu'est ce que le SNMP ? ==== | + | ==== Qu'est-ce que le SNMP ? ==== |
Le **SNMP** est un protocole qui permet aux administrateurs réseaux de gérer les équipements et de diagnostiquer les problèmes. Le sigle SNMP signifie //Simple Network Management Protocol// et la plupart des switchs, UPS, pare-feux matériels, routeurs, etc. comprennent ce protocole pour les diagnostics. | Le **SNMP** est un protocole qui permet aux administrateurs réseaux de gérer les équipements et de diagnostiquer les problèmes. Le sigle SNMP signifie //Simple Network Management Protocol// et la plupart des switchs, UPS, pare-feux matériels, routeurs, etc. comprennent ce protocole pour les diagnostics. | ||
Ligne 17: | Ligne 17: | ||
==== Généralités et vocabulaire ==== | ==== Généralités et vocabulaire ==== | ||
- | Le protocole SNMP(Simple Network Management Protocol) est relativement simple… une fois qu'on a compris. Voyons comment se compose un ensemble d'éléments communiquant //via// SNMP. | + | Le protocole SNMP (Simple Network Management Protocol) est relativement simple… une fois qu'on a compris. Voyons comment se compose un ensemble d'éléments communiquant //via// SNMP. |
- | Un périphérique réseau (routeur, switch, pare-feu, …) fait tourner un //agent SNMP// qui est en fait un processus //dæmon// qui répond aux requêtes du réseau. L'**agent SNMP** fournit un grand nombre d'**identifiant d'objets** (//Object Identifiers// ou **OID**). Un **OID** est une paire clé-valeur unique. L'**agent SNMP** remplit ces valeurs et fait en sorte qu'elles soient disponibles. Un **manager SNMP** (ou **Serveur SNMP**) peut effectuer des requêtes aux agents avec ces paires clé-valeur à propos d'informations spécifiques. Les **OID SNMP** peuvent être lus ou écrits. | + | Un périphérique réseau (routeur, switch, pare-feu…) fait tourner un //agent SNMP// qui est en fait un processus //daemon// qui répond aux requêtes du réseau. L'**agent SNMP** fournit un grand nombre d'**identifiant d'objets** (//Object Identifiers// ou **OID**). Un **OID** est une paire clé-valeur unique. L'**agent SNMP** remplit ces valeurs et fait en sorte qu'elles soient disponibles. Un **manager SNMP** (ou **Serveur SNMP**) peut effectuer des requêtes aux agents avec ces paires clé-valeur à propos d'informations spécifiques. Les **OID SNMP** peuvent être lus ou écrits. |
- | Notons qu'il est rare d'écrire des informations sur un périphérique SNMP. Le SNMP est surtout utilisé par de nombreuses applications de management pour contrôler l'état des périphériques réseaux (comme une interface graphique administrative pour les switches). Un système d'authentification basique existe dans le SNMP ; il permet au manager d'envoyer un //community name// (qui est en fait un mot de passe en clair) pour autoriser la lecture ou l'écriture des OID. La plupart des périphériques utilisent le //community name// non sécurisé « public ». Les communications SNMP se font //via// les ports UDP 161 et 162. | + | Notons qu'il est rare d'écrire des informations sur un périphérique SNMP. Le SNMP est surtout utilisé par de nombreuses applications de management pour contrôler l'état des périphériques réseaux (comme une interface graphique administrative pour les switchs). Un système d'authentification basique existe dans le SNMP ; il permet au manager d'envoyer un //community name// (qui est en fait un mot de passe en clair) pour autoriser la lecture ou l'écriture des OID. La plupart des périphériques utilisent le //community name// non sécurisé « public ». Les communications SNMP se font //via// les ports UDP 161 et 162. |
Ligne 48: | Ligne 48: | ||
* SNMP v3 (RFC 3411 à 3418). | * SNMP v3 (RFC 3411 à 3418). | ||
- | La co-existence des trois versions est détaillée dans la RFC 3584. | + | La coexistence des trois versions est détaillée dans la RFC 3584. |
Ligne 57: | Ligne 57: | ||
Pour installer le paquet client SNMP, [[:tutoriel:comment_installer_un_paquet|installez le paquet]] [[apt>snmpd]]. | Pour installer le paquet client SNMP, [[:tutoriel:comment_installer_un_paquet|installez le paquet]] [[apt>snmpd]]. | ||
+ | [[https://thejoyofstick.com/blog/2019/05/28/installing-snmp-mib-files-in-linux-ubuntu-12-04-lts/|A partir d'Ubuntu 12.04, il faut aussi installer les MIBs]] en [[:tutoriel:comment_installer_un_paquet|installant le paquet]] [[apt>snmp-mibs-downloader]] | ||
+ | et charger les MIBs en commentant la ligne **mibs :** dans le fichier **/etc/snmp/snmp.conf** : | ||
+ | <code> | ||
+ | grep ^mibs /etc/snmp/snmp.conf -q && sudo sed -i 's/\(^mibs.*$\)/#\1/' /etc/snmp/snmp.conf | ||
+ | </code> | ||
===== Configuration ===== | ===== Configuration ===== | ||
Ligne 153: | Ligne 158: | ||
===== Utilisation ===== | ===== Utilisation ===== | ||
- | Pour une utilisation de base du SNMP, vous avez besoin de 2 commandes principales : | + | Pour une utilisation de base du SNMP, vous avez besoin de 2 commandes principales : |
* ''snmpwalk'' : pour sortir des informations par lots. | * ''snmpwalk'' : pour sortir des informations par lots. | ||
* ''snmpget'' : pour obtenir une information sur un OID précis. | * ''snmpget'' : pour obtenir une information sur un OID précis. | ||
Ligne 170: | Ligne 175: | ||
* ''192.168.0.232'' : indique l'adresse IP du périphérique. | * ''192.168.0.232'' : indique l'adresse IP du périphérique. | ||
- | Une telle commande retourne quelque chose de similaire à ce qui suit : | + | Une telle commande retourne quelque chose de similaire à ce qui suit : |
<code> | <code> | ||
SNMPv2-MIB::sysDescr.0 = STRING: 3Com SuperStack 3 | SNMPv2-MIB::sysDescr.0 = STRING: 3Com SuperStack 3 | ||
Ligne 193: | Ligne 198: | ||
</code> | </code> | ||
- | Cette liste peut être très longue et dépend du périphérique supervisé. Vous constatez que les informations sont classées par MIB suivi du OID. | + | Cette liste peut être très longue et dépend du périphérique supervisé. Vous constatez que les informations sont classées par MIB suivi du OID. |
Dans l'exemple ci-dessus, nous avons « ''IF-MIB::ifOperStatus.117 = INTEGER: down(2)'' ». Ce qui signifie que l'OID « ''ifOperStatus.117'' » (qui correspond à l'état du port 17 du switch) est repris dans la MIB « ''IF-MIB'' » (qui est une MIB standard). Cet OID (clé) est associé à une valeur entière (type ''INTEGER'') qui vaut 2 (qui indique que l'état est ''down''). | Dans l'exemple ci-dessus, nous avons « ''IF-MIB::ifOperStatus.117 = INTEGER: down(2)'' ». Ce qui signifie que l'OID « ''ifOperStatus.117'' » (qui correspond à l'état du port 17 du switch) est repris dans la MIB « ''IF-MIB'' » (qui est une MIB standard). Cet OID (clé) est associé à une valeur entière (type ''INTEGER'') qui vaut 2 (qui indique que l'état est ''down''). | ||
Ligne 218: | Ligne 223: | ||
- | ===== Note(s) ===== | + | ===== Note·s ===== |
La gestion des //traps// se fait avec le serveur SNMP et fera l'objet d'un autre article. | La gestion des //traps// se fait avec le serveur SNMP et fera l'objet d'un autre article. | ||
Ligne 227: | Ligne 232: | ||
//Contributeurs : [[utilisateurs:ostaquet|ostaquet]], [[utilisateurs:sefran|Franc SERRES]], [[utilisateurs:Yannis.B|Yannis BRISOT]], [[utilisateurs:HacKurx|HacKurx]].// | //Contributeurs : [[utilisateurs:ostaquet|ostaquet]], [[utilisateurs:sefran|Franc SERRES]], [[utilisateurs:Yannis.B|Yannis BRISOT]], [[utilisateurs:HacKurx|HacKurx]].// | ||
+ |