SNMP
A HupWiki-ből...
Az SNMP (Simple Network Management Protocol - egyszerű hálózatkarbantartási protokoll) TCP/IP hálózatra kötött eszközök (szerverek, routerek, hubok, switchek, nyomtatók és egyebek) közötti kommunikációra szolgáló szabványok gyűjteménye. Egy eszköz SNMP kompatibilis, ha ellenőrizhető és/vagy vezérelhető SNMP üzenetek segítségével. Ezen eszközök tartalmaznak egy SNMP ügynökprogramot az SNMP üzenetek fogadására, küldésére és kezelésére. Hálózati eszközök SNMP-vel való kezelésére szolgáló programok mindenféle elterjedt számítógépre elérhetőek, gyakran együtt szállítva azokkal az eszközökkel, amelyek kezelésére szolgálnak. Néhány ilyen program sokféle eszköz kezelésére is képes.
A leggyakrabban használt nyílt forrású implementáció a net-snmp. A net-snmp kliensprogramokat is szállít, melyek közül az snmpget, illetve az snmpwalk használható az OID-k lekérdezésére. A MIB tree tetszőleges mélységben lekérdezhető.
Tartalomjegyzék |
Fogalmak
Komponensek
Az SNMP topológia három komponensből áll: managelt eszközök (managed/slave device), az azokon futó agent (kliens) programok, illetve az azoktól az adatokat osszegyűjtő NMS-ek (network monitoring system), melyekkel a tényleges megfigyelést, irányítást végezzük.
Az SNMP alapból a 161/UDP (request/response) és 162/UDP (trap, notification) portokat használja.
Protokoll-verziók
SNMPv1 (RFC: 1988) SNMPv2, SNMPv2c, SNMPv2u (RFC: 1993-) SNMPv3 (RFC: 2002)
Mindegyik verzió az előzőnél jóval fejlettebb biztonsági megoldásokat tartalmaz, értelemszerűen jelenleg a v3 javasolt.
MIB, OID
MIB (Management Information Base): Az SNMP alapjául egy fastruktúra-szerű osztályozás szolgál, ennek egyes táblái a MIB-ek.
OID (Object ID): Egy adott paraméter a MIB tree-n belül. Ezt tetszés szerint névvel, illetve számozás szerint is lekérdezhetjük (lásd az alábbi példát).
A MIB-eket az IEEE, illetve az IETF tartja karban [FIXME].
Enterprise MIB
Az úgynevezett enterprise MIB-ek tartalmazzák a vállalatok, gyártók által az SNMP-be felvetetett MIB-eket. Természetesen itt leginkább a hálózati eszközök gyártóinak az információit találjuk.
Műveletek
Net-SNMP Wiki: GET, GETNEXT, SET, TRAP, INFORM (van még getbulk, getresponse és report is).
Trap
[TODO] Net-SNMP Wiki
Community
Az SNMP access control egyik fontos eleme, mely lehetővé teszi az egyes eszközök csoportosítását, illetve azonosítását. A default 'public' community használható például 'anonim' read-only lekérdezésekre.
Szoftverek
Lehetne még részletesebb is...
Nagios
Nagy felhasználói bázissal rendelkező, bővíthető SNMP és általános monitorozó megoldás. Többféle termék tartozik ide:
- Nagios Core (open source)
- Nagios XI (kereskedelmi termék)
- ezekre épülő appliance-ek
Icinga
Nagios fork, amely a következőkben tér el az előzőtől:
- teljesen nyílt forrású, közösségi fejlesztés (nagyrészt Európában)
- több funkciót implementál
Cacti
RRDToolt használó, PHP-ben írt web frontend.
Példa SNMP lekérdezésre
$ snmpwalk -On -c mycommunity -v 1 remotehost .1.3.6.1.2.1.1.1.0 = STRING: AIX remotehost 3 5 0000DEADBEEF .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.15 .1.3.6.1.2.1.1.3.0 = Timeticks: (63151778) 7 days, 7:25:17.78 .1.3.6.1.2.1.1.4.0 = STRING: Sysadmin (root@localhost) .1.3.6.1.2.1.1.5.0 = STRING: remotehost .1.3.6.1.2.1.1.6.0 = STRING: Server Room .1.3.6.1.2.1.1.8.0 = Timeticks: (0) 0:00:00.00 .1.3.6.1.2.1.1.9.1.2.1 = OID: .1.3.6.1.6.3.10.3.1.1 .1.3.6.1.2.1.1.9.1.2.2 = OID: .1.3.6.1.6.3.11.3.1.1 .1.3.6.1.2.1.1.9.1.2.3 = OID: .1.3.6.1.6.3.15.2.1.1 ... $ snmpwalk -Os -c mycommunity -v 1 remotehost sysDescr.0 = STRING: AIX remotehost 3 5 0000DEADBEEF sysObjectID.0 = OID: netSnmpAgentOIDs.15 sysUpTimeInstance = Timeticks: (63164986) 7 days, 7:27:29.86 sysContact.0 = STRING: Sysadmin (root@localhost) sysName.0 = STRING: remotehost sysLocation.0 = STRING: Server Room sysORLastChange.0 = Timeticks: (0) 0:00:00.00 sysORID.1 = OID: snmpFrameworkMIBCompliance sysORID.2 = OID: snmpMPDCompliance sysORID.3 = OID: usmMIBCompliance ...
Egy paraméter (a hostname) lekérdezése, itt az SNMP agent egyedi porton figyel:
$ snmpget -c mycommunity -Onqv -v 1 myhost:1161 .1.3.6.1.2.1.1.5.0 myhost
Hivatkozások
SNMP (Wikipedia - angolul)
SNMP MIB - (Wikipedia - angolul)
Net-SNMP
Nagios
Cacti