Uživatelská příručka sjednocených modulárních automatizačních nástrojů YumaWorks YumaPro yp-snmp YANG

Předmluva

Právní prohlášení
  • Copyright 2009 – 2012, Andy Bierman, všechna práva vyhrazena.
  • Copyright 2012 – 2022, YumaWorks, Inc., Všechna práva vyhrazena.
Další zdroje

Tento dokument předpokládá, že jste úspěšně nastavili software, jak je popsáno v tištěném dokumentu: YumaPro Installation Guide

Další dokumentace obsahuje:

  • Rychlý průvodce YumaPro
  • YumaPro uživatelská příručka
  • Příručka YumaPro netconfd-pro
  • Manuál YumaPro yangcli-pro
  • YumaPro yangdiff-pro manuál
  • YumaPro yangdump-pro manuál
  • YumaPro Developer manuál
  • Rychlý průvodce rozhraním YumaPro API
  • Průvodce ypgnmi YumaPro
  • YumaPro ypclient-pro manuál
  • Průvodce API systému YumaPro yp
  • Průvodce API YumaPro yp-show
  • Rychlý průvodce YumaPro Yocto Linux

Chcete-li získat další podporu, můžete kontaktovat oddělení technické podpory YumaWorks: podpora@yumaworks.com

WEB Weby

 

Seznamy adresátů

Konvence použité v tomto dokumentu

V tomto dokumentu se používají následující konvence formátování:

Konvence dokumentace

Konvence

Popis

– foo Parametr CLI foo
XML parametr foo
foo příkaz nebo parametr yangcli-pro
$FOO Proměnná prostředí FOO
$$foo yangcli-pro globální proměnná foo
nějaký text Example příkaz nebo PDU
nějaký text Prostý text

Ikona

Užitečné nebo rozšířené informace

Ikona

Varovné informace upozorňující na možné neočekávané vedlejší účinky

Uživatelská příručka yp-snmp

Architektonické komponenty
Architektonické komponenty

Zavedení

yp-snmp umožňuje připojení protokolu SNMP (Simple Network Management Protocol) k dalším rozhraním netconfd-pro Northbound. Dělá to propojením s knihovnou Net-SNMP projektu Open Source. Tato uživatelská příručka popisuje, jak se používá funkce SNMP, jak převést moduly MIB na moduly YANG, instrumentovat je, nainstalovat je na server netconfd-pro a poté k nim přistupovat pomocí klientských nástrojů (agentů) SNMP.

Vlastnosti

The yp-snmp klient má následující vlastnosti:

  • Zpracování paketů SNMP v rámci serveru netconfd-pro integrací zpracování paketů libnetsnmp v rámci serveru netconfd-pro (knihovna agentů).
  • Zpracování požadavku SNMP GET
  • Zpracování požadavku SNMP GETNEXT
  • Zpracování požadavku SNMP GETBULK
  • Asynchronní oznámení – zachycuje a informuje
  • Podpora pro SNMPv3
  • SNMP server netconfd-pro plně podporuje pouze moduly YANG, které byly převedeny z MIB pomocí nástroje smidump

SNMP SET není podporováno.

Budování podpory SNMP

Aby bylo možné propojit Net-SNMP s netconfd-pro, hlavička Net-SNMP files musí být nainstalován v systému, ve kterém stavíte server. Aby bylo možné spustit server netconfd-pro s podporou SNMP, musí být k dispozici snmpd i snmptrapd. Pro testování podpory SNMP by bylo užitečné mít nainstalované nástroje klienta (agenta), které poskytuje Net-SNMP, jako je snmpget, snmpwalk, snmpbulkget atd.

Následující pokyny nainstalují Net-SNMP a jeho klientské nástroje. POZNÁMKA: Existuje mnoho parametrů pro vytváření NetSNMP, toto je pouze jeden z nich. Další možnosti viz http://www.net-snmp.org/

Nejprve si stáhněte verzi Net-SNMP, kterou chcete používat. Následující instrukce používají net-snmp-5.7.3 jako příkladample. Tím se nainstalují binární soubory a hlavička .h fileje potřeba:
Budování podpory SNMP

