Outils pour utilisateurs

Outils du site


Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
215snmp:30_install_snmp [le 02/07/2010 à 14:06] prof215snmp:30_install_snmp [le 30/06/2018 à 15:42] (Version actuelle) prof
Ligne 1: Ligne 1:
 ====== Installation des services SNMP ====== ====== Installation des services SNMP ======
 +Sur des « boites noires », l'agent SNMP est présent ou non, il faut s'en préoccuper au moment de l'achat. Les swiches administrables, par exemple, en disposent généralement. En revanche, sur un système de type GNU/Linux, l'agent SNMP doit être installé et correctement configuré si l'on en a besoin. Ceci est également vrai sur les OS Microsoft où le service NMP doit également être installé, configuré et activé.
 +
 Nous allons utiliser une Ubuntu 10.4 (lucid lynx) pour la démonstration. Il existe deux paquets fondamentaux : Nous allons utiliser une Ubuntu 10.4 (lucid lynx) pour la démonstration. Il existe deux paquets fondamentaux :
-  * ''snmp'' qui va installer les outils clients ; +  * ''snmp'' qui va installer les outils clients, nous nous en servirons tout au long de l'exposé 
-  * ''snmpd'' qui va installer le serveur snmp.+  * ''snmpd'' qui va installer l'agent snmp. Nous l'installons surtout pour comprendre comment fonctionne le principe des communautés avec les versions 1 et 2c de SNMP, et constater que sa configuration n'est pas si simple, ce qui laisse le champ libre à des outils comme Zabbix, qui propose son propre agent, indépendant de SNMP.
  
   aptitude install snmp snmpd   aptitude install snmp snmpd
-===== Le pack « snmp » ===== +  
-<code> +
-$ aptitude show snmp +
-Paquet : snmp +
-État: installé +
-Automatiquement installé: non +
-Version : 5.4.2.1~dfsg0ubuntu1-0ubuntu2.1 +
-Priorité : optionnel +
-Section : net +
-Responsable : Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +
-Taille décompressée : 1 475k +
-Dépend: libc6 (>= 2.4), libsnmp15 (>= 5.4.2.1~dfsg), libssl0.9.8 (>= 0.9.8k-1) +
-Recommande: perl-modules +
-Description : SNMP (Simple Network Management Protocol) applications +
- The Simple Network Management Protocol (SNMP) provides a framework for the exchange of management information between +
- agents (servers) and clients.  +
-  +
- The Net-SNMP applications are a collection of command line clients for issuing SNMP requests to agents. +
-Site : http://net-snmp.sourceforge.net/ +
-</code> +
-Il n'y a rien de spécial à configurer ici. Nous disposons principalement d'une quantité impressionnante d'outils destinés à interroger un serveur snmp : +
-<html><pre class="code"> +
-$ dpkg -L snmp +
-/. +
-... +
-/usr/bin +
-<span class="hly">/usr/bin/snmpbulkget +
-/usr/bin/snmpbulkwalk +
-/usr/bin/snmpconf +
-/usr/bin/snmpdelta +
-/usr/bin/snmpdf +
-/usr/bin/snmpget +
-/usr/bin/snmpgetnext +
-/usr/bin/snmpnetstat +
-/usr/bin/snmpset +
-/usr/bin/snmpstatus +
-/usr/bin/snmptable +
-/usr/bin/snmptest +
-/usr/bin/snmptranslate +
-/usr/bin/snmptrap +
-/usr/bin/snmpusm +
-/usr/bin/snmpvacm +
-/usr/bin/snmpwalk +
-/usr/bin/encode_keychange +
-/usr/bin/fixproc +
-/usr/bin/traptoemail</span> +
-/usr/share/man/man1/snmpinform.1.gz +
-<span class="hly">/usr/bin/snmpinform</span> +
-</pre></html> +
- +
-Beaucoup d'utilitaires, pas de fichiers de configuration et de la documentation (enlevée dans la liste pour plus de lisibilité). Dans l'immédiat, tout ceci ne nous avance pas beaucoup, notre serveur ''snmpd'' n'étant pas encore vraiment opérationnel.+
  
 ===== Le pack « snmpd » ===== ===== Le pack « snmpd » =====
 <code> <code>
 $ aptitude show snmpd $ aptitude show snmpd
-Paquet : snmpd+Paquet : snmpd
 État: installé État: installé
 Automatiquement installé: non Automatiquement installé: non
