====== Snmp ====== ===== Installation ===== Sur debian et dérivées : apt-get install snmpd Sur RedHat et dérivées : yum install net-snmp ou : dnf install net-snmp ===== Configuration ===== ====== snmpd ====== ===== Version 1 et 2c ===== Pour une configuration rapide, éditer le fichier de configuration suivant : vim /etc/snmp/snmpd.conf Ne pas oublier de supprimer et configurer la première ligne non commentée, si elle existe, concernant l'écoute en 127.0.0.1.\\ Commenter la ligne de la communauté par défaut et ajouter la sienne : rocommunity masuperbecommunautéetouteneuve NB : rocommunity = read only community ===== Version 3 ===== ^^TODO^^ ====== Firewalld ====== Si firewalld est activé, par défaut il n'autorise pas les communications nécessaires au service snmpd.\\ Se référer à l'exemple suivant :\\ Firewalld : [[Firewalld:start#ajouter_un_service]] ====== Extend ====== Il est possible d’exécuter un script via snmp, déposer alors ce script sur le serveur exécutant snmpd, exemple : /etc/snmp/test.sh\\ Éditer le fichier de configuration, et rechercher les lignes correspondant à "extend" ou "exec" : vim /etc/snmp/snmpd.conf Ajouter la ligne correspondante au script souhaité : extend monscriptdetest /bin/bash /etc/snmp/test.sh localhost Comprendre: * extend : on utilise extend, ou extend-sh afin de passer une commande shell * monscriptdetest : le nom arbitraire à partir duquel on créé l'OID dédiée au script * /bin/bash /etc/snmp/test.sh locahost : le langage utilisé, l'emplacement du script et les arguments; on peut donc utiliser le langage que l'on souhaite. Attention : sur les versions de debian, et dérivées, le service snmpd démarre par défaut avec l'utilisateur snmp, créé spécialement à cet effet; sous RedHat, et dérivées, le service démarre avec l'utilisateur root.\\ Pour éviter que le script manque d'autorisation lors de son exécution il est possible de modifier l'utilisateur qui exécute le service snmpd.\\ Éditer le fichier suivant : vim /etc/default/snmpd La ligne à modifier peut varier selon les versions et la distribution mais les options à modifier sont "-u root -g root" : # snmpd options (use syslog, close stdin/out/err). SNMPDOPTS='-Lsd -Lf /dev/null -u root -g root -I -smux,mteTrigger,mteTriggerConf -p /run/snmpd.pid' Il est aussi possible d'augmenter les privilèges de l'utilisateur snmp, dans tous les cas, rester prudent et ne pas autoriser l’exécution de ce script en anonyme.\\ Redémarrer snmpd : systemctl restart snmpd Pour récupérer toute la liste des OIDs de tous les scripts extend : snmpwalkd -v2c -c masuperbecommunautéetouteneuve monserveurdistant NET-SNMP-EXTEND-MIB::nsExtendObjects