Installation d’un serveur SNMP sous GNU/Linux
Date: 18/02/2008 | Catégories: Open-source,Reseau | Tags: debian,fedora,linux,snmp,ubuntu
Ce billet a pour but de détailler l'installation et la configuration d'un serveur SNMP sous Linux. J'ai choisi d'utiliser la solution open-source net-snmpd.
Celle-ci dispose d'une communauté de développeurs très active. De plus cette solution est disponible sous de nombreux OS (Linux, BSD mais aussi Mac OS X et même Windows !).
Installation de net-snmp
Sous Fedora:
# yum install net-snmp
# yum install net-snmp-utils
Sous Ubuntu/Debian:
# apt-get install snmpd snmp-mibs-downloader libsnmp-dev
Configuration
Il faut, dans un premier temps, éditer le fichier /etc/snmp/snmpd.conf et configurer la ligne com2sec. Celle-ci permet d'associer une communauté SNMP à un "nom sécurisé". Elle contient 3 arguments: le premier est le nom le nom sécurisé, le second est le réseau (source des requêtes), le troisième est la communauté SNMP.
On autorise le daemon a écouter sur toutes les adresses IP et pas seulement sur la 127.0.0.1 en commentant la ligne suivante:
#agentAddress udp:127.0.0.1:161
et en dé-commentant:
agentAddress udp:161,udp6:[::1]:161
Par exemple, pour autoriser seulement les requêtes venant du réseau 192.168.1.0/24, il suffit d'ajouter la ligne suivante:
com2sec localnetwork 192.168.1.0/24 public
Ensuite il est possible d'associer ce "nom sécurisé" à un groupe:
group rogroup v1 localnetwork
On vient de demander la création du groupe rogroup (pour Read Only Group), qui contient localnetwork.
Il est également possible de créer des vus (c'est à dire de préciser ceux que les groupes peuvent voir dans la MIB). Personnellement, je n'utilise qu'une vue globale:
view all included .1 80
Finalement, on associe le groupe et la vue:
access rogroup "" any noauth exact all none none
Lancement du daemon SNMP
Sous Fedora:
# service snmpd start
Lancement automatique au démarrage (sous Fedora):
# chkconfig snmpd on
Sous Ubuntu/ Debian:
Il faut d'abord modifier le fichier /etc/default/snmpd et remplacer la ligne
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
par
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid'
Puis lancer le daemon:
# /etc/init.d/snmpd restart
Comment tester
Il suffit de se mettre sur une machine dans un des réseaux autorisés (voir dans l'option com2sec) et de lancer la commande suivante:
# snmpwalk -v 1 -c public 192.168.29.50
La MIB standard devrait apparaître...
Il est maintenant possible de surveiller cette machine, par exemple avec des solutions comme Nagios, Zenoss ou Cacti...