Warum ist SNMP defekt?

28

Ubuntu Version: Ubuntu 14.04.1 LTS

SNMP-Version: 5.7.2

Kurzes Problem: Viele Einträge in der "Standard" -Konfigurationsdatei sind fehlerhaft. Was nicht wirklich wichtig ist, weil ich nicht einmal SNMP starten kann.

Gewünschtes Ergebnis: Ich möchte eine funktionierende SNMP-Instanz, in der so viele Standardeinstellungen wie möglich vorhanden sind.

HINWEIS: Von sehr vielen Quellen, darunter Canonical Ubuntu - Websites im Besitz, wird gesagt , dass ich ändern exportund SNMPDOPTS, um grundlegende Funktionalität zu haben.

/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. Obwohl diese Konfiguration geladen wird und anscheinend ausgeführt wird. Sie können von dieser SNMP-Instanz von einem Remote-Gerät aus nichts abfragen. Die Verbindung wird letztendlich unterbrochen.

  2. Das Abfragen vom Server selbst ergibt nichts.

snmpwalk -Os -c public -v 1 localhost-System

system: Unknown Object Identifier (Sub-id not found: (top) -> system)
  1. Ich musste die "agentAddress" -Einträge entfernen, da die Software bei jedem Versuch, diesen Befehl zu verarbeiten, in Panik geriet. (Auch wenn dies die Standardeinstellung ist und wie sie in der Konfiguration aufgeführt sein soll.)

/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. Ich musste einige der Standardeinträge in der Konfiguration entfernen, da sie auch beim Ausführen Fehler verursachten.

/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.
Paul Adams
quelle
Die folgenden Anweisungen wurden für die Arbeit am 14.04. Askubuntu.com/a/223734/106495
Kevin Bowen,

Antworten:

2

SNMP ist nicht defekt. Der Prozess, um es zum Laufen zu bringen, ist nur ein bisschen kompliziert.

Die folgenden Schritte wurden für die Arbeit am 14.04 überprüft:

Nach der Installation von SNMP und seines Daemons ( sudo apt-get install snmp snmpd) müssen Sie die Datei bearbeiten /etc/snmp/snmp.confund die Zeile mit "mibs:" auskommentieren.

Ändern Sie in dieser Datei die Zeile:

mibs :

zu

#mibs : 

Vorausgesetzt, Sie haben dies noch nicht getan, müssen Sie den vollständigen Satz von IETF-MIBs abrufen. Diese Dateien werden aufgrund von Lizenzproblemen nicht standardmäßig auf Debian / Ubuntu-Systemen ausgeliefert.

Geben Sie am Terminal ( Ctrl- Alt- t) die folgenden Befehle ein:

sudo apt-get install snmp-mibs-downloader

sudo download-mibs

Dann müssen Sie ändern /etc/snmp/snmpd.conf.

  1. Damit SNMP dem System ermöglicht, Abfragen auf anderen Schnittstellen als seiner Loopback-Adresse zu empfangen. Die Zeilen dafür sollten so aussehen:

    #  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
    

    Beachten Sie, dass auf diese Weise JEDES System Ihre Maschine abfragen kann. Sie müssen dies anpassen, um den SNMP-Zugriff auf Ihr Gerät zu beschränken.

  2. Sie möchten nun Ihre schreibgeschützte SNMP-Zeichenfolge publicwie folgt in eine benutzerdefinierte Zeichenfolge Ihrer Wahl ändern :

    #rocommunity public  default    -V systemonly
    rocommunity <My$ecret$tr1nG> (don't use this example!)
    

    Hinweis: Durch Entfernen -V systemonlyaus der Zeile wird der Zugriff auf den gesamten MIB-Baum ermöglicht und nicht auf den Systemteil des Baums beschränkt.

  3. Starten Sie den SNMP-Dämon neu

    sudo service snmpd restart
    

Schließlich sollte Ihre SNMP-Abfrage jetzt ordnungsgemäß antworten.

z.B:

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

Weitere Informationen finden Sie in den folgenden Antworten:

Wie bekomme oder konfiguriere ich IP-MIB in Ubuntu 12.04?

Was ist SNMP?

Kevin Bowen
quelle
0

Ich würde mit einer Aktienkonfiguration im Hinblick auf .1 beginnen, die Debug-Protokollierung aktivieren und versuchen, Abfragen an OIDs zu erhalten. Ich habe ehrlich gesagt nie den Dreh raus und da ich SNMP nur für Dinge wie MRTG und Kakteen verwendet habe, musste ich nie wirklich mehr wissen. Sehen Sie nach, ob Sie die einfachste Konfiguration zum Laufen bringen können, und fügen Sie dann jeweils ein Element hinzu, während Sie die entsprechenden Protokolldateien nachverfolgen.

John Oliver
quelle