Když máte nainstalovaný Net-SNMP, můžete sestavit server. Použijte příznak WITH_SNMP=1 k sestavení netconfd-pro s podporou SNMP ze zdrojového kódu:
Budování podpory SNMP

Chcete-li otestovat funkce klienta SNMP, GET, WALK atd., byl IF-MIB zahrnut a vytvořen jako serverová instrumentační knihovna (SIL) a budete muset sestavit a nainstalovat IF-MIB SIL. Z adresáře netconf:
Budování podpory SNMP

Chcete-li spustit server netconfd-pro, měli byste jej spustit s parametry níže, abyste mohli vidět ladicí zprávy jako exampsoubory běží a také se vyhnete problémům se stávajícími konfiguracemi. Příkaz load-module načte dříve popsaný IF-MIB SIL:
Budování podpory SNMP

POZNÁMKA: server musí být spuštěn na kořenové úrovni, protože používá omezené porty jako součást standardu SNMP.

snmpget example

K běhu snmpget proti načtenému IF-MIB SIL:
snmpget example

snmpwalk example

K běhu houpačka proti načtenému IF-MIB SIL:
Snmpwalk example

snmpbulkget example

K běhu snmpbulkget proti načtenému IF-MIB SIL:
Snmpbulkget example

Pasti a informuje

POZNÁMKA: server aktuálně podporuje pouze depeše SNMP verze 2.
Chcete-li demonstrovat depeše SNMP, ujistěte se, že v souboru existuje následující řádek snmpd.conf file:
Pasti a informuje

Ke sběru a zobrazení pastí lze použít následující aplikaci. Snmptrapd je aplikace SNMP, která přijímá a protokoluje zprávy SNMP TRAP a INFORM.
Pasti a informuje

Chcete-li otestovat, zda je nastavení správné a zda příjem oznámení funguje, simulujte odeslání SNMP trapu z druhé relace terminálu pomocí následujícího příkazu, který odešle oznámení linkDown:
Pasti a informuje

V okně terminálu serveru trap byste měli vidět:
Pasti a informuje
Pokud to funguje, můžete testovat pomocí netconfd-pro.

Zabezpečení SNMP a SNMP v3

Tato část stručně popisuje bezpečnostní aspekty pro požadavky SNMP, konkrétně o ověřování a autorizaci. Mechanismus ověřování je zabudován do Net-SNMP

  • Autentizace v SNMP verze 1 a 2c je zajištěna heslem (řetězcem komunity) zasílaným jako prostý text mezi manažerem a agentem.
  • SNMP v3 definuje řadu funkcí souvisejících se zabezpečením. Počáteční specifikace definovaly USM a VACM, které byly později následovány modelem zabezpečení přenosu, který poskytoval podporu pro SNMPv3 přes SSH a SNMPv3 přes TLS a DTLS.

Netconfd-pro implementuje NACM (NETCONF Access Control Model) pro správu a řízení přístupu k YANG objektům podporovaným zařízením. Protože NACM již autorizaci poskytuje, musí být VACM při zpracování požadavků SNMP v3 zakázán. Více informací o konfiguraci a správě autentizace Net-SNMP je k dispozici on-line jako součást dokumentace Net-SNMP.

Konfigurace zabezpečení files

Net-SNMP využívá 2 konfigurace files kontrolovat jeho provoz a poskytované informace o řízení.

  1. /var/net-snmp/snmpd.conf – Tohle file obsahuje specifickou konfiguraci SNMP v3 související s povolenými uživatelskými jmény a hesly.
  2. /usr/local/share/snmp/snmpd.conf – Tohle file obsahuje obecné konfigurační informace včetně komunitních řetězců souvisejících s SNMP v1 a v2c, které provádějí základní ověřování. Pokud není nalezen v cestě zadané dříve, konfigurace file lze nalézt v /etc/yumapro/snmpd.conf.
Přidávání uživatele SNMP v3

