Wat is SNMP? Een eenvoudig netwerkcontroleprotocol. De SNMP-service installeren op Windows

Het verzamelen van nauwkeurige informatie over servers en infrastructuur is een zeer belangrijk aspect van systeembeheer. Er zijn veel tools voor het verzamelen en verwerken van dergelijke gegevens, en veel daarvan zijn gebaseerd op SNMP-technologie.

SNMP (Simple Network Management Protocol) is een middel waarmee servers informatie over hun huidige status kunnen uitwisselen, evenals een kanaal waarmee een beheerder serverinstellingen kan beheren. Het SNMP-protocol zelf is heel eenvoudig, maar de structuur van programma's die SNMP implementeren, kan erg complex zijn.

Lees ook:

Deze gids helpt u bij het installeren en in gebruik nemen van SNMP op een Ubuntu 14.04-server.

Opmerking: Met kleine aanpassingen kan de gids op een andere Linux-distributie worden uitgevoerd.

Stap 1: De SNMP-daemon en hulpprogramma's installeren

Voor werk gebruiken we twee servers: de eerste als manager en de tweede als agent. Over het algemeen kunnen zowel de manager als de agent op dezelfde machine worden geïnstalleerd, maar door de componenten op verschillende machines te installeren, raakt u meer vertrouwd met hun functies.

Maak verbinding met server 1, werk de pakketindex bij en installeer de snmp-software. U moet ook het snmp-mibs-downloader-pakket downloaden, waarin service-informatie over standaard-MIB's wordt opgeslagen, waarmee u op naam toegang hebt tot de MIB-hiërarchie.

sudo apt-get-update
sudo apt-get install snmp snmp-mibs-downloader

Ga naar server 2 en installeer de snmp-pakketten erop.

sudo apt-get-update
sudo apt-get install snmpd

Stap 2: De SNMP Manager configureren

Het meeste werk zal op de agent worden gedaan, dus het opzetten van de manager zal niet veel tijd kosten. Op deze machine hoeft u de client alleen toegang te geven tot aanvullende MIB-gegevens.

Open het bestand /etc/snmp/snmp.conf:

sudo nano /etc/snmp/snmp.conf

Het bestand bevat meerdere regels met commentaar en slechts één regel zonder commentaar. Om de beheerder toe te staan ​​MIB-bestanden te importeren, hoeft u alleen maar de volgende regel uit te commentariëren:

Sla het bestand op en sluit het.

Stap 3: de SNMP-agent configureren

In een client/server-systeem heeft de agent meestal geen externe tools die nodig zijn om SNMP te configureren. U kunt enkele configuratiebestanden van de agent bewerken, maar de meeste configuratie wordt nog steeds gedaan door de manager met de agent te verbinden.

Eerst moet u het daemon-configuratiebestand op de agent openen.

sudo nano /etc/snmp/snmpd.conf

Corrigeer de agentAddress-richtlijn; het ondersteunt momenteel alleen verbindingen die afkomstig zijn van de lokale computer. U moet deze regel uitcommentariëren en de volgende regel verwijderen, waardoor alle verbindingen mogelijk zijn (toegang zal in de toekomst beperkt zijn).

# Luister alleen naar verbindingen van het lokale systeem
#agentAdres udp:127.0.0.1:161
# Luister naar verbindingen op alle interfaces (zowel IPv4 * als * IPv6)
agentAddress udp:161,udp6:[::1]:161

Dan moet u tijdelijk de regel createUser toevoegen. Deze richtlijn wordt meestal niet in dit bestand opgeslagen en hoeft dus maar even te worden toegevoegd.

Maak een bootstrap-gebruiker aan die als sjabloon moet worden gebruikt voor het maken van gewone gebruikers. SNMP-pakketten doen dit door gebruikersinstellingen te klonen.

Geef bij het aanmaken van een nieuwe gebruiker het authenticatietype (MD5 of SHA) en het wachtwoord (minimaal 8 tekens) op. Als u van plan bent om codering te gebruiken voor gegevensoverdracht, moet u ook een coderingsprotocol (DES of AES) en een wachtwoord hiervoor opgeven (optioneel). Als u geen wachtwoord selecteert voor het coderingsprotocol, wordt in plaats daarvan het authenticatiewachtwoord gebruikt.

createUser bootstrap MD5 temp_password DES

Nu is de nieuwe gebruiker toegevoegd. Selecteer het toegangsniveau voor deze gebruiker (bootstrap) en ook voor de gebruiker die later zal worden aangemaakt (deze wordt gewoonlijk demo genoemd). Geef ze lees- en schrijfmachtigingen met behulp van de rwuser-richtlijn (alleen-lezen machtigingen worden gegeven door de rouser-richtlijn).

Om codering verplicht te maken, voegt u de parameter priv toe na de gebruikersinstellingen. Om een ​​gebruiker te beperken tot een bepaald deel van de MIB, moet u de OID op het hoogste niveau opgeven waartoe de gebruiker toegang moet hebben.

rwuser bootstrap priv
rwuser demo priv

Sla het bestand op en sluit het.

Start de snmpd-service opnieuw:

sudo-service snmpd opnieuw opstarten

Nu kunt u naar server 1 (manager) gaan en verbinding maken met de agent om een ​​gewone gebruiker aan te maken. Hiervoor wordt de tool snmpusm gebruikt. U moet het IP-adres van de agent weten.

4: Algemene structuur van SNMP-opdrachten

De net-snmp-suite gebruikt verschillende patronen om opdrachten aan te roepen.

Eerst moet u zich authenticeren en verbinding maken met de SNMP-daemon. Hiervoor zijn mogelijk de volgende vlaggen vereist:

  • -v (versie): Specificeert de versie van het SNMP-protocol (in dit artikel wordt versie 3 gebruikt).
  • -c (community): specificeert de versie van de toegangsstring (v1 of v2); aangezien we versie 3 gebruiken, hebben we deze parameter niet nodig.
  • -u (gebruikersnaam): Specificeert de gebruikersnaam die moet worden geautoriseerd. Een gebruiker moet geregistreerd zijn bij SNMP om lees- en wijzigingsrechten te hebben.
  • -l (niveau): Specificeert het beveiligingsniveau voor de verbinding. Geldige waarden zijn: noAuthNoPriv (geen authenticatie), authNoPriv (authenticatie zonder codering) en authPriv (authenticatie en codering). Bovendien moet de opgegeven gebruiker toegang hebben tot het geselecteerde beveiligingsniveau, anders kan hij geen verbinding maken.
  • -a (protocol): Specificeert het authenticatieprotocol, MD5 of SHA. Deze waarde moet overeenkomen met de gebruikersgegevens die zijn opgegeven toen deze werd gemaakt.
  • -x (protocol): Specificeert het coderingsprotocol, DES of AES. Deze waarde moet overeenkomen met de gebruikersgegevens die zijn opgegeven toen deze werd gemaakt. Het coderingsprotocol moet worden opgegeven als er een priv-parameter is in de gebruikersinstellingen.
  • -A (passphrase): wachtwoord voor gebruikersauthenticatie.
  • -X (passphrase): coderingswachtwoord. Als u dit wachtwoord niet opgeeft, wordt in plaats daarvan het authenticatiewachtwoord gebruikt. Dit wachtwoord moet worden opgegeven als er een priv-parameter in de gebruikersinstellingen staat.

Nu kunt u een opdracht schrijven. Uw opdracht kan verschillen, afhankelijk van de gebruikersopties. Algemene syntaxis:

