Nybörjarhandbok för installation, användning och konfiguration av Net-SNMP - Del 2
Den här artikeln ingår i Net-SNMP-serien:
- Nybörjarhandbok för installation, användning och konfiguration av Net-SNMP - Del 1
- Nybörjarhandbok för installation, användning och konfiguration av Net-SNMP - Del 2
I den första delen av denna serie diskuterade vi de steg du behöver följa för att ladda ner, installera och få Net-SNMP-verktyget att springa.
I den här delen kommer vi att fokusera på konfigurationsaspekten, förklara hur du kan konfigurera Net-SNMP-agenten, samt upprätta autentisering och kryptering för meddelanden som skickas mellan den och klienten.
Konfigurera Net-SNMP Agent - snmpd
Om du antar att Net-SNMP-paketet är installerat på ditt system och är igång, kör det här snmpwalk
kommandot:
snmpwalk -v2c -c offentliga localhost-system
På mitt system producerades följande produktion:
SNMPv2-MIB :: sysDescr.0 = STRING: Linux himanshu-desktop 3.13.0-32-generisk # 57-Ubuntu SMP tis 15 juli 03:51:12 UTC 2014 i686 SNMPv2-MIB :: sysObjectID.0 = OID: NET -SNMP-MIB :: netSnmpAgentOIDs.10 DISMAN-EVENT-MIB :: sysUpTimeInstance = Timeticks: (6481067) 18: 00: 10.67 SNMPv2-MIB :: sysContact.0 = STRING: MigSNMPv2-MIB :: sysName.0 = STRING: himanshu-skrivbord SNMPv2-MIB :: sysLocation.0 = STRING: Sittande på bryggan i SNMPv2-MIB :: sysServices.0 = INTEGER: 72 SNMPv2-MIB :: sysORLastChange .0 = Timeticks: (22) 0: 00: 00.22 ... ... ...
Om du observerar innehåller denna produktvärden värden som motsvarar systemspecifika variabler som finns under ".iso.org.dod.internet.mgmt.mib-2.system" MIB-trädet.
Anta nu att du vill tweak information som "sysLocation" och "sysContact". Detta kan du göra genom att redigera motsvarande värden i /etc/snmp/snmpd.conf
, en fil som du kan använda för att konfigurera Net-SNMP-agenten ("snmpd").
Som du kan se i skärmdumpen ovan innehåller filen många poster, av vilka några medvetet kommenteras och måste vara explicit aktiverade. I den här filen har jag ändrat värdet för parametern "sysLocation" från "Sitting on the Dock of the Bay" till "Datacenter, Row 2, Rack 1."
För att ändringen ska träda i kraft, starta bara Net-SNMP-demonen med följande kommando:
/etc/init.d/snmpd omstart
och kör snmpwalk
kommandot snmpwalk
igen:
$ snmpwalk -v2c -c offentliga localhost-system SNMPv2-MIB :: sysDescr.0 = STRING: Linux himanshu-desktop 3.13.0-32-generic # 57-Ubuntu SMP tis 15 juli 03:51:12 UTC 2014 i686 SNMPv2-MIB :: sysObjectID.0 = OID: NET-SNMP-MIB :: netSnmpAgentOIDs.10 DISMAN-EVENT-MIB :: sysUpTimeInstance = Timeticks: (470) 0: 00: 04.70 SNMPv2-MIB :: sysContact.0 = STRING: Mig; SNMPv2-MIB :: sysName.0 = STRING: himanshu-skrivbord SNMPv2-MIB :: sysLocation.0 = STRING: Datacenter, rad 2, rack 1 SNMPv2-MIB :: sysServices.0 = INTEGER: 72 SNMPv2-MIB :: sysORLastChange .0 = Timeticks: (0) 0: 00: 00.00
Så, som du kan se, ändrades värdet av parametern "sysLocation" framgångsrikt. På samma sätt kan du justera värdena för andra parametrar som finns i den här filen, samt lägga till parametrar som inte redan finns.
Obs! Du kan också använda Net snmpconf
verktyg för att skapa och ändra SNMP-konfigurationsfiler. För att veta mer om kommandot, läs dess Manpage här.
Ange autentisering och kryptering
Net-SNMP-klientverktygen som snmpget
, snmpwalk
och mycket mer samt demonen (snmpd) stöder alla tre versionerna av SNMP-protokollet: v1, v2c och v3. Medan de första två stöd endast autentisering, stöder v3 också kryptering. Så, i det här avsnittet kommer vi att diskutera hur du konfigurerar SNMPv3.
Som ett första steg, stoppa snmpd daemon-tjänsten med följande kommando:
/etc/init.d/snmpd stoppa
/var/lib/snmp/snmpd.conf
filen /var/lib/snmp/snmpd.conf
och lägg till följande rad längst ner:
createUser USERNAME SHA "AUTHENTICATION-PASSWORD" AES "ENCRYPTION-PASSWORD"
createUser
kommandot skapar en SNMPv3-specifik användare för att verifiera och kryptera SNMPV3-meddelanden.
I kommandot ovan ersätter du "AUTHENTICATION-PASSWORD" och "ENCRYPTION-PASSWORD" med aktuella lösenord som du vill behålla. Det är också värt att notera att om du inte nämner "ENCRYPTION-PASSWORD" alls, använder Net-SNMP "AUTHENTICATION-PASSWORD" som "ENCRYPTION-PASSWORD".
etc/snmp/snmpd.conf
nu etc/snmp/snmpd.conf
och lägg till följande rad längst ner:
rouser USERNAME priv
Den här raden säkerställer att användaren som vi skapade tidigare har skrivskyddade behörigheter, och kan bara nås med hjälp av AuthPriv, ett Net-SNMP-läge som möjliggör kommunikation med autentisering, såväl som integritet. Om du vill att användaren ska ha rwuser
, använd bara rwuser
(istället för rouser
) i det fallet.
Nu startar du Net-SNMP-daemon-tjänsten igen med följande kommando:
/etc/init.d/snmpd starta
och kör sedan följande kommando för att testa SNMPV3:
snmpwalk -v 3 -l authPriv -a sha -A [AUTHENTICATION-PASSWORD] -x AES -X [ENCRYPTION-PASSWORD] -u [USERNAME] localhost-system
Om SNMPV3 är korrekt konfigurerat ska utmatningen vara densamma som den som anges i början av den här artikeln.
Obs :
1. Se till att du ersätter [AUTHENTICATION-PASSWORD], [ENCRYPTION-PASSWORD] och [USERNAME] med lämpliga värden.
2. SHA-autentisering och DES / AES-krypteringsstöd är endast tillgängligt om du har OpenSSL installerat eller om du har sammanställt med --with-openssl=internal
.
Slutsats
Net-SNMP erbjuder många konfigurationsalternativ, och det vi har diskuterat här är bara grunderna, även om det borde räcka för att komma igång. För mer information, gå igenom Manpage of snmpd.conf.