Přidání nového uživatele SNMP v3 lze provést pomocí skriptů dostupných jako součást Net-SNMP, jak je uvedeno níže. Níže uvedený příkaz přidá uživatele „admin“ s ověřováním a ochranou soukromí. Autentizace využívá SHA a heslo pro autentizaci je „password1“. Podobně pro ochranu soukromí se používá DES a související heslo pro ochranu soukromí je „password2“.

Poznámka: Před spuštěním výše uvedeného příkazu musí být server netconfd-pro zastaven. Jakmile je výše uvedený příkaz spuštěn, lze znovu spustit netconfd-pro, který využije tuto aktualizovanou konfiguraci file.

Přidání uživatele SNMP v1/v2c

Jak již bylo zmíněno dříve, SNMP v1 a v2c využívají k ověřování komunitní řetězce. Povolené řetězce komunity spolu s přístupovými oprávněními se konfigurují v souboru snmpd.conf file. Tokeny, které řídí tyto parametry, jsou „rocommunity“ pro přístup pouze pro čtení a „rwcommunity“ pro přístup pro čtení a zápis.

Netconfd-pro se zapojuje do Net-SNMP

Server netconfd-pro vždy naslouchá na portu 161 a 162 pro požadavky agenta SNMP, když je server spuštěn s — with-snmp=true. Během bootování netconfd-pro vytvoří Trap Sinks a aktivuje netconfd-pro SNMP server. To zahrnuje:

  • Konfigurace SNMP file rozebrat
  • Registrace obslužné rutiny pro příchozí SNMP pakety. Toto je zpětné volání registrované pro příchozí pakety
  • Registrace adresového bodu síťové služby (NSAP) v knihovně net snmp a nastavení relace agenta pro daný přenos. V tomto kroku netconfd-pro propojí knihovnu net-snmp a zaregistruje všechna potřebná zpětná volání a handlery, které budou použity pro zpracování paketů, vytvoření PDU a výstup odpovědí.

Poté server začne kontrolovat, zda existují nějaké zprávy SNMP ke zpracování. Kontroluje všechny pakety ze sítě. Pokud existují nějaké pakety ke zpracování, server zavolá rozhraní net-snmp API, aby je zpracoval.

Pro požadavky SNMP, např. snmpget na uzlu get2, server provede následující:

  • Analyzujte příchozí paket (OID; typ požadavku, get, getnext atd.)
  • Vyřešte typ interního požadavku SNMP, požadavek na indexovaném uzlu, zapnuto
  • skalární bez jakýchkoli indexů atd., na základě typu požadavku server upraví rozlišení cílového objektu
  • Poté se server buď pokusí najít nejlepší další OID a zopakuje stejné kroky, nebo přistoupí ke skutečnému načtení hodnoty
  • Aby server získal hodnotu get2, zavolá zpětná volání get2 počínaje tabulkou cílového uzlu – cílový uzel bude vždy list.

Na základě výsledků zpětného volání server vytvoří nový PDU, který se má vrátit, nastaví návratovou hodnotu (hodnoty) pro požadovaný seznam Varbind v tomto PDU a odešle tento paket zpět agentovi.

U config true a virtuálních uzlů jsou všechny kroky stejné, kromě toho, že server nevolá zpětná volání get2, nejprve vyhledá požadovanou tabulku v databázi během zpracování cesty analýzy RESTCONF a poté je z této tabulky načtena nejlepší hodnota.

Yp-snmp – cesty zpráv NETCONF a SNMP

Diagram cest zpráv
Diagram cest zpráv

Když jsou převedené moduly MIB načteny do serveru netconfd-pro, protokoly Northbound, jako je NETCONF, přistupují k datovým úložištím YANG obvyklým způsobem, tj. prostřednictvím cesty zprávy zbarvené červeně ve výše uvedeném diagramu. Jakákoli upozornění jsou řešena obvyklým způsobem.

Zprávy SNMP jsou zpracovávány procesem Net-SNMP a serverem netconfd pro se SIL, který poskytuje instrumentaci, tj. cesta zprávy, která je na obrázku výše vybarvena žlutě. Server generuje všechny potřebné depeše SNMP.

Vytvoření MIB Instrumentation