snmp_command -u bootstrap -l authPriv -a MD5 -x DES -A tijdelijk_wachtwoord -X tijdelijk_wachtwoord remote_host snmp_sub_command_or_options

Om er bijvoorbeeld voor te zorgen dat de bootstrap-gebruiker beschikbaar is, moet u de manager uitvoeren:

snmpget -u bootstrap -l authPriv -a MD5 -x DES -A tijdelijk wachtwoord -X tijdelijk wachtwoord remote_host 1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysDescr.0 = STRING: Linux target 3.13.0-24-generic #46-Ubuntu SMP do 10 april 19:11:08 UTC 2014 x86_64

De regel 1.3.6.1.2.1.1.1.0 is de OID die verantwoordelijk is voor het weergeven van systeemgegevens. Op het externe systeem zal het het resultaat van de opdracht uname -a afdrukken.

Nadat u heeft geverifieerd dat de gebruiker zich kan authenticeren, kunt u een gewoon gebruikersaccount maken.

Stap 5: Maak een vaste gebruiker aan

De rechten van de demogebruiker zijn al gespecificeerd in het bestand snmpd.conf, maar deze gebruiker bestaat nog niet. Gebruik het bootstrap-account als sjabloon voor de nieuwe gebruiker.

Ga naar server 1 (manager) en maak een wildcard-gebruiker aan met behulp van de snmpusm-tool. De algemene syntaxis ziet er als volgt uit:

snmpusm authenticatie_info remote_host maak nieuwe_gebruiker bestaande_gebruiker aan

Met behulp van een sjabloon (bootstrap) en vlaggen kunt u een gebruiker met het gewenste privilegeniveau aanmaken.

snmpusm -u bootstrap -l authPriv -a MD5 -x DES -A temp_password -X temp_password remote_host demo-bootstrap maken
Gebruiker succesvol aangemaakt.

Nu is er op de externe server een demo-gebruiker die helemaal klaar is om aan het werk te gaan. Voorlopig gebruikt het echter dezelfde inloggegevens als bootstrap. Wijzig het wachtwoord van de gebruiker. Authenticeer als demo en kies een nieuw wachtwoord (minimaal 8 tekens).

snmpusm -u demo -l authPriv -a MD5 -x DES -A tijdelijk_wachtwoord -X tijdelijk_wachtwoord remote_host passwd tijdelijk_wachtwoord mijn_nieuw_wachtwoord
SNMPv3-sleutel(s) succesvol gewijzigd.

Nu kunt u uw inloggegevens controleren. Om dit te doen, moet u informatie opvragen bij de externe server over hoe lang de SNMP-server actief is. Gebruik snmpget.

U kunt nu de aanvullende MIB-definities gebruiken die u eerder hebt geladen om een ​​waarde op naam op te vragen in plaats van op de OID.

De opdracht zal u vertellen wanneer de SNMP-service voor het laatst opnieuw is opgestart:

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (383018) 1:03:50.18

Stap 6: een clientconfiguratiebestand maken

Zoals u kunt zien, veranderen de authenticatieparameters in elke SNMP-opdracht nauwelijks. Om ze niet elke keer in te voeren, kunt u aan de clientzijde een configuratiebestand maken dat alle benodigde inloggegevens bevat.

Het clientconfiguratiebestand kan op twee verschillende plaatsen worden geplaatst, afhankelijk van hoe wijd verspreid de instellingen zijn.

Als u dezelfde inloggegevens wilt gebruiken voor alle geldige gebruikers op de manager, kunt u de inloggegevens in het bestand snmp.conf plaatsen.

sudo nano /etc/snmp/snmp.conf

Als u inloggegevens voor slechts één gebruiker wilt maken, kunt u een verborgen .snmp-directory maken en daarin een bestand maken:

mkdir ~/.snmp
cd ~/.snmp
nano snmp.conf

Ongeacht uw keuze, het bestand zal dezelfde parameters bevatten.

In de onderstaande tabel vindt u de opdrachten voor authenticatie. Aan de rechterkant staan ​​de richtlijnen die moeten worden toegevoegd aan snmp.conf.

Met deze informatie kunt u een snmp.conf-bestand maken. In dit geval ziet het er zo uit:

defSecurityName-demo
defSecurityLevel authPriv
defAuthType MD5
defPrivType DES
defAuthPassphrase mijn_nieuwe_wachtwoord
defPrivPassphrase mijn_nieuwe_wachtwoord

Sla het bestand op en sluit het.

U kunt nu opdrachten uitvoeren zonder authenticatie-opties. U hoeft alleen de SNMP-opdracht, host en opdrachtargumenten in te voeren.

snmpget -u demo -l authPriv -a MD5 -x DES -A mijn_nieuwe_wachtwoord -X mijn_nieuwe_wachtwoord remote_host sysUpTime.0

nu kun je invoeren:

snmpget remote_host sysUpTime.0

Nu zijn de commando's veel korter.

Stap 7: Een gebruiker verwijderen

De bootstrap-gebruiker was nodig als sjabloon voor het maken van andere gebruikers. Nu kan het verwijderd worden.

Ga naar server 2 (agent) en open /etc/snmp/snmpd.conf.

Zoek en becommentarieer (of verwijder) de bootstrap-gebruikersoptieregels.

#createUser bootstrap MD5 temp_password DES
#rwuser bootstrap priv

Sla het bestand op en sluit het.

Start SNMP opnieuw.

sudo-service snmpd opnieuw opstarten

Er zijn nu geen createUser-richtlijnen in het bestand snmpd.conf.

Om de bootstrap-gebruiker volledig uit usmUserTable te verwijderen, voert u de manager uit:

snmpusm remote_host bootstrap verwijderen

U krijgt deze uitvoer:

Gebruiker succesvol verwijderd.

Conclusie

U hebt nu een werkende SNMP client/server-installatie. U kunt de daemon op andere hosts installeren en toevoegen aan de infrastructuur.

We zullen het hebben over de basistools van net-snmp.

Labels: ,

1. Open de wizard Windows-onderdelen. Om dit te doen, het menu Begin selecteer item Controlepaneel, dubbelklik op het pictogram Programma's en functies.

3. Vermeld Windows-componenten Vink het vakje aan SNMP-component en druk op Oké.

4. Open Computerservices: pictogramcontextmenu Mijn computer op bureaublad -> Controle -> Diensten en toepassingen -> Diensten. Zoek in de lijst SNMP-service en voer het uit als het nog niet actief was. Om deze service in de lijst te laten verschijnen, is het soms nodig om de computer opnieuw op te starten na de stappen 1-3. Als u direct na deze stappen geen externe verbinding met de computer kunt maken via SNMP vanuit het programma, volgt u de stappen uit de sectie (zie hieronder).

Notities

  • Om deze procedure uit te voeren, moet u lid zijn van de groep Administrators op de lokale computer of moet u de juiste bevoegdheid hebben gekregen. Als de computer lid is van een domein, kunnen leden van de groep Domeinadministrators deze procedure uitvoeren. Om veiligheidsredenen wordt het echter aanbevolen om de opdracht te gebruiken Rennen als.
  • Sommige Windows-componenten moeten vóór gebruik worden geconfigureerd. Als een of meer van deze componenten zijn geïnstalleerd maar niet zijn geconfigureerd, klikt u op de Windows-componenten installeren toont een lijst met componenten die moeten worden geconfigureerd. Klik op de knop om de Windows Components Wizard te starten Componenten.
  • Na installatie start SNMP automatisch.

SNMP-beveiligingseigenschappen configureren