-Version : 5.4.2.1~dfsg0ubuntu1-0ubuntu2.1 +Version : 5.4.2.1~dfsg0ubuntu1-0ubuntu2.1 
-Priorité : optionnel +Priorité : optionnel 
-Section : net +Section : net 
-Responsable : Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Responsable : Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> 
-Taille décompressée : 1 257k+Taille décompressée : 1 257k
 Dépend: libc6 (>= 2.4), libsnmp15 (>= 5.4.2.1~dfsg), libwrap0 (>= 7.6-4~), debconf (>= 0.5) | debconf-2.0, adduser, debconf, lsb-base (>= 3.2-13) Dépend: libc6 (>= 2.4), libsnmp15 (>= 5.4.2.1~dfsg), libwrap0 (>= 7.6-4~), debconf (>= 0.5) | debconf-2.0, adduser, debconf, lsb-base (>= 3.2-13)
 Est en conflit: snmp (< 3.6-3), snmptraplogd Est en conflit: snmp (< 3.6-3), snmptraplogd
 Remplace: snmptraplogd Remplace: snmptraplogd
-Description : SNMP (Simple Network Management Protocol) agents+Description : SNMP (Simple Network Management Protocol) agents
  The Simple Network Management Protocol (SNMP) provides a framework for the exchange of management information between agents (servers) and clients.   The Simple Network Management Protocol (SNMP) provides a framework for the exchange of management information between agents (servers) and clients. 
    
  The Net-SNMP agent is a daemon which listens for incoming SNMP requests from clients and provides responses.  The Net-SNMP agent is a daemon which listens for incoming SNMP requests from clients and provides responses.
-Site : http://net-snmp.sourceforge.net/+Site : http://net-snmp.sourceforge.net/
 </code> </code>
 ==== Contenu du pack ==== ==== Contenu du pack ====
Ligne 97: Ligne 49:
  
 Peu d'exécutables (les « daemons » ''snmpd'' et ''snmptrapd'') et quelques fichiers de configuration qui proposent par défaut, à l'habitude des distributions GNU/Linux, un usage très restreint de snmp. Peu d'exécutables (les « daemons » ''snmpd'' et ''snmptrapd'') et quelques fichiers de configuration qui proposent par défaut, à l'habitude des distributions GNU/Linux, un usage très restreint de snmp.
 +
 +==== Première configuration ====
  
 Le gros travail va être de se plonger dans ''/etc/snmp/snmpd.conf''. Il est encore un peu tôt pour étudier les arcanes de ce fichier, aussi nous contenterons-nous pour l'instant d'une recette. Voici les modifications à apporter : Le gros travail va être de se plonger dans ''/etc/snmp/snmpd.conf''. Il est encore un peu tôt pour étudier les arcanes de ce fichier, aussi nous contenterons-nous pour l'instant d'une recette. Voici les modifications à apporter :
Ligne 119: Ligne 73:
 Il suffit de relancer le service ''snmpd'' : Il suffit de relancer le service ''snmpd'' :
   /etc/init.d/snmpd restart   /etc/init.d/snmpd restart
