Thunberg's
@ Högåsbacke
Software projects
Vad är SNMP ?
De flesta komponenter i ett nätverk såsom routrar, brandväggar och servrar kan hålla sin operations status/statistik
i nått som kallas 'Management Information Blocks' (MIBs).
Varje statistik har en 'Object Identifier' kan hämtas remote från MIBen via 'Simple Network Management'
(SNMP). För säkerhetens skull måste du känna till ett lösenord som kallas "community string".
Det finns flera olika typer av 'community strings', den vanligaste är den som används endast
för läsning ('Read Only') ofta är denna satt till ordet "public".
Det finns också ett lösenord som inte bara ger möjlighet att läsa utan också att uppdatera parametrarna också,
ofta är denna satt till "private".
Att göra SNMP förfrågningar.
Om du har tänkt att nyttja din Linux box för att fråga dina nätverkskomponenter, andra servrar, eller kanske den burk du sitter med just nu, då måste måste du ha ett SNMP verktygs paket.
SNMP på LINUX
En del distrubutioner (ex. RedHat) har NetSNMP paketet installerat redan från början för att maskinen skall kunna ge SNMP service måste det annar installeras (för Debian kallas det snmpd).
SNMP deamonen konfigureras i filen /etc/snmp/snmpd.conf, bla kan du sätta "community string" där. Den version som kommer med installationen är väldigt komplicerad, för att göra det lite enklare för sig föreslår jag att du sparar undan orginal filen och använder en mycket enklare version med endast en rad innehållande nyckelordet "rocommunity" följt av lösenordet.
Spara undan orginal konfigurationen.
[root@pluto snmp]# cd /etc/snmp/ [root@pluto snmp]# mv snmpd.conf snmpd.conf.old [root@pluto snmp]# vi snmpd.conf
Skriv in följande rad i den nya configfilen för att sätta "Read Only community string" till "thunbergs".
rocommunity thunberg
För vissa distrubutioner (om ej installern gjorde det) måste du nu konfigurera Linux att starta SNMP vid varje omstart av maskinen.
[root@pluto root]# chkconfig --level 345 snmpd on [root@pluto root]#Nu måste du starta (stoppa först om den redan är igång) SNMP för att ladda den nya config filen. Starta SNMP gör du så här:
[root@pluto root]# /etc/init.d/snmpd start Starting snmpd: [ OK ] [root@pluto root]#Nu kan du testa att SNMP kan läsa "system" och "interface" informationen i MIB.
[root@pluto snmp]# snmpwalk -v 1 -c thunberg localhost system SNMPv2-MIB::sysDescr.0 = STRING: Linux pluto 2.4.18-14 #1 Wed Sep 4 21:57:57 EDT 2005 i586 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 SNMPv2-MIB::sysUpTime.0 = Timeticks: (425) 0:00:04.25 SNMPv2-MIB::sysContact.0 = STRING: root@localhost SNMPv2-MIB::sysName.0 = STRING: bigboy ... ... ... [root@pluto snmp]# snmpwalk -v 1 -c craz33guy localhost interface IF-MIB::ifNumber.0 = INTEGER: 3 IF-MIB::ifIndex.1 = INTEGER: 1 IF-MIB::ifIndex.2 = INTEGER: 2 IF-MIB::ifIndex.3 = INTEGER: 3 IF-MIB::ifDescr.1 = STRING: lo IF-MIB::ifDescr.2 = STRING: wlan0 IF-MIB::ifDescr.3 = STRING: eth0 ... ... ... [root@pluto snmp]#
Nu vet vi att SNMP fungerar på den här LINUX burken och vi kan börja sätta upp SNMP statistik samlande paket som ex. MRTG för att skapa trevliga diagram mm.
SNMP på andra komponenter.
Ovan 'pollade' vi localhost men du kan accessa data vilken komponent som helst som har SNMP igång. Allt du behöver är en IP adress och en "community string" för att få liknande resultat, vet du inte community string prova "public". Här är ett exempel:[root@pluto snmp]# snmpwalk -v 1 -c public 192.168.0.120 interface
Enkel SNMP Felsökning
Om dina SNMP försök misslyckas, kolla då:
- använder du rätt "community string" ?
- Skall du igenom en brandvägg, justera denna.
- "TCP wrappers" configuration på SNMP mål maskin måste tillåta SNMP frågor från den maskin du kör. Dvs se till att /etc/hosts.allow och /etc/hosts.deny är tomma.
- kolla att routingen mellan klient och målmaskinen är korrekt.En enkel "ping" eller "traceroute" test borde räcka.
SNMP på Windows
här kommer det mer när jag hinner.......
MRTG
Vad är MRTG
här kommer det mer när jag hinner.......