SNMP-beveiligingseigenschappen configureren

  1. Open het raam "Computer management".
  2. Klik in de consolestructuur op het knooppunt Diensten (Diensten en toepassingen / Diensten ).
  3. Selecteer in het detailvenster SNMP-service.
  4. Op het menu Actie kies een elftal Eigendommen.
  5. Op het tabblad Veiligheid Vink het vakje aan Authenticatieval verzenden Als u een trap wilt verzenden telkens wanneer de authenticatie mislukt.
  6. In een groep Aanvaardbare gemeenschapsnamen druk op de knop Toevoegen.
  7. Op het veld Gemeenschapsrechten selecteer het toegangsniveau van deze host voor het verwerken van SNMP-aanvragen van de geselecteerde community (aanbevolen waarde ALLEEN LEZEN).
  8. Op het veld Gemeenschaps naam voer de communitynaam hoofdlettergevoelig in en klik op de knop Toevoegen. De communitynaam kan elk woord zijn. Deze parameter wordt gebruikt als het SNMP-toegangswachtwoord voor deze computer. Meestal is de naam van de gemeenschap het woord openbaar om veiligheidsredenen is het echter aan te raden iets anders in te stellen. Onthoud de communitynaam die u hebt ingevoerd - u moet deze opgeven bij het maken van de sensor.
  9. Geef op of u SNMP-pakketten van de host wilt accepteren:
    • selecteer de optie om SNMP-verzoeken van elke host op het netwerk te accepteren, ongeacht de identiteit Ontvang SNMP-pakketten van elke host;
    • selecteer om de ontvangst van SNMP-pakketten te beperken Accepteer alleen SNMP-pakketten van deze hosts, druk op de knop Toevoegen, voer de naam, het IP-adres of het IPX-adres van de corresponderende host in en klik nogmaals op de knop. Toevoegen.

Belangrijk!

  • SNMP reageert standaard niet op de opgegeven communitynamen.

Notities

  • Om deze procedure uit te voeren, moet u lid zijn van de groep Administrators op de lokale computer of moet u de juiste bevoegdheid hebben gekregen. Als de computer lid is van een domein, kunnen leden van de groep Domeinadministrators deze procedure uitvoeren. Om veiligheidsredenen wordt het echter aanbevolen om de opdracht Uitvoeren als te gebruiken.
  • Klik op de knop om het onderdeel Computerbeheer te openen Begin, Selecteer een item Controlepaneel, dubbelklik op het pictogram Administratie en dubbelklik vervolgens Computer management.
  • Gemeenschaps- en sitenamen kunnen naar behoefte worden toegevoegd.
  • Om een ​​invoer te bewerken, markeert u deze en klikt u op de knop. Wijziging. Klik op de knop om het geselecteerde item te verwijderen Verwijderen.
  • Wijzigingen in bestaande SNMP-instellingen worden onmiddellijk van kracht. U hoeft de SNMP-service niet opnieuw te starten om de instellingen van kracht te laten worden.
  • Het IPX/SPX-protocol is niet beschikbaar op Windows XP 64-bits editie (Itanium) en 64-bits versies van de Windows Server 2003-familie.

Gegroet, gast en vaste lezer. Het was nodig om onlangs wortel te schieten in netwerkmonitoring. Een zeer relevant onderwerp voor monitoring - SNMP (eenvoudig netwerkbeheerprotocol). Vaak moeten gebruiken SNMP, maar de handen bereikten zijn beschrijving niet. Vandaag wil ik mijn begrip van deze technologie presenteren.

Inleiding tot SNMP

SNMP er bestaat Eenvoudig netwerkbeheerprotocol, hij is Eenvoudig netwerkcontroleprotocol. Het protocol is in 1988 in het leven geroepen om een ​​groot aantal netwerkapparaten te kunnen aansturen. Sindsdien heeft het protocol overeenkomstige populariteit gewonnen en is het een standaard geworden. Sinds de ontwikkeling van het protocol SNMP is 3 keer herzien vanaf de versie SNMPv1, SNMPv2 en SNMPv3. Er waren zelfs meer versies, v2 is bijvoorbeeld 2 keer (of zelfs meer) herzien. Het is ook vermeldenswaard dat er naast SNMP andere pogingen zijn geweest om commerciële en niet-commerciële beheerprotocollen te creëren (CORBA, TMN ...) die niet succesvol zijn geweest.

Naast apparaatbeheer, heel vaak altijd SNMP wordt gebruikt voor monitoring. SNMP kan verschillende informatie ontvangen van elk netwerkapparaat, of het nu een router, een switch of gewoon een computer is (die dit protocol ondersteunt (lees - de SNMP-agent draait). De inhoud van de ontvangen informatie kan zeer divers zijn, bijvoorbeeld voorbeeld: uptime, verschillende CPU-prestatiemeteritems, netwerken, enz., apparaatnetwerkinstellingen...

SNMP-protocolarchitectuur

Het netwerk gebruikt SNMP voor beheer bevat drie hoofdcomponenten:

  1. SNMP-beheerder- Software geïnstalleerd op de pc van de beheerder (bewakingssystemen)
  2. SNMP-agent- Software draait op het netwerkknooppunt dat wordt bewaakt.
  3. SNMPMIB- MIB is management informatiebank. Dit onderdeel van het systeem zorgt voor gestructureerde gegevensuitwisseling tussen agenten en managers. In feite is dit een soort database in de vorm van tekstbestanden.

Laten we proberen de aangegeven componenten te overwegen.

SNMP-manager en SNMP-agent

Om het doel van de componenten te begrijpen, kunnen we dat zeggen SNMP-beheerder is een laag (interface) tussen de operator\beheerder en het draaiende netwerkknooppunt SNMP-agent. Evenzo kan worden gezegd dat SNMP-agent is de interface tussen SNMP-beheerder en ijzer apparatuur op het netwerkknooppunt. Als we een analogie trekken SNMP-protocol met een client-serverarchitectuur (bijvoorbeeld een webserver), draait de webserver als een service op een bepaalde poort en gebruikt de gebruiker de browser om als client toegang te krijgen tot de webserver. Het is een goed gedefinieerde architectuur met een afzonderlijke client en server. In het geval van SNMP zijn de rollen van client en server enigszins vervaagd. Bijvoorbeeld, SNMP-agent is een soort dienst die draait op het (bewaakte) apparaat en aanvragen verwerkt op een specifieke poort udp/161, dat wil zeggen, het is eigenlijk een server. MAAR SNMP-beheerder is een soort cliënt die verwijst naar SNMP-server tussenpersoon. In SNMP is er een zgn. Val. Dit is een verzoek van een agent aan een manager. Preciezer gezegd, niet eens een verzoek, maar een melding. Wanneer deze melding wordt verzonden, "wisselen de agent en manager van rol". Dat wil zeggen, de manager moet in dit geval een server zijn die draait op poort udp/162 en de agent is een client. In recente versies van SNMP-trap kan dit worden aangeduid als merk op (kennisgeving).

PDU-structuur

Overweging van de structuur van de PDU is niet nodig, maar het zal helpen om dieper te begrijpen. SNMP-logica. Alle PDU's (behalve Trap) bestaan ​​uit een bepaalde set velden waarin de nodige informatie is geschreven:

Wat betekenen deze velden:

Waarin, Vang PDU-inhoud op bevat enkele extra velden (in plaats van de verzoekkop):

  • Stevig– karakterisering van de hostfabrikant
  • soort val meldingen kunnen als volgt zijn:
    • 0 (koude start) en 1 (warme start)– het object wordt teruggebracht naar de oorspronkelijke staat (er is enig verschil tussen hen, maar wat? ..),
    • 2 (link naar beneden)– interface is weggelaten, terwijl het variabele veld de betreffende interface bevat,
    • 3 (koppeling)– de interface is gestegen, terwijl het variabele veld de betreffende interface bevat,
    • 4 (verificatie mislukt)– de beheerder heeft een bericht gestuurd met de verkeerde communitystring,
    • 5 (EGPbuurverlies)- het is moeilijk om iets te zeggen)
    • 6 (bedrijfsspecifiek)– Dit traptype geeft aan dat het volgende veld een leverancierspecifiek traptype bevat.
  • Gespecialiseerd type val- hierboven omschreven
  • Tijdstempel– bevat een tijdstempel vanaf het moment van de gebeurtenis (het is niet duidelijk waar deze tag betrekking op heeft...).

