Pour configurer snmp sur Linux, il faut tout d'abord installer le paquet snmpd avec la commande :
apt-get install snmpd
Ensuite, il faut aller éditer le fichier de configuration :
nano /etc/snmp/snmpd.conf
Changez la ligne suivante (ou la mettre en commentaire) :
agentAddress udp:127.0.0.1:161
Et la remplacer par :
agentAddress udp:0.0.0.0:161
Il faut ensuite configurer la communauté SNMP :
rocommunity read_community default
ou rocommunity « nom de la communauté » « range ip (ip unique ) /masque de sous-réseaux »
rocommunity read_community 10.7.0.14/32
ATTENTION, ne pas laisser de rocommunity avec la vue par défaut systemonly (commentez, effacez ou modifiez la ligne suivante) :
# rocommunity public default -V systemonly
Ensuite il faut redémarrer le service SNMP en tapant :
/etc/init.d/snmpd restart
Afin d'éviter que le l'agent n'ajoute une ligne toutes les X minutes dans votre fichier de log (à chaque interrogation par le serveur Esia), n'oubliez pas de rendre SNMP moins verbeux.
Il faut, dans le fichier /etc/default/snmpd, remplacer la ligne suivante :
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux,mteTrigger,mteTriggerConf -p /run/snmpd.pid'
par ceci :
SNMPDOPTS='-LS4d -Lf /dev/null -u snmp -g snmp -I -smux,mteTrigger,mteTriggerConf -p /run/snmpd.pid'
Lsd signifie Ls FACILITY où facility peut être ('d' pour LOG_DAEMON, 'u' pour LOG_USER, ou '0'-'7' pour LOG_LOCAL0 jusque LOG_LOCAL7).
LS4d signifie LS LEVEL FACILITY et permet donc de spécifier le LEVEL d'erreur (5 LOG_NOTICE par défaut) avant la FACILITY (voir ci dessus). Les différents levels sonts :
0 ou ! pour LOG_EMERG, 1 ou a pour LOG_ALERT, 2 ou c pour LOG_CRIT, 3 ou e pour LOG_ERR, 4 ou w pour LOG_WARNING, 5 ou n pour LOG_NOTICE, 6 ou i pour LOG_INFO, and 7 ou d pour LOG_DEBUG.
Saisissez la commande suivante :
systemctl edit snmpd
Cela va (entre autres) créer le fichier « /etc/systemd/system/snmpd.service.d/override.conf ». Ajoutez ce code dans le fichier :
[Service] ExecStart= ExecStart=/usr/sbin/snmpd -LS4d -Lf /dev/null -u Debian-snmp -g Debian-snmp -I -smux,mteTrigger,mteTriggerConf -f
Ensuite il faut redémarrer le service SNMP en tapant :
service snmpd restart
Sur Debian Buster si la commande service n'existe pas vous pouvez redémarrer avec cette commande:
systemctl restart snmpd