Outils pour utilisateurs

Outils du site


Ceci est une ancienne révision du document !


Installation des services SNMP

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 ;
  • snmpd qui va installer le serveur snmp.
aptitude install snmp snmpd

Le pack « snmpd »

$ aptitude show snmpd
Paquet : snmpd
É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 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)
Est en conflit: snmp (< 3.6-3), snmptraplogd
Remplace: snmptraplogd
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 Net-SNMP agent is a daemon which listens for incoming SNMP requests from clients and provides responses.
Site : http://net-snmp.sourceforge.net/

Contenu du pack

$ dpkg -L snmpd
/.
...
/usr/sbin
/usr/sbin/snmpd
/usr/sbin/snmptrapd
...
/etc
/etc/default
/etc/default/snmpd
/etc/snmp
/etc/snmp/snmpd.conf
/etc/snmp/snmptrapd.conf
/etc/init.d
/etc/init.d/snmpd

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 :

####
# First, map the community name (COMMUNITY) into a security name
# (local and mynetwork, depending on where the request is coming
# from):

#       sec.name  source          community
#com2sec paranoid  default         public
com2sec readonly  default         public
#com2sec readwrite default         private

# Third, create a view for us to let the groups have rights to:

#           incl/excl subtree                          mask
view all    included  .1                                   
view system included  .1.3.6.1.2.1.1
#view system included  .iso.org.dod.internet.mgmt.mib-2.system
Il suffit de relancer le service snmpd :

/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é).

Vérification

Avons-nous un service udp à l'écoute sur le port 161 ?

# netstat -laupn
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat       PID/Program name
udp        0      0 127.0.0.1:161           0.0.0.0:*                           1717/snmpd
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
Il y a bien un processus à l'écoute d'UDP sur le port 161, uniquement sur l'interface locale.

Le pack « snmp »

$ 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/

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 :

$ dpkg -L snmp
/.
...
/usr/bin
/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
/usr/share/man/man1/snmpinform.1.gz
/usr/bin/snmpinform

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.

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.

Installation des services SNMP: Dernière modification le: 02/07/2010 à 14:24 par prof