In nieuwe versies van SNMP kan de inhoud van de Trap PDU iets veranderen, maar over het algemeen is de betekenis hetzelfde...

Logica van het SNMP-protocol

Na de belangrijkste te hebben overwogen SNMP-uitwisselingseenheden, bespreekbaar SNMP-logica bij het uitvoeren van deze verzoeken/antwoorden. Sommige gebruikelijk kenmerken van het SNMP-protocol waarmee rekening moet worden gehouden:

SNMP-logica voor PDU-uitwisseling

(gedeeltelijk overgenomen van hier http://logic-bratsk.ru/brlug/snmp_my/):

Bij ontvangst van een GetRequest PDU handelt de SNMP-agent volgens het volgende algoritme:

  1. Als een de naam van de variabele komt niet exact overeen met de naam van een van de variabelen beschikbaar voor de get-bewerking in onze MIB, geven we een soortgelijke PDU door aan de afzender van het verzoek Reactie terug krijgen, waarbij u de waarde opgeeft in het foutcodeveld noSuchName (2-niet zo'n naam) en in het veld fout-index- index van de naam van het bovenstaande object in het ontvangen bericht (=1, in SNMPv1 - een beperking van deze SNMP-implementatie).
  2. Als de PDU-grootte Reactie terug krijgen, overschrijdt de lokale limiet ( Een SNMP-implementatie is niet vereist om berichten te accepteren die groter zijn dan een bepaalde grootte. Ondersteuning voor grote datagrammen (RFC1157 SNMP) is echter waar mogelijk wenselijk. ) , stuur een vergelijkbare PDU naar de afzender Reactie terug krijgen, opgeven in het veld foutstatus waardeTooGroot, en in het veld foutindex - 0. Dit gebeurt meestal als er om meer dan 1 variabele wordt gevraagd, of als de PDU-lengte of de totale pakketlengte groter is dan de standaardlimieten.
  3. Als voor een variabele in het gerelateerde veld de waarde van de variabele niet kan worden gevonden om andere redenen dan hierboven vermeld, stuurt de SNMP-agent een vergelijkbare GetResponse PDU naar de afzender, waarbij het foutstatusveld wordt ingesteld op GenErr en de fout -index veld om de naam van het bovenstaande object in het ontvangen bericht te indexeren.
  4. Als alles in orde is, sturen we de SNMP-manager die het ontvangen bericht heeft verzonden een GetResponse-antwoord, waarin de gevraagde variabelewaarden worden vervangen voor elke variabele in het bijbehorende variabelenveld. Het foutstatusveld wordt ingesteld op NoError en het foutindexveld wordt ingesteld op 0. De waarde van het request-id-veld in de respons-PDU is gelijk aan de ID in het ontvangen bericht.

Na ontvangst van de GetNextRequest PDU handelt de SNMP-agent volgens het volgende algoritme:

  1. Als er geen volgende variabele is na de variabele die in het verzoek is gespecificeerd, dan passen we afzender van het verzoek manager PDU Reactie terug krijgen(met inhoud vergelijkbaar met het oorspronkelijke verzoek), aangeven in het veld foutcode betekenis noSuchName(geen naam) en in het veld foutindex - naamindex van het bovenstaande object in het ontvangen bericht (=1 voor SNMPv1), variabele waarde = NULL (zo lijkt het).
  2. Als een de groottePDUreactie (GetResponse), gemaakt zoals hieronder beschreven, Reactie terug krijgen, opgeven in het veld foutstatus betekenis te groot, en in het veld foutindex - 0.
  3. Als voor een variabele in het gekoppelde variabelenveld de waarde van de variabele niet kan worden gevonden om andere redenen dan hierboven vermeld, wordt het ontvangende object doorgegeven aan de managerPDU
  4. Als alles in orde is, sturen we het volgende bericht naar de SNMP-manager die de PDU heeft verzonden Reactie terug krijgen, dat voor elke variabele in het bijbehorende variabelenveld de naam en waarde bevat van de variabele die hiërarchisch volgt op de gevraagde variabele in de MIB. Op het veld foutstatus waarde wordt geplaatst geen fout, en in het veld foutindex - 0. Veldwaarde Aanvraag ID in ruilPDUGetResponse komt overeen met de ID in het ontvangen bericht.

Bij ontvangst van een SetRequest PDU handelt de SNMP-agent als volgt:

  1. Als voor een variabele in het bijbehorende variabelenveld, schrijven (setbewerking) wordt niet ondersteund in relevante MIB-representaties stuurt de SNMP-agententiteit een vergelijkbare PDU naar de aanvrager Reactie terug krijgen wijzend in de doos foutcode betekenis noSuchName(geen naam), en in het foutindexveld - de index van de naam van het bovenstaande object in het ontvangen bericht.
  2. Als voor een variabele in het verzoek de waarden van de gevraagde variabelen niet voldoen aan de normen (SMI, ASN.1 - meer hierover hieronder), dan stuurt de SNMP-agent een vergelijkbare GetResponse PDU naar de SNMP-manager , specificeer de waarde badValue (niet zo'n naam) in het foutcodeveld en de index van de naam van het bovenstaande object in het ontvangen bericht in het foutindexveld.
  3. Als een de groottePDUreactie (GetResponse), gemaakt zoals hieronder beschreven, de lokale limiet overschrijdt, stuurt de ontvangende entiteit dezelfde PDU naar de afzender Reactie terug krijgen, opgeven in het veld foutstatus betekenis te groot, en in het veld foutindex - 0.
  4. Als voor een variabele in het gekoppelde variabelenveld de waarde van de variabele niet kan worden ingesteld om andere redenen dan hierboven vermeld,SNMP agent stuurt naar managerPDU met de originele inhoud van GetResponse, met vermelding van de waarde genErr in het foutstatusveld en de index van de naam van het bovenstaande object in het ontvangen bericht in het foutindexveld. (vergelijkbaar met hierboven)
  5. Als alles normaal is, stuurt de agent een SNMP-bericht naar de manager die de PDU heeft gestuurd, zo'n bericht Reactie terug krijgen, waarin voor elke variabele in het bijbehorende variabelenveld de ingestelde waarden van de variabelen worden vervangen. Het foutstatusveld wordt ingesteld op NoError en het foutindexveld wordt ingesteld op 0. De waarde van het request-id-veld in de respons-PDU is gelijk aan de ID in het ontvangen bericht.

SNMP-logica in afbeeldingen

hier vandaan gehaald (http://www.manageengine.com/network-monitoring/what-is-snmp.html)

Ruil PDU KRIJG⁄ KRIJG VOLGENDE⁄ KRIJG BULK⁄ SET

Val of melding PDU-uitwisseling

SNMPMIB

Laten we proberen het te begrijpen MIB. Dit zijn helemaal geen mannen in het zwart) Zoals ik al zei, dit management informatiebank, dat wil zeggen de basisset van besturingsinformatie. Elk netwerkknooppunt dat aan boord is SNMP-agent(lees - ondersteunt het SNMP-protocol) biedt zijn eigen set gegevens, degene die programmeurs / ontwikkelaars erin hebben "geïnvesteerd" bij het ontwerpen van een stuk ijzer / programma. Dat wil zeggen, elk SNMP-enabled netwerkapparaat heeft eigen basis MIB met een strikt gedefinieerde set variabelen. Elke MIB-basis heeft een boomstructuur, waarbij elk object wordt gekenmerkt door een uniek object-ID (Object Identifier, OID).

Elke tak van de MIB-hiërarchie eindigt met een variabele (die ook zijn eigen OID heeft) die een bepaalde waarde bevat, die naar de SNMP-variabele wordt geschreven door de agent die op de host draait. Deze waarde kenmerkt deze host op de een of andere manier (deze bevat bijvoorbeeld informatie over uptime, de belasting van de netwerkinterface en vele andere parameters).

Er is wat enkele gemeenschappelijke MIB-boomstructuur, en er zijn ook uniforme standaarden en principes voor de verdere vorming van deze boom, zijn variabelen en andere parameters, een bepaalde ontwikkelde standaard genaamd Management Informatie Structuur (SMI, S structuur van M beheer l informatie). Er is ook een standaard genaamd syntaxis van abstracte notatie - ASN.1. waar ook bij betrokken is beschrijving van het SNMP-protocol en MIB's. En er is ook basiscodeerregels BER (B ASIC E codering R regels) die de codering definiëren van entiteiten die in SNMP worden gebruikt.

Bovendien is er wereldwijde IS-normenregistratieboom O , die de basisstructuur van de MIB-boom bevat (meer precies, er zijn verschillende van deze structuren, ze zijn gevormd samen met de verbetering van SNMP-versies). Samengestelde numerieke naam van het SNMP MIB-object komt overeen de volledige naam van dit object in de objectregistratieboom volgens ISO-normering. Deze boomstructuur is de verantwoordelijkheid en controle van de IANA-organisatie (en enkele andere).

Laten we eens kijken naar een typische MIB-boom in de figuur:

MIB-objectboom Leuk vinden . Ook hier zijn er symbolische namen (vergelijkbaar met de NS-naam) en genoemd ASN.1-notatie, en hun bijbehorende numerieke waarden (vergelijkbaar met IP-adressen), genaamd puntnotatie. Elk object in de MIB bestaat uit verschillende getallen gescheiden door punten. Nummers komen overeen met tekstnamen. Tegelijkertijd is er, in tegenstelling tot DNS, geen enkele gecentraliseerde server die verantwoordelijk is voor het oplossen van namen. Alle teken-naar-cijfer naamomzetting wordt afgehandeld door de SNMP-manager (afhankelijk van welke MIB-toewijzingen in de manager zijn geladen). Alle communicatie tussen SNMP-knooppunten is alleen numeriek. In symbolische vorm worden de namen alleen gebruikt voor weergave op het scherm of in de documentatie.

Vaak OID karakteriseren van een bepaald object in een boom MIB vergeleken met de structuur van telefoonnummers, omdat zij (nummers) zijn ook hiërarchisch en afzonderlijke delen van het nummer worden door verschillende organisaties toegewezen. Internationale telefoonnummers bestaan ​​bijvoorbeeld uit een landcode (toegekend door een internationale organisatie) en een telefoonnummer zoals dat lokaal in het land is gedefinieerd. Tegelijkertijd wordt het telefoonnummer in het land verdeeld in de code van de regio / regio / regio, het PBX-nummer en vervolgens het nummer van de abonnee die aan de PBX is gekoppeld. Evenzo worden in de MIB OID's op het hoogste niveau toegewezen door de internationale organisatie (ISO IEC ???), worden OID-afdelingen op een lager niveau toegewezen door de organisaties die verantwoordelijk zijn voor deze afdelingen.

Dus, OID-structuur in de MIB-boom:

Bovenaan de boom zit de wortel (punt), van waaruit takken aftakken. Veel diagrammen tonen enkele vertakkingen op het hoogste niveau (bijvoorbeeld itu-t, iso\itu-t en anderen hieronder), maar ik heb geen informatie gevonden over hun doel ... Daarom zijn we geïnteresseerd in een vert iso(0), die de volgende waarden bevat internetten (1): iso.org.dod.internet, wat overeenkomt met een numerieke ID .1.3.6.1 .

Deze sectie ( iso.org.dod.internet) vertakt zich in onderafdelingen die grotendeels worden gecontroleerd door de IANA en bestaan ​​(volgens RFC1155) uit:

  • map OID= 1.3.6.1.1 (iso.org.dod.internet . map) - Gereserveerd voor toekomstig gebruik
  • mgmt OID= 1.3.6.1.2 (iso.org.dod.internet . mgmt) - in deze tak zijn er standaard takken van objecten.
  • experimenteel OID= 1.3.6.1.3 (iso.org.dod.internet . experimenteel) is een tak waar ontwikkelaars mee kunnen experimenteren. ( niet weergegeven op het diagram)
  • privaat OID= 1.3.6.1.4 (iso.org.dod.internet . privaat) – de sectie is bedoeld voor gebruik door fabrikanten van apparatuur.

Vervolgens moet u een afzonderlijke itemtak overwegen 1.3.6.1.2 (iso.org.dod.internet . mgmt), bestaande uit een achtergrondverlichting mib-2 (1) , net zoals gereserveerd(0),pib(2),http(9) en enkele anderen. Het is vermeldenswaard dat, afhankelijk van de protocolversie (SNMPv1 versus SNMPv2), verschillende substructuren kunnen worden "gekoppeld" in plaats van deze tak, die over het algemeen ongeveer dezelfde structuur en dezelfde identifiers hebben, maar in een nieuwere versie van het protocol, de subboom is meer uitgebreid. (waarschijnlijk is dit de onverenigbaarheid van de protocolversies ...)

Dus iso.org.dod.internet.mgmt.mib-2 (1.3.6.1.2.1): deze tak is de basis voor de meeste netwerkapparaten en zit in bijna elk apparaat. De branche is verdeeld in basisgroepen (waarvan er momenteel meer dan 170 zijn), die typerend zijn voor alle netwerkapparatuur. Laten we eens kijken naar de meest gebruikte:

  1. iso.org.dod.internet.mgmt.mib-2.system (1.3.6.1.2.1.1)- de branch bevat verschillende objecten die de host karakteriseren (uptime, OS-versie, enz.), beschreven in RFC1213.
  2. iso.org.dod.internet.mgmt.mib-2.interface (1.3.6.1.2.1.2)- bevat objecten die het netwerksubsysteem van de host beschrijven (aantal interfaces, MTU-grootte, overdrachtssnelheid, fysieke adressen, enz.), beschreven in RFC2863.
  3. iso.org.dod.internet.mgmt.mib-2.ip (1.3.6.1.2.1.4)- bevat een set objecten die gegevens beschrijven over het doorgeven van IP-pakketten (het aantal verzoeken, antwoorden, verwijderde pakketten en vele andere). Beschreven in RFC1213.
  4. iso.org.dod.internet.mgmt.mib-2.tcp (1.3.6.1.2.1.6) en iso.org.dod.internet.mgmt.mib-2.udp (1.3.6.1.2.1.7)- objecten bevatten die informatie opslaan met betrekking tot het bijbehorende transportprotocol. Beschreven in RFC1213.
  5. ... En vele anderen. andere, die in principe een nogal beschrijvende naam hebben en die verder worden 'onthuld' in een grotere reeks objecten.

Een aparte paragraaf is ook een subparagraaf waard iso.org.dod.internet.private (1.3.6.1.4), met daarin een substructuur onderneming (1). Deze tak wordt beheerd door de IANA en bevat meer dan 40.000 substructuren (bekijk de huidige lijst op http://www.iana.org/assignments/enterprise-numbers). Registreer in deze branche hun subbomen - fabrikanten van apparatuur. Hier is een voorbeeld van een filiaal:

De onderstaande structuur is vergelijkbaar met alle andere secties - boomachtig. In elke subboom is de respectieve hardwarefabrikant vrij om zijn eigen takken en variabelen te registreren.

Dat is ook een belangrijk punt elke tak van de MIB-basis eindigt met een variabele waarin een bepaalde waarde is geschreven. Tegelijkertijd zijn er verschillende soorten variabelen in de MIB. Eerst worden ze verdeeld in variabelen " alleen om te lezen" en beschikbaar voor verandering, waardoor de SetRequest respectievelijk niet kan worden uitgevoerd en uitgevoerd. Ten tweede zijn er stringvariabelen, tabelvariabelen en vele andere, waarvan de waarden ook worden geïdentificeerd door OID. Als er in het algemeen geen behoefte is aan programmeren voor SNMP, kan dit begrip beperkt zijn.

SNMP-beveiliging (of SNMP-versie)

SNMP-beveiliging is het meest gewijzigde deel van de protocolspecificatie sinds het begin. Bij elke versie van SNMP zijn pogingen ondernomen om de beveiliging te verhogen. Eerste versie van het protocol SNMPv1 was de eenvoudigste en meest onveilige. Protocolberichten kunnen worden gewijzigd, vervangen of afgeluisterd. De veiligheid van het protocol was gebaseerd op op de gemeenschap gebaseerde beveiligingsmodellen(zogenaamde Op de gemeenschap gebaseerd beveiligingsmodel), wat authenticatie impliceerde op basis van een enkele tekenreeks - een soort wachtwoord (zogenaamd. gemeenschap-steek), die duidelijk in de hoofdtekst van het bericht werd verzonden. Hoewel deze versie van het protocol de meest onveilige is, wordt deze vrij vaak gebruikt in moderne netwerken, omdat. is de eenvoudigste.

In een van de tweede versies SNMP (SNMPv2p) er was een poging om te implementeren op partijen gebaseerde authenticatie(zogenaamde Partijgebaseerd beveiligingsmodel). De technologie ondersteunde naast authenticatie ook de mogelijkheid om verkeer te versleutelen. Deze technologie heeft geen wortel geschoten, als "complex en verwarrend") en wordt momenteel niet gebruikt. Daarna keerde SNMP versie 2 terug naar Op de gemeenschap gebaseerde beveiliging en werd bekend SNMPv2c en is nog steeds in gebruik. SNMPv2 werd iets meer dan volledig herschreven, waardoor de snelheid van het protocol en de beveiliging aanzienlijk werden verhoogd.

De derde versie van het protocol ( SNMPv3) is met meer succes afgerond en ondersteunt beide authenticatie op basis van gebruikersnaam(zogenaamde Gebruikersgebaseerd beveiligingsmodel) en versleuteling van verkeer. Hoewel ze al dan niet gebruikt kunnen worden.

Protocolversies onderling niet compatibel. De onverenigbaarheid ligt in het verschil PDU's, in aanwezigheid van aanvullende opdrachten in nieuwere versies van het protocol (misschien in andere ...). RFC 2576 bevat enige informatie om delen mogelijk te maken SNMPv1 en v2. Er zijn 2 manieren om dit te doen: 1. Het gebruik van proxy agents (de agent converteert SNMPv2-PDU in SNMPv1 PDU), 2. Een manager gebruiken met ondersteuning voor 2 versies (de manager voor elke host moet de versie van de agent onthouden).

laat ons nadenken werking van het SNMPv2c-protocol(en SNMPv1) vanuit veiligheidsoogpunt. Bij het bekijken van de structuur van het PDU-pakket viel het op dat elke PDU een communitystring bevat. Tegelijkertijd bevat de SNMP-agent een lijst (vaak bestaat deze lijst uit één enkele waarde) met toegestane tekenreeksen en een beschrijving van wat elk van de tekenreeksen kan doen (in feite een reeks rechten). In de meeste gevallen zijn dit lees-/schrijfrechten. Bij het inschakelen van SNMP-functies op een host zijn de standaard communitystrings openbaar en privaat voor leesvermogen en voor lees-schrijfvermogen, respectievelijk. Het is zeer wenselijk om deze regels naar uw eigen regels te wijzigen. Vaak wordt bij het configureren van SNMP, waarbij voor elke variabele het bijbehorende variabelenveld wordt vervangen door de ingestelde waarden van de variabelen. Het foutstatusveld wordt ingesteld op NoError en het foutindexveld wordt ingesteld op 0. De waarde van het request-id-veld in de respons-PDU is gelijk aan de ID in het ontvangen bericht. verschillende gemeenschappen lijnen voor lezing variabelen en voor verslagen.

SNMP-configuratieprincipes

Tot SNMP-beheerder zou kunnen werken met symbolische OID-namen (ASN.1-notatie), moet u het de juiste SMI- en MIB-bestanden geven die de correspondentie van het symbolische record en het digitale record opslaan. Om ervoor te zorgen dat de SNMP-manager kan communiceren met een agent, moet de manager naar deze agent verwijzen, waarvoor de juiste instellingen zijn ingesteld, bijvoorbeeld:

  • Scheepvaart haven
  • Of je de val accepteert
  • gemeenschap om te lezen
  • gemeenschap voor de goede orde
  • enquête periode
  • OID's

In de meeste implementaties van SNMP-managers (in deze context is het waarschijnlijk beter om te zeggen - netwerkbeheersystemen Netwerkbeheersysteem) worden enkele functies van het mechanisme voor automatische detectie van SNMP-agents verstrekt. In de meeste gevallen komt dit neer op het plannen van een bepaald script dat op een bepaalde tijd wordt uitgevoerd en een bepaald bereik van IP-adressen ondervraagt.

SNMP op Linux

  • RFC 1155 (STD 16) - Structuur en identificatie van besturingsinformatie in netwerken op basis van de TCP/IP-protocolstack
  • RFC 1156 (historisch) - Managementinformatiebasis voor netwerkbeheer in netwerken op basis van de TCP/IP-protocolstack
  • RFC 1157 (Historisch) - Simple Network Management Protocol (SNMP)
  • RFC 1213 (STD 17) - Managementinformatiebasis voor netwerkbeheer in netwerken op basis van de TCP/IP-protocolstack: MIB-II
  • RFC 1452 (informatief) - "Coëxistentie van versies 1 en 2 van de Network Management Framework Internet Standard (herzien in RFC 1908)"
  • RFC 1901 (experimenteel) - Inleiding tot community-based SNMPv2
  • RFC 1902 (Draft Standard) - Managementinformatiekader voor SNMPv2 (herzien in RFC 2578)
  • RFC 1908 (Standards Track) - Naast elkaar bestaan ​​van versie 1 en 2 van het Internet Standard Network Management Framework
  • RFC 2570 (informatief) - Inleiding tot versie 3 van het Internet Standard Network Management Framework (herzien in RFC 3410)
  • RFC 2578 (STD 58) - Control Information Framework, versie 2 (SMIv2)
  • RFC 3410 (informatief) - Overwegingen voor de introductie en toepassing van het Internet Standard Network Management Framework"
  • STD62
    • RFC 3411 - Architectuur voor het beschrijven van het SNMP Management Framework
    • RFC 3412 - Verwerken en verzenden van berichten voor SNMP
    • RFC 3413 - SNMP-toepassingen
    • RFC 3414 - Gebruikersgebaseerd beveiligingsmodel (USM) voor SNMPv3
    • RFC 3415 - View-based Access Control Model (VACM) voor SNMP
    • RFC 3416 - Protocolbewerkingen versie 2 voor SNMP
    • RFC 3417 - Transportbindingen voor SNMP
    • RFC 3418 - Management Information Base (MIB) voor SNMP
  • RFC 3430 (experimenteel) - SNMP via transportbindingen in TCP
  • RFC 3584 (BCP 74) - Naast elkaar bestaan ​​van versies 1, 2 en 3 van het Internet Standard Network Management Framework
  • RFC 3826 (voorgesteld) - Advanced Encryption Standard (AES) encryptie-algoritme in gebruikersgebaseerd beveiligingsmodel in SNMP
  • RFC 5343 (voorgesteld) - Context EngineID-detectie in SNMP
  • RFC 5590 (Draft) - Transportsubsysteem voor SNMP
  • RFC 5591 (Draft) - Transportbeveiligingsmodel voor SNMP
  • RFC 5592 (Voorgesteld) - Beveiligd Shell Transport Model voor SNMP
  • RFC 5608 (Voorgesteld) - Gebruik van Dial-Up Dial-Up Authentication Service (RADIUS) in transportmodellen in SNMP
  • RFC 6353 (concept) - TLS-transportmodel voor SNMP

Met vriendelijke groet, Mc.Sim!

Installatie

Het Simple Network Management Protocol (SNMP) wordt gebruikt in netwerkbeheersystemen om netwerkapparaten te controleren op gebeurtenissen die de aandacht van de beheerder vereisen. Het bestaat uit een set netwerkbeheerstandaarden, waaronder een Application Layer-protocol, een databaseschema en een set data-objecten.

Op Windows zijn SNMP-services beschikbaar als Windows-componenten, maar ze worden niet standaard geïnstalleerd.

Volg deze stappen om SNMP op Windows te installeren:

1) Klik op Start - Configuratiescherm

2) Druk op de knop "Het installeren en verwijderen van programma's".

3) Klik in het linkerdeelvenster op de knop "Windows-functies toevoegen/verwijderen"