Chcete-li převést modul MIB na modul YANG a přidat kód SIL (Server Instrumentation Library), měli byste dodržet následující kroky. BývalýampNíže uvedený text používá IF-MIB. BývalýampVerze IF-MIB SIL je dodávána s YumaPro SDK.

  1. Převeďte vybraný modul MIB na modul YANG pomocí nástroje smidump z: https://www.ibr.cs.tu-bs.de/projects/libsmi/download.html?lang=de
    Přístrojové vybavení MIB
  2. Převod byste měli ověřit pomocí yangdump-pro. Pokud chcete dodat další parametry yangdump-pro pro vaše prostředí, podívejte se do uživatelské příručky yumapro yangdump-manual.pdf nebo manuálových stránek.
    Přístrojové vybavení MIB
  3. Zkopírujte jang filedo vaší pracovní složky.
  4. Spuštěním make_sil_dir_pro vygenerujte zdrojový kód instrumentace.
    Přístrojové vybavení MIB
  5. Podle potřeby upravte kód přístrojového vybavení. Uvidíte tag které říkají „vložte kód xxx“. Proces převodu MIB na YANG vytváří smi:oid „xyz“ tags v modulu YANG pro listovou instrumentaci. Pouze listy se smi:oidem tag bude vidět z klienta SNMP. Viz následující část „Mapování SNMP na YANG“
  6. Jakmile skončíte s kódem přístrojového vybavení, zkompilujte kód pomocí.
    Přístrojové vybavení MIB
  7. nainstalujte kód pomocí.
    Přístrojové vybavení MIB

POZNÁMKA: „DEBUG=1“ je volitelný a používá se k povolení protokolování ladění.
Tím se nainstaluje vygenerovaná knihovna do systémové cesty pro načtení netconfd-pro.

Mapování SNMP na YANG

Pouze objekty YANG, které mají smi:oid „xyz“ tags bude viditelný pro netconfd-pro SNMP engine. Všechny ostatní objekty budou ignorovány a server oznámí, že žádný takový objekt neexistuje, nebo v případě snmpgetnext přeskočí na další objekt.

Datový model YANG nelze plně využít, pokud potřebuje reprezentovat MIB modul. Po konverzi MIB na YANG bude mít modul YANG několik omezení a některé běžné funkce a vlastnosti YANG budou serverem netconfd-pro buď ignorovány, nebo dokonce neplatné. Následující seznam ilustruje omezení:

  • Seznam nebo kontejner nemusí mít číslo OID (smi:oid „xyz“ tags), protože nemusí mít analogii v modulech MIB;
  • Obecná architektura pro modul YANG musí být vždy /container/list/leaf nebo /container/leaf v případě skalárních objektů. Neměly by existovat vnořené struktury, vnořená architektura. Přestože je server netcond-pro schopen zvládnout komplexní vnořenou architekturu, stále se nedoporučuje;
  • Volba, příkazy případu a jejich koncové uzly jsou ignorovány a pro SNMP server netconfd-pro budou neviditelné;
  • Pokud má objekt prohlášení „zastaralé“ nebo „stav“ není aktuální, např.: „zastaralý“, bude objekt ignorován;
  • Leafref, augment, použití atd. mohou být přítomny v převedeném modulu YANG, ale musí se s nimi zacházet opatrně.

POZNÁMKA:
SNMP server netconfd-pro plně podporuje pouze moduly YANG, které byly převedeny z MIB pomocí nástroje smidump. I když je možné vytvořit stávající modul tak, aby byl kompatibilní se SNMP serverem, může to stát hodně úsilí a nemusí to být ani možné, protože bude nutné upravit datový model. Nedoporučuje se ručně převádět modul YANG na SNMP kompatibilní a problémy se serverem netconfd-pro související s tímto modulem nebudou podporovány.

Logo

Dokumenty / zdroje

YumaWorks YumaPro yp-snmp Sjednocené modulární automatizační nástroje založené na YANG [pdfUživatelská příručka
YumaPro yp-snmp, sjednocené modulární automatizační nástroje založené na YANG, sjednocené modulární automatizační nástroje založené na YANG, sjednocené modulární automatizační nástroje, modulární automatizační nástroje

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *