Version Ubuntu: Ubuntu 14.04.1 LTS
Version SNMP: 5.7.2
Problème court: Un grand nombre des entrées du fichier de configuration "par défaut" sont cassées. Ce qui importe peu, car je ne parviens même pas à démarrer SNMP.
Résultat souhaité: Je souhaite une instance SNMP opérationnelle, avec le plus grand nombre de paramètres par défaut fonctionnels possible.
REMARQUE: à partir d'un très grand nombre de sources, y compris de sites Web appartenant à Canonical, Ubuntu, il est dit que je dois modifier export
et SNMPDOPTS
afin de disposer des fonctionnalités de base.
/etc/default/snmpd
export MIBS=UCD-SNMP-MIB
SNMPDRUN=yes
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -g snmp -I -smux -p /var/run/snmpd.pid -c /etc/snmp/snmpd.conf'
TRAPDRUN=no
TRAPDOPTS='-Lsd -p /var/run/snmptrapd.pid'
SNMPDCOMPAT=yes
/etc/snmp/snmpd.conf
view systemonly included .1.3.6.1.2.1.1
view systemonly included .1.3.6.1.2.1.25.1
rocommunity public
rwcommunity nanana
sysLocation vm1-ryd-wlo
sysContact Paul Adams <[email protected]>
sysServices 72
disk / 10000
disk /var 5%
load 12 10 5
trapsink localhost public
iquerySecName internalUser
rouser internalUser
master agentx
/var/log/syslog
Oct 3 13:59:51 mdnsreflector-ryd-wlo snmpd[9120]: Server Exiting with code 1
Oct 3 14:00:09 mdnsreflector-ryd-wlo snmpd[9143]: Turning on AgentX master support.
Oct 3 14:00:09 mdnsreflector-ryd-wlo snmpd[9145]: NET-SNMP version 5.7.2
Sudo service --status-all
[ + ] snmpd
Sudo service ufw status
Status: inactive
Même si cette configuration se charge et est apparemment en cours d'exécution. En réalité, vous ne pouvez rien interroger de cette instance SNMP depuis un périphérique distant. La connexion expire finalement.
Interroger le serveur lui-même ne produit rien.
snmpwalk -Os -c public -v 1 système hôte local
system: Unknown Object Identifier (Sub-id not found: (top) -> system)
/etc/var/syslog
Oct 3 14:10:32 mdnsreflector-ryd-wlo snmpd[9292]: Turning on AgentX master support.
Oct 3 14:10:32 mdnsreflector-ryd-wlo snmpd[9292]: Turning on AgentX master support.
Oct 3 14:10:32 mdnsreflector-ryd-wlo snmpd[9292]: Error opening specified endpoint "udp:161"
Oct 3 14:10:32 mdnsreflector-ryd-wlo snmpd[9292]: Server Exiting with code 1
Service Sudo --status-all
[ - ] snmpd
/etc/snmp/snmpd.conf
proc mount
proc ntalkd 4
proc sendmail 10 1
includeAllDisks 10%
extend test1 /bin/echo Hello, world!
extend-sh test2 echo Hello, world! ; echo Hi there ; exit 35
/ var/log/syslog
Oct 3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: /etc/snmp/snmpd.conf: line 90: Error: Already have an entry for this process.
Oct 3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: /etc/snmp/snmpd.conf: line 92: Error: Already have an entry for this process.
Oct 3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: /etc/snmp/snmpd.conf: line 94: Error: Already have an entry for this process.
Oct 3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: /etc/snmp/snmpd.conf: line 106: Error: includeAllDisks already specified.
Oct 3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: /etc/snmp/snmpd.conf: line 106: Error: #011ignoring: includeAllDisks 10%
Oct 3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: /etc/snmp/snmpd.conf: line 146: Error: duplicate trigger name
Oct 3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: message repeated 6 times: [ /etc/snmp/snmpd.conf: line 146: Error: duplicate trigger name]
Oct 3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: /etc/snmp/snmpd.conf: line 148: Error: duplicate trigger name
Oct 3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: /etc/snmp/snmpd.conf: line 148: Error: duplicate trigger name
Oct 3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: duplicate table data attempted to be entered. row exists
Oct 3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: Failed to register extend entry 'test1' - possibly duplicate name.
Oct 3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: duplicate table data attempted to be entered. row exists
Oct 3 10:51:11 mdnsreflector-ryd-wlo snmpd[7575]: Failed to register extend entry 'test2' - possibly duplicate name.
SNMP n'est pas cassé. Le processus pour le faire fonctionner est juste un peu compliqué.
Les étapes suivantes ont été vérifiées pour fonctionner sur 14.04:
Après avoir installé SNMP et son démon (Sudo apt-get install snmp snmpd
), vous devrez éditer le fichier /etc/snmp/snmp.conf
et commenter la ligne contenant "mibs:"
Dans ce fichier, changez la ligne:
mibs :
à
#mibs :
Ensuite, en supposant que vous ne l'ayez pas déjà fait, vous devrez obtenir l'ensemble complet de bases MIB IETF. Ces fichiers ne sont pas livrés, par défaut, sur les systèmes Debian/Ubuntu en raison de problèmes de licence.
Du terminal (Ctrl-Alt-t), entrez les commandes suivantes:
Sudo apt-get install snmp-mibs-downloader
Sudo download-mibs
Ensuite, vous devrez modifier /etc/snmp/snmpd.conf
.
Pour permettre au système SNMP de recevoir des requêtes sur des interfaces autres que son adresse de bouclage. Les lignes pour cela devraient ressembler à ceci:
# Listen for connections from the local system only
# agentAddress udp:127.0.0.1:161
# Listen for connections on all interfaces (both IPv4 *and* IPv6)
agentAddress udp:161,udp6:[::1]:161
Notez que cela permettra à TOUT système d’interroger votre machine. Vous devrez l’ajuster pour limiter l’accès SNMP à votre appareil.
Vous allez maintenant vouloir changer votre chaîne SNMP en lecture seule de public
en une chaîne personnalisée de votre choix, comme ci-dessous:
#rocommunity public default -V systemonly
rocommunity <My$ecret$tr1nG> (don't use this example!)
Remarque: Si vous supprimez -V systemonly
de la ligne, vous aurez accès à l'intégralité de l'arborescence MIB et non pas à la partie système de l'arborescence.
Redémarrez le démon SNMP
Sudo service snmpd restart
Enfin, votre requête SNMP devrait maintenant répondre correctement.
par exemple.:
snmpwalk -v 2c -c <My$ecret$tr1nG> <MachineName> ipadd
IP-MIB::ipAdEntAddr.127.0.0.1 = IpAddress: 127.0.0.1
IP-MIB::ipAdEntAddr.192.168.1.7 = IpAddress: 192.168.1.7
IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1
IP-MIB::ipAdEntIfIndex.192.168.1.7 = INTEGER: 2
IP-MIB::ipAdEntNetMask.127.0.0.1 = IpAddress: 255.0.0.0
IP-MIB::ipAdEntNetMask.192.168.1.7 = IpAddress: 255.255.255.0
IP-MIB::ipAdEntBcastAddr.127.0.0.1 = INTEGER: 0
IP-MIB::ipAdEntBcastAddr.192.168.1.7 = INTEGER: 1
Voir les réponses suivantes pour une référence supplémentaire:
Je commencerais par une configuration de stock avec une vue de .1, activerais la journalisation de débogage et essayer d'obtenir des requêtes sur les OID. Honnêtement, je n'ai jamais maîtrisé les bases MIB et, comme je n'utilisais SNMP que pour des éléments tels que MRTG et cactus, je n'avais jamais vraiment besoin d'en savoir plus. Voyez si vous pouvez utiliser la configuration la plus simple possible, puis ajoutez un élément à la fois tout en conservant le ou les fichiers journaux pertinents.