4) Zoek en selecteer een item «" beheer"en"toezicht houden"Hulpmiddelen" en klik op de knop "Details".

5) Selecteer "Eenvoudig netwerkbeheerprotocol"

6) U kunt ook installeren «" WMI SNMP-provider"» , waarmee klanten toegang hebben tot SNMP-informatie via WMI-interfaces (Windows Management Instrumentation).

Zoek na installatie de relevante services in de servicebeheerconsole (" Diensten."msc):

Rennen" SNMP-service” om de SNMP-agent en de service in te schakelen " SNMP Trap-service” om SNMP-berichten (SNMP Traps) van andere agenten te kunnen ontvangen.

SNMP-berichten (SNMP Trap) zijn berichten die door servers (bij een bepaalde gebeurtenis) met geïnstalleerde SNMP-agents naar de SNMP-beheersysteemserver worden gestuurd.

U hebt dus de SNMP-service op een Windows-server geïnstalleerd en nu kunt u deze gebruiken als een SNMP-agent of SNMP-server om SNMP-informatie te verzenden of te ontvangen van andere systemen waarop een SNMP-agent is geïnstalleerd.

Instelling

Het SNMP-protocol wordt gebruikt om netwerkapparaten te beheren, systeemgebeurtenissen te bewaken en te waarschuwen die belangrijk of bedrijfskritisch kunnen zijn.