-et notre serveur devrait être en mesure de servir toutes les informations qu'il connait, à condition de les lui demander localement (pas depuis le réseau, question de sécurité).+et notre serveur devrait être en mesure de servir toutes les informations qu'il connaît, à condition de les lui demander localement (127.0.0.1, question de sécurité).
  
 +==== Vérification ====
 +Avons-nous un service udp à l'écoute sur le port 161 ?
 +<html><pre class="code">
 +# netstat -laupn
 +Connexions Internet actives (serveurs et établies)
 +Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat       PID/Program name
 +<span class="bhly">udp        0      0 127.0.0.1:161           0.0.0.0:                          1717/snmpd</span>
 +udp        0      0 0.0.0.0:68              0.0.0.0:                          620/dhclient    
 +udp        0      0 0.0.0.0:49122           0.0.0.0:                          599/avahi-daemon: r
 +udp        0      0 0.0.0.0:5353            0.0.0.0:                          599/avahi-daemon: r
 +</pre></html>
 +Il y a bien un processus à l'écoute d'UDP sur le port 161, uniquement sur l'interface locale.
 +
 +Le fait que notre ''snmpd'' n'écoute que sur l'interface locale, sur Debian et dérivées, vient du fichier ''/etc/default/snmpd'', mais ceci est encore une autre histoire, que nous raconterons plus tard.
 +
 +===== Le pack « snmp » =====
 +<code>
 +$ aptitude show snmp
 +Paquet : snmp
 +État: installé
 +Automatiquement installé: non
 +Version : 5.4.2.1~dfsg0ubuntu1-0ubuntu2.1
 +Priorité : optionnel
 +Section : net
 +Responsable : Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
 +Taille décompressée : 1 475k
 +Dépend: libc6 (>= 2.4), libsnmp15 (>= 5.4.2.1~dfsg), libssl0.9.8 (>= 0.9.8k-1)
 +Recommande: perl-modules
 +Description : SNMP (Simple Network Management Protocol) applications
 + The Simple Network Management Protocol (SNMP) provides a framework for the exchange of management information between
 + agents (servers) and clients. 
 + 
 + The Net-SNMP applications are a collection of command line clients for issuing SNMP requests to agents.
 +Site : http://net-snmp.sourceforge.net/
 +</code>
 +==== Contenu ====
 +
 +Il n'y a rien de spécial à configurer ici. Nous disposons principalement d'une quantité impressionnante d'outils destinés à interroger un serveur snmp :
 +<html><pre class="code">
 +$ dpkg -L snmp
 +/.
 +...
 +/usr/bin
 +<span class="hly">/usr/bin/snmpbulkget
 +/usr/bin/snmpbulkwalk
 +/usr/bin/snmpconf
 +/usr/bin/snmpdelta
 +/usr/bin/snmpdf
 +/usr/bin/snmpget
 +/usr/bin/snmpgetnext
 +/usr/bin/snmpnetstat
 +/usr/bin/snmpset
 +/usr/bin/snmpstatus
 +/usr/bin/snmptable
 +/usr/bin/snmptest
 +/usr/bin/snmptranslate
 +/usr/bin/snmptrap
 +/usr/bin/snmpusm
 +/usr/bin/snmpvacm
 +/usr/bin/snmpwalk
 +/usr/bin/encode_keychange
 +/usr/bin/fixproc
 +/usr/bin/traptoemail</span>
 +/usr/share/man/man1/snmpinform.1.gz
 +<span class="hly">/usr/bin/snmpinform</span>
 +</pre></html>
 +
 +Beaucoup d'utilitaires, pas de fichiers de configuration et de la documentation (enlevée dans la liste pour plus de lisibilité). Avec ces outils, il est possible d'interroger tout agent SNMP accessible par le réseau.
 +
 +==== Vérification ====
 +Pas question d'entrer déjà dans les détails. Ici aussi une simple recette permettra d'espérer que tout ceci fonctionne :
 +  ~$ snmpwalk -c public -v 1 localhost
 +devrait dérouler une longue liste de choses pour le moment incompréhensibles. Notez qu'il n'est nul besoin de privilèges ''root'' pour extraire ces informations.
 +
 +<code>
 +SNMPv2-MIB::sysDescr.0 = STRING: Linux lucid0 2.6.32-23-generic #37-Ubuntu SMP Fri Jun 11 08:03:28 UTC 2010 x86_64
 +SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
 +DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (9217) 0:01:32.17
 +SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmpd.local.conf)
 +SNMPv2-MIB::sysName.0 = STRING: lucid0
 +SNMPv2-MIB::sysLocation.0 = STRING: Unknown (configure /etc/snmp/snmpd.local.conf)
 +SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
 +SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
 +SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance
 +SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
 +SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
 +SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB
 +SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip
 +SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB
 +SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
 +SNMPv2-MIB::sysORDescr.1 = STRING: The SNMP Management Architecture MIB.
 +SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching.
 +SNMPv2-MIB::sysORDescr.3 = STRING: The management information definitions for the SNMP User-based Security Model.
 +SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
 +SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations
 +SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations
 +SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations
 +SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP.
 +SNMPv2-MIB::sysORUpTime.1 = Timeticks: (0) 0:00:00.00
 +SNMPv2-MIB::sysORUpTime.2 = Timeticks: (0) 0:00:00.00
 +SNMPv2-MIB::sysORUpTime.3 = Timeticks: (0) 0:00:00.00
 +SNMPv2-MIB::sysORUpTime.4 = Timeticks: (0) 0:00:00.00
 +SNMPv2-MIB::sysORUpTime.5 = Timeticks: (0) 0:00:00.00
 +SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00
 +SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00
 +SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00
 +IF-MIB::ifNumber.0 = INTEGER: 2
 +IF-MIB::ifIndex.1 = INTEGER: 1
 +IF-MIB::ifIndex.2 = INTEGER: 2
 +IF-MIB::ifDescr.1 = STRING: lo
 +IF-MIB::ifDescr.2 = STRING: eth0
 +IF-MIB::ifType.1 = INTEGER: softwareLoopback(24)
 +IF-MIB::ifType.2 = INTEGER: ethernetCsmacd(6)
 +IF-MIB::ifMtu.1 = INTEGER: 16436
 +IF-MIB::ifMtu.2 = INTEGER: 1500
 +...
 +</code>
 +Notez également l'impression d'impuissance que procure la lecture de cette liste d'informations... Espérons que par la suite, tout ceci nous paraitra un peu plus clair.
  
 +Tout ceci est surtout destiné à vérifier que l'on peut disposer d'outils d'interrogation d'un agent SNMP. Il devient urgent de comprendre comment les informations que SNMP peut fournir sont classées et comment l'on peut retrouver celles qui nous intéressent. Juste histoire d'effrayer le lecteur, sachez qu'un simple switch de type HP Procurve J4899B peut renvoyer plus de 20 000 lignes d'informations, toutes aussi difficilement compréhensibles à première vue.
Installation des services SNMP: Dernière modification le: 02/07/2010 à 14:06 par prof