Pourquoi SNMP est-il cassé?

28

Version Ubuntu: Ubuntu 14.04.1 LTS

Version SNMP: 5.7.2

Bref problème: De nombreuses entrées du fichier de configuration par défaut sont rompues. Ce qui n'a pas vraiment d'importance parce que je n'arrive même pas à démarrer SNMP.

Résultat souhaité: je veux une instance SNMP fonctionnelle, avec autant de paramètres par défaut fonctionnels que possible.

REMARQUE: D'un grand nombre de sources, y compris les sites Web Ubuntu appartenant à Canonical, il est dit que je dois modifier export et SNMPDOPTS , afin d'avoir 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
  1. Même si cette configuration se charge et semble fonctionner. Vous ne pouvez pas réellement interroger quoi que ce soit depuis cette instance SNMP depuis un périphérique distant. La connexion finit par expirer.

  2. L’interroger depuis le serveur lui-même ne donne rien.

snmpwalk -Os -c public -v 1 système localhost

system: Unknown Object Identifier (Sub-id not found: (top) -> system)
  1. J'ai dû supprimer les entrées "agentAddress" car le logiciel continuait à paniquer chaque fois qu'il tentait de traiter cette commande. (Même si c'est la valeur par défaut et la manière dont elle est supposée être répertoriée dans la configuration.)

/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

sudo service --status-all

[ - ]  snmpd
  1. J'ai dû supprimer plusieurs entrées par défaut de la configuration car elles entraînaient également des erreurs lors de leur exécution.

/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.
    
posée Paul Adams 03.10.2014 - 21:30
la source

2 réponses

2

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 le 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 des 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.

A partir 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 .

  1. 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.

  2. Vous devez maintenant modifier votre chaîne SNMP en lecture seule de public à 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: La suppression de -V systemonly de la ligne permet d’accéder à l’arborescence MIB complète et de ne pas la limiter à la partie système de l’arborescence.

  3. 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:

Comment obtenir ou configurer IP-MIB dans Ubuntu 12.04?

Qu'est-ce que le protocole SNMP?

    
réponse donnée Kevin Bowen 24.06.2016 - 10:45
la source
0

Je voudrais commencer par une configuration de stock en vue de .1, activer la journalisation du débogage et essayer d’obtenir des requêtes vers des OID. Honnêtement, je n'ai jamais eu le coup de foudre des MIB, et comme je n'utilisais que le protocole SNMP pour des choses comme le MRTG et les cactus, je n'avais jamais vraiment besoin d'en savoir plus. Voyez si vous pouvez obtenir la configuration la plus simple possible, puis ajoutez un élément à la fois tout en adaptant les fichiers journaux pertinents.

    
réponse donnée John Oliver 05.03.2016 - 18:35
la source

Lire d'autres questions sur les étiquettes