Om de SNMP-agent op Windows te configureren,

o Klik op Start - Uitvoeren - typ "services.msc" en druk op enter. Hiermee wordt de Services Management Console geopend.

o Klik in het rechterdeelvenster met de rechtermuisknop op de SNMP-service en selecteer "Eigenschappen"

o Klik op het tabblad » Agent », voer de naam van de contactpersoon en de locatie van de server in en controleer de gebeurtenissen die moeten worden gerapporteerd aan de SNMP-beheerserver.

o Ga naar het tabblad "Traps" en voer de naam van de groep en berichtontvangers in (Trap). Dit zal de SNMP-agent vertellen naar welke servers SNMP-berichten moeten worden verzonden in geval van problemen. Community-naam is de naam van de SNMP-beheerserver.

o Op het tabblad Beveiliging kunnen we verschillende beveiligingsopties instellen voor verschillende SNMP-servers, er zijn de volgende niveaus: "Notify", "ALLEEN LEZEN", "READ WRITE", "READ CREATE". "Read Write" is het maximaal toegestane machtigingsniveau waarop de SNMP-beheerserver wijzigingen in het systeem kan aanbrengen, en het niveau "ALLEEN LEZEN" impliceert de mogelijkheid om alleen het systeem te ondervragen en er kunnen geen wijzigingen worden aangebracht.

