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: Mig  SNMPv2-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.