o Bovendien kunt u om veiligheidsredenen de optie 'Accepteer SNMP-pakketten van deze hosts' selecteren, waarmee u een lijst met geautoriseerde servers kunt definiëren die deze agent kunnen pollen.

o Klik op Toepassen en OK.

o Klik met de rechtermuisknop op de service en selecteer Opnieuw opstarten om de wijzigingen door te voeren.

De afkorting SNMP kan worden ontcijferd als Simple Network Management Protocol, dat wil zeggen "eenvoudig netwerkbeheerprotocol". Deze standaard is een van de meest voorkomende bij het beheer van apparaten op een netwerk. In de meeste gevallen kan dit protocol worden gebruikt in gevallen waarin het nodig is om de uitvoering te controleren van vereisten die door de beheerder zijn ingesteld op apparaten die op het netwerk zijn aangesloten. De gegevens die binnen SNMP worden uitgewisseld, worden weergegeven als variabelen. Dankzij hen wordt het mogelijk om de instellingen van een beheerd object te beschrijven. Via besturingsapplicaties kunnen verzoeken worden gedaan en in sommige gevallen kunnen variabelen worden gespecificeerd.

Protocolmogelijkheden

Het belangrijkste kenmerk van dit protocol is de externe configuratie van apparaten op het netwerk met behulp van een hostcomputer zonder het gebruik van software van derden. Tijdens het beheer van netwerkprocessen kunt u niet alleen met bepaalde procedures werken, maar ook de prestaties in het algemeen bewaken, middelen bewaken en opkomende problemen in de infrastructuur identificeren. Daarom is het SNMP-protocol erg populair onder systeembeheerders.

Basis SNMP-componenten

De meest voorkomende componenten:

  • slave-object - een object waarnaar verschillende opdrachten worden verzonden;
  • MIB-database;
  • controleprogramma;
  • slaafprogramma (agent);
  • een systeem dat zorgt voor interacties in een netwerk.

Informatie van het object wordt naar het besturingsprogramma gestuurd, dat het zal interpreteren volgens de gespecificeerde algoritmen. Op het slave-apparaat is er een agentprogramma dat is ontworpen om het verzamelen van informatie over een specifiek apparaat te organiseren. Indien nodig kan het programma (software) deze informatie uitzenden in een formaat dat is aangepast aan de kenmerken van SNMP.

Het systeem zelf om interactie tussen objecten in het netwerk te waarborgen, stelt de beheerder in staat om met veel besturingsprogramma's tegelijk te werken. Dit maakt het mogelijk om de werking van de infrastructuur volledig te beheersen. Verschillende soorten van dergelijke software kunnen tegelijk op netwerken worden geïnstalleerd.

Het belangrijkste element is de MIB. Dit element is nodig om de structuur van de database (DB) te beschrijven, wat nodig is bij het uitwisselen van informatie tijdens het beheer van apparaten. Zo'n database maakt het mogelijk om gegevens op te slaan over de componenten die op het apparaat zijn geactiveerd om het te besturen.

Het hoofdbestanddeel van de database zijn identifiers van het OID-type, waarmee u variabelen kunt instellen die worden gedefinieerd en gelezen dankzij SMNP.

Mogelijkheden van besturingsprogramma's

Dit type programma geeft het recht om groepen van verschillende apparaten te beheren die zich in dezelfde netwerkruimte bevinden. Het besturingsprogramma kan alleen werken als de agenttoepassing op alle slave-apparaten is geïnstalleerd. De applicatie stuurt de benodigde gegevens naar de beheerserver met behulp van SNMP. Tegelijkertijd draait er een managerprogramma op de hoofd-pc, dat verantwoordelijk is voor het verwerken van informatie die afkomstig is van agentapplicaties.

Software voorbeelden

Er zijn vergelijkbare programma's die zijn aangepast voor gebruik op Windows en Solaris. Laten we er een paar bekijken.

SNMP-pakket van Castle Rock Computing

Het is een beveiligd netwerkbeheersysteem dat zorgt voor continue bewaking van het gehele netwerk.

Hoofd Producteigenschappen:

  • monitoring van apparaten, WAN-verbindingen, servers en applicaties;
  • Ondersteuning voor internetprotocol versie 6 (IPv6);
  • ondersteuning voor SNMP v1, v2c en secure v3;
  • schaalbare en gedistribueerde architectuur;
  • ondersteuning voor integratie met SNMPc OnLine-netwerkrapporten;
  • primaire/back-upservers met automatische failover;
  • gebeurtenissen vastleggen in Syslog;
  • externe Windows-console;
  • automatische netwerkdetectie;
  • omgeving voor programmeren en scripten.

Programma-interface:

Het programma is bedoeld voor controle en beheer netwerkapparaten die het SNMP-protocol gebruiken.

Kenmerken:


Hulpprogramma voor onderzoek en monitoring ontworpen voor agentsystemen. Het wordt geleverd in de verkennerstijl van de MIB die open is op de agent. Het heeft de eenvoudigste interface van alle gepresenteerde, maar ook de moeilijkst te gebruiken.

Het programma maakt het mogelijk:


Kenmerken van de MIB-database

Het belangrijkste proces tijdens MIB-werking is variabele adressering. Het gebeurt rekening houdend met de structuur van een bepaald element van het protocol. MIB heeft een structuur in de vorm van een boom, bestaande uit een set elementen, die elk een uniek ID toegewezen krijgen.

Binnen de MIB geeft de naam van een variabele het adres tot aan de variabele weer, beginnend bij de hoofdmap. In de structuur van een variabele, een verscheidenheid aan gegevens opslaan, zoals de duur van het apparaat. De MIB kan branches bevatten waarmee veel apparaten kunnen werken, maar ook branches die het ontwikkelbedrijf toevoegt, of het bedrijf waarin de implementatie wordt uitgevoerd.

Voordat u de databasestructuur in gebruik neemt, moet u een uniek nummer toekennen aan de gecreëerde set variabelen. Hierdoor kunnen monitoring engineers of beheerders een nieuwe tak in de structuur aanmaken waarin alleen variabelen van hun afdeling geplaatst kunnen worden.

Wat is OID

OID - object-ID, een optioneel certificaatattribuut dat aanvullende informatie geeft over de eigenaar, sleutels of aanvullende gegevens bevat voor services die dit certificaat gebruiken.

OID's worden het meest gebruikt voor op rollen gebaseerde toegangscontrole. In een certificaat kunt u bijvoorbeeld de eigenaar van de sleutel en informatie daarover specificeren. Hierdoor zal het mogelijk zijn om het in alle informatiesystemen te identificeren en zal het ook toegang hebben tot de benodigde gegevens, met uitzondering van verzoeken om toestemming. Dit is mogelijk in gevallen waarin alle informatiesystemen een gebruikerscertificaat gebruiken voor autorisatie en hetzelfde attribuut op dezelfde manier analyseren.

Wat is een SNMP-trap

Een SNMP-trap is een teken dat wordt gegeven door een apparaat dat het SNMP-protocol ondersteunt. Het belangrijkste doel is om de beheerder te informeren over noodsituaties in het netwerk.

Voorbeeld: Bepaalde soorten ononderbroken voedingen sturen dergelijke signalen wanneer het apparaat het voedingstype verandert in batterijvoeding in plaats van netvoeding. In de meeste gevallen vereist dit onmiddellijke actie en daarom wordt het bericht zelf door het apparaat via het SNMP-protocol verzonden. Dergelijke vallen moeten ook individuele merken ruimteopeningssensoren bevatten. Deze sensoren kunnen op het netwerk worden aangesloten als u een signaal wilt ontvangen over het openen van deuren.

Ook in Windows-services er is een dienst genaamd "SNMP Trap Service" die dezelfde functies uitvoert. Op computers die niet zijn aangesloten op een lokaal netwerk, wordt het niet gebruikt, maar is het meestal ingeschakeld. Om het uit te schakelen, gaat u naar "Start - Configuratiescherm - Systeembeheer - Services" en zoekt u de opgegeven service in de lijst die wordt geopend. Klik erop met de rechtermuisknop (RMB), dan " Eigendommen”, en wijzig vervolgens "Opstarttype" in "Uitgeschakeld".

SNMP installeren en configureren

Service installatie

U moet het volgende doen:

  1. Volg het pad "Start" - " Controlepaneel»;
  2. Verder "Het installeren en verwijderen van programma's";
  3. Zoek het item in het linkerdeel van het venster: "Windows-componenten installeren» en selecteer het;
  4. Volgende punt "Controle- en bewakingstools", selecteer het en klik op "Compositie";
  5. Kiezen "SNMP-protocol";
  6. Voltooi de installatie door op de knoppen "OK" en "Volgende" te klikken.

Ga vervolgens naar Windows Services en doe het volgende:

  • aanzetten " SNMP-service”, dit is nodig om de agent in staat te stellen;
  • rennen" SNMP Trap-service” om berichten te ontvangen.

Agentconfiguratie

Een agent instellen op Windows:

  • klik op "Start" - "Uitvoeren" - voer in " diensten.msc" en druk op de "Enter"-toets op het toetsenbord. Hiermee wordt de servicebeheerconsole geopend;
  • selecteer aan de rechterkant "SNMP-service", klik er met de rechtermuisknop op en vervolgens op "Eigenschappen";
  • ga naar het item "SNMP-agent". Voer de naam en locatie van de server in en selecteer de gebeurtenissen die u aan de server wilt rapporteren (indien nodig);
  • ga naar "Traps" en voer de naam van de groep in en de namen van ontvangers van trapberichten (indien nodig);
  • in " Veiligheid» selecteer het gewenste beveiligingsniveau voor servers;
  • klik op de knop "Toepassen" en vervolgens op "OK";
  • klik met de rechtermuisknop op de service en selecteer " Herstarten» om de wijzigingen toe te passen.

Het installatieproces is voltooid.