Semestrální projekt Ověření možností

Podobné dokumenty
Cisco IOS TCL skriptování využití SMTP knihovny

Průzkum a ověření možností SNMPv3 na Cisco IOS

Management IP sítí. Simple Network Management Protocol (SNMP). Netconf.

SNMP Simple Network Management Protocol

Laboratorní práce: SNMP - Linux snmputils

Možnosti reakce na události na rozhraních (Interface Events)

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

Principy a použití dohledových systémů

Multiple Event Support

Konfigurace DHCP serveru a překladu adres na směrovačích Cisco

Napájecí zdroj JSD. Dohledový IP modul. Verze dokumentu: 1.0 Datum vydání: Poslední úprava:

VŠB Technická univerzita Ostrava Fakulta elektroniky a informatiky Směrované a přepínané sítě Semestrální projekt: TCL skriptování pod prvky Cisco

Prostředky pro řízení počítačových sítí. Network Management System. Network Management System

VŠB - Technická univerzita Ostrava

I/O a SCADA systémy. iologik I/O Servery. iologik iologik 2000

IP WATCHDOG IEEE 802.3,RJ45

UPS MONITOR Zařízení pro monitorování záložních zdrojů s protokolem Smart UPS APC

Uspořádaný seznam nula nebo více elementů, každý je typem ASN.1 (heterogenní seznam) uspořádaný seznam stejných elementů

TME. ethernetový teploměr. teploměr s přenosem dat po Ethernetu. protokoly ASCII, HTTP (WEB), SMTP ( ), SNMP

DÁLKOVÝ DOHLED PRO BKE ZDROJE

Počítačové sítě Systém pro přenos souborů protokol FTP

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF

Analýza aplikačních protokolů

Professional IP WATCHDOG IEEE 802.3, 2xRJ45

VLAN Membership Policy Server a protokol VQP Dynamické přiřazování do VLANů.

Analýza protokolů rodiny TCP/IP, NAT

Možnosti IPv6 NAT. Lukáš Krupčík, Martin Hruška KRU0052, HRU0079. Konfigurace... 3 Statické NAT-PT Ověření zapojení... 7

3. Linková vrstva. Linková (spojová) vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl

QoS MIB na ISR routerech s Cisco IOS - možnosti čtení QoS konfigurace a aktuálních statistik

VLSM Statické směrování

4. Síťová vrstva. Síťová vrstva. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si funkci síťové vrstvy a jednotlivé protokoly.

PA159-Správa sítě

5. Směrování v počítačových sítích a směrovací protokoly

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Intelligent Platform Management Interface (IPMI) Pavel Slavíček

Správa síťových prvků

Správa sítí. RNDr. Ing. Vladimir Smotlacha, Ph.D.

Základy IOS, Přepínače: Spanning Tree

TRANSPORTY výbušnin (TranV)

L2 multicast v doméně s přepínači CISCO

2005 Mikrovlny s.r.o. IP/GSM Restarter

MPLS Penultimate Hop Popping

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Pokročilé možnosti DHCP serveru v Cisco IOS. Vladimír Jarotek

Site - Zapich. Varianta 1

Semestrální projekt do SPS Protokol RSVP na Cisco routerech

Projekt VRF LITE. Jiří Otisk, Filip Frank

Nezávislé unicast a multicast topologie s využitím MBGP

Access Control Lists (ACL)

Typická využití atributu Community protokolu BGP - modelové situace

Ing. Michal Martin. Spojení PLC CLICK s NA-9289

Semestrální projekt do předmětu SPS

Routování směrovač. směrovač

Siemens (3V) Ericsson (5V) Alcatel (3.6V) C10, C35, C45, C55 T10s 501 S10, S25, S35 T20e (3V) M35, M50, MT50 T18s A60

Management a monitoting IP sítí

HSRP v1+v2, reakce na události object trackingu, vliv na zátěž CPU

Uživatelský modul. Modem Bonding

Instalace SQL 2008 R2 na Windows 7 (64bit)

TPS projekt. QoS MIB na ISR routerech s Cisco IOS - možnosti čtení QoS konfigurace a aktuálních statistik. Filip Volný, vol0015 Jakub Drešl, dre0009

Internet a zdroje. (ARP, routing) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17. listopadu

Dvojitý IP teploměr s výstupním relé a s digitálním a analogovým vstupem.

SSL Secure Sockets Layer

Uživatelský modul. DF1 Ethernet

Uživatelský modul. WiFi STA

Konfigurace sítě s WLAN controllerem

Technologie počítačových sítí 11. přednáška

Konfigurace směrovače, CDP

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování

Použití Virtual NAT interfaces na Cisco IOS

Quido - Telnet. Popis konfigurace modulů Quido protokolem Telnet. 3. srpna 2007 w w w. p a p o u c h. c o m

3.17 Využívané síťové protokoly

Internet-bridge XPort

6. Transportní vrstva

LAN adaptér. Návod k použití

L2 multicast v doméně s přepínači CISCO

EXTRAKT z technické normy ISO

ACASYS-KS Komunikace v systému ACASYS

SIMATIC S IT. Micro Automation. Promoters Meeting October Představení CP IT SPIDER CONTROL TELESERVIS. TESTOVACÍ server.

CAL (CAN Application Layer) a CANopen

Identifikátor materiálu: ICT-3-03

Flow Monitoring & NBA. Pavel Minařík

VLSM Statické směrování

Jak funguje SH Síť. Ondřej Caletka

Typy samostatných úloh PSI 2005/2006

VŠB - Technická univerzita Ostrava

Ověření možností generování provozu na platformě MikroTik + srovnání s Cisco a Open Source řešeními

Ověření technologie Traffic-Flow na platformě Mikrotik a NetFlow na platformě Cisco

Bezpečnostní možnosti protokolu SNMPv3 a jeho konfigurace v prostředí OS Linux (šifrování, autentizace, pohledy)

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Využití síťového managementu v automatizaci

EU-OPVK:VY_32_INOVACE_FIL9 Vojtěch Filip, 2013

Uživatelský manuál WEB SERVICE V3.0 IP kamer Dahua

Instalace Microsoft SQL serveru 2012 Express

EXTRAKT z technické normy CEN ISO

Komunikační protokoly počítačů a počítačových sítí

Sledování provozu sítě

Telekomunikační sítě Protokolové modely

Praktikum WIFI. Cíl cvičení:

Průzkum a ověření konfigurace Private VLAN na Cisco Catalyst 3560

Aktivní prvky: brány a směrovače. směrovače

Transkript:

Semestrální projekt Ověření možností SNMP David Malysz MAL391, Josef Stoklasa STO228 Abstrakt: Tento dokument krátce popisuje protokol SNMP a zjišťuje možnosti využití v kombinaci s jazykem TCL v prostředí CISCO IOS. Klíčová slova: SNMP, TCL, Router 1 Úvod...2 2 SNMP...2 2.1 Příkazy SNMP...2 2.2 Struktura SNMP packetu...3 2.3 MIB...3 3 Základní konfigurace SNMP pro CISCO IOS...5 3.1 Vytvoření pohledu...5 3.2 Vytvoření skupin...5 3.3 Vytvoření uživatelů...5 3.4 Vytvoření community...5 3.5 Definování adres NMS...6 3.6 Aktivace generování trapu...6 3.7 Specifikace interfacu pro trap...6 4 Využití možností SNMP v TCL...6 4.1 TCL shell...6 4.2 Použití EEM...8 4.2.1 Nastavení události...8 4.2.2 Nastavení knihoven...9 4.2.3 Nastavení akcí...9 4.2.4 Dostupné příkazy SNMP v EEM...10 4.3 Registrování scriptu...10 5 Praktická implementace...11 6 Závěr...11 7 Použitá literatura...11 listopad 2010 1/12

1 Úvod Jestliže spravujeme větší či menší síť, určitě chceme získávat informace o stavu sítě a jednotlivých uzlů, abychom mohli řešit případné problémy či neobvyklé chování sítě. Právě k tomuto účelu byl vyvinut protokol SNMP, jež správcům umožňuje lépe spravovat - monitorovat, nebo nastavovat - síťové prvky a mít dohled nad jejich činností, například vytížením rozhraní apod. 2 SNMP Protokol SNMP je protokolem aplikační vrstvy modelu TCP/IP a v současné době existuje ve třech verzích SNMPv1, SNMPv2a SNMPv3. Vytváří se komunikační kanál mezi správcem (managerem) a agentem, jenž běží na kontrolované (spravované) stanici. Správce posílá požadavky na agenta tzv. Requesty, agent tyto požadavky zpracuje a posílá odpovědi se získanými hodnotami. Zařízení na němž je spuštěn manager se nazývá stanice správy sítě (NMS) a zařízení na němž běží agent je označován jako spravované zařízení (element sítě). Ke komunikaci se používá protokol UDP, od SNMPv2 se používá kontrola doručení. Požadavky od NMS se posílají na agenta na port 161, agent posílá odpovědi na zdrojový dynamický port NMS, ale tzv. trapy posílá na port 162 NMS stanice. Trap je zpráva, jenž posílá agent sám, bez předběžného dotazu NMS, jakmile je překročena určitá prahová hodnota (např. teplota procesoru). Obrázek1. Princip SNMP 2.1 Příkazy SNMP Jak již bylo zmíněno, NMS posílá požadavky k agentovy. Tyto požadavky jsou v podstatě příkazy. Protokol SNMP rozlišuje 6 základních příkazů: GET tímto příkazem načítá stanice NMS od agenta požadovanou instanci objektu GETNext načítá další instanci objektu po načtení první GETBulk tento příkaz je dostupný od verze 2, načte všechny instance v daném spravovaném objektu, nemusí se zadávat opakovaně příkaz GETNext SET slouží k nastavení hodnot v instanci objektu TRAP tuto zprávu generuje agent samovolně, v případě, že došlo k určité prahové situaci (bez nutnosti dotazování) Inform tento příkaz nařizuje dané NMS předání zachycených informací jedné nebo více dalším stanicím listopad 2010 2/12

2.2 Struktura SNMP paketu Obrázek2. Struktura paketu pro dotaz Verze v poli verze je uvedeno číslo SNMP verze Obrázek3. Struktura paketu pro trap Community string v tomto poli je uveden řetězec jenž slouží k autentizaci dané NMS, od SNMPv3 je možné využít autentizaci pomocí hesla, jména a šifrování PDU typ zde je uveden typ SNMP příkazu (dotazu), při odpovědi od agenta se do tohoto pole uvádí jako typ RESPONSE ID dotazu identifikuje objekt v MIB na který se dotazujeme (OID) OID hodnota při odpovědi od agenta se zde uvádí hodnota dotazovaného objektu 2.3 MIB Agent průběžně pořizuje a ukládá informace o událostech, k jejichž sledování je nakonfigurován. Každá z těchto událostí (např. teplota procesoru) se nazývá spravovaný objekt. Tímto objektem může být také třeba celkový počet otevřených TCP spojení, přičemž jedna konkrétní TCP relace je instancí objektu zatímco celkový počet současně otevřených relací na zařízení je spravovaný objekt. Agent ukládá informace o objektech do speciálních datových záznamů, jenž se nazývá informační báze MIB. Tato databáze má stromovou strukturu. Objekty bývají pojmenovávány tak, aby bylo alespoň trochu zřejmé s čím daný objekt souvisí, např. Objekty začínající na sys obsahují systémové informace (umístění, jméno zařízení, kontakt, doba spuštění zařízení apod.) nebo if obsahují informace o rozhraních (interfacech). Ve většině operačních systémů běžících ve stanicích nebo síťových prvcích, můžeme SNMP objekty rozdělit do pěti základních kategorií: Konfigurace Frekvence chyb rozhraní Šířka pásma Tok síťového provozu Nedosažitelné adresy data SNMP - objekty MIB jenž obsahují základní informace pro správu zařízení (sysname, sysdescr, syscontact, ifnumber apod.) - monitorují konkrétní síťová rozhraní (ifinerrors, ifouterrors apod.) - Protokol SNMP posílám vstupní a výstupní zprávy ping a zjišťuje tak dostupnou šířku pásma (icmpinechos, icmpoutechos apod.) - tyto objekty měří rychlost síťového provozu v b/s a packet/s (locifinbits, locifinpktssec apod.) - měří frekvenci s jakou je směrovač žádán o odesílání paketů na nedosažitelné adresy (icmpoutdesunreachs) - měří množství času, jenž směrovač strávil zpracováním režijních zpráv SNMP listopad 2010 3/12

K námi požadovaným objektům se v MIB databázi dostaneme buď jmenným popisem cesty nebo číselným pomocí tzv. OID. Na obrázku 4 můžeme vidět, že Management má identifikátor 1.3.6.1.2 a jmenný název iso.org.dod.internet.management. Obrázek4. Struktura MIB Obrázek5. Struktura MIB private listopad 2010 4/12

Standartní objekty se nacházejí ve větvi management v objektu mib. Ve větvi private jsou pak rozšíření standardních objektů od jednotlivých firem viz obr5. 3 Základní konfigurace SNMP agenta pro CISCO IOS Následující příkazy se konfigurují v globálním konfiguračním režimu. 3.1 Vytvoření pohledu Slouží k vytvoření přístupové mapy na jednotlivé objekty. snmp-server view Privatni private included snmp-server view Verejna private included snmp-server view Verejna cisco excluded Tímto jsme vytvořili dvě mapy Privatni a Verejna, kdy skupina jenž má přidělenou mapu Privatní má přístup k celému podstromu private, kdežto skupina s mapou Verejna nebude mít přístup k podstromu cisco. 3.2 Vytvoření skupin Uživatelé, jenž posílají dotazy na agenta na daném zařízení musí náležet do určité skupiny. Obecný zápis: snmp-server group [groupname {v1 v2c v3 {auth noauth priv}}] [read readview] [write writeview] [notify notifyview ] [access accesslist] snmp-server group SPRAVCI v3 auth read Privatni write Privatni snmp-server group UZIVATELE v3 noauth read Verejna Tímto se vytvoří dvě skupiny SPRAVCI a UZIVATELE, kdy členové skupiny SPRAVCI mohou číst a zapisovat do objektů v MIB určených mapou Privatni, členové skupiny UZIVATELE mohou pouze číst z objektů určených mapou Verejna. Pro skupinu správci je vhodnější použít ověření požadavků (autentizaci) volbou auth a specifikovat access list, jenž by nám určil z jakých IP adres mohou členové skupiny SPRAVCI přistupovat, access list jsme v tomto případě nepoužili. Je vhodné podotknout, že SNMPv1 a SNMPv2 používají k ověření pouze community string, kdežto u SNMPv3 již je možné využít ověření pomocí jména, hesla a šifrování, tedy pouze u SNMPv3 jsou dostupné volby auth, priv, noauth. 3.3 Vytvoření uživatelů Obecný zápis: snmp-server user username [groupname remote ip-address [udp-port port] {v1 v2c v3} [encrypted] [auth {md5 sha} auth-password [priv des56 priv password]] [access access-list] snmp-server user david SPRAVCI v3 auth sha tajny snmp-server user pepa UZIVATELE v3 Do skupiny SPRAVCI jseme přiřadili uživatele david a metodu pro autentizaci jsme využili SHA s heslem tajny, uživatel pepa byl přiřazen do skupiny UZIVATELE. listopad 2010 5/12

3.4 Vytvoření community Toto nastavení je zejména nutné pro verze SNMPv1, SNMPv2, jenž se využívá k ověření. Obecný zápis: snmp-server community string [view view-name] [ro rw] [number] Jak je vidět opět zde můžeme aplikovat mapu a access list. snmp-server community SPRAVCI view Privatni rw snmp-server community QUESTI view Verejna ro 3.5 Definování adres NMS stanic Obecný zápis: snmp-server host host-addr [traps informs] [version {1 2c 3 [auth noauth priv]}] community-string [udp-port port] [notification-type] snmp-server host 192.168.1.2 traps SPRAVCI Tímto jsme specifikovali IP adresu stanice, na níž bude agent posílat trapy. 3.6 Aktivace generování Trapu Obecný zápis: snmp-server enable trap [notification-type] [notification-option] Tímto příkazem zapneme posílání blíže specifikovaných trapů k definovanému hostu. V poli notificationtype je možné blíže specifikovat jaké oznámení bude agent zasílat, může se jednat o snmp zpávy nebo také o bgp, frame-relay, config, syslog posílají se chyby aj. Tuto konfiguraci jsme v našem případě nepoužili, jelikož zasíláme Trap generován pomocí TCL scriptu v návaznosti na EEM. 3.7 Specifikace interfacu pro trap snmp-server trap-source fa 0/0 Tímto jsme specifikovali rozhraní (tím také IP adresu), ze kterého se budou posílat trapy. Obecně se může poslat trap z jakéhokoli rozhraní, touto specifikací získáváme možnost identifikaci agenta pomocí IP adresy v případě přijetí trapu. 4 Využití možností SNMP v TCL V TCL shellu máme dostupné příkazy pro práci s SNMP. Ale pokud napíšeme script s těmito příkazy a spustíme ho prostřednictvím EEM manageru nejsou tyto příkazy funkční a musí se použít jiné dostupné v EEM. 4.1 TCL shell snmp_getbulk community-string non-repeaters max-repetitions oid [oid2 oid3...] Obdoba příkazu getbulk. Community-string zde se dosazuje název community listopad 2010 6/12

non-repeaters počet objektů, jenž mohou být získány pomocí getnext max-repetetions maximální počet opakování getnext, odvýjí se podle počtu instancí v objektu oid identifikace daného objektu RA(config)#tclsh snmp_getbulk SPRAVCI 1 5 1.3.6.1.2.1.1.2.0 1.3.6.1.2.1.2.2.1.2 1.3.6.1.2.1.2.2.1.3 {<obj oid='sysuptime.0' val='1336090'/>} {<obj oid='ifdescr.1' val='fastethernet0/0'/>} {<obj oid='iftype.1' val='6'/>} {<obj oid='ifdescr.2' val='fastethernet1/0'/>} {<obj oid='iftype.2' val='6'/>} {<obj oid='ifdescr.3' val='ethernet2/0'/>} {<obj oid='iftype.3' val='6'/>} {<obj oid='ifdescr.4' val='ethernet2/1'/>} {<obj oid='iftype.4' val='6'/>} {<obj oid='ifdescr.5' val='ethernet2/2'/>} {<obj oid='iftype.5' val='6'/>} V uvedeném příkladu vidíme, že jsem získaly 5 instancí objektu iftype (val = 6 znamená typ interfacu ethernet), ifdescr (popis daných interfaců) a jednu instanci sysuptime, neboť obsahem tohoto objektu je pouze jedna hodnota. snmp_getid community-string Získání základních systémových proměnných: sysdescr.0,sysobjectid.0, sysuptime.0, syscontact.0, sysname.0, syslocation.0 snmp_getid SPRAVCI {<obj oid='system.1.0' val='cisco Internetwork Operating System Software Cisco IOS(tm) 7200 Software (C7200-IK9S-M), Experimental Version 12.3(20030507:225511) [geotpi2itd1 124] Copyright (c) 1986-2003 by Cisco Systems, Inc. Compiled Wed 21-May-03 16:16 by engineer'/>} {<obj oid='system.2.0' val='products.223'/>} {<obj oid='sysuptime.0' val='6664317'/>} {<obj oid='system.4.0' val='1-800-553-2447 - phone the TAC'/>} {<obj oid='system.5.0' val='c7200.mycompany.com'/>} {<obj oid='system.6.0' val='bldg 24, San Jose, CA'/>} snmp_getnext community-string oid [oid2 oid3...] Záskání množiny instancí. snmp_getnext SPRAVCI 1.3.6.1.2.1.1.2.0 1.3.6.1.2.1.1.3.0 {<obj oid='system.2.0' val='products.223'/>} {<obj oid='sysuptime.0' val='6683320'/>} snmp_getone community-string oid [oid2 oid3...] Získání individuální proměnné z SNMP entity. snmp_getone SPRAVCI 1.3.6.1.2.1.1.1.0 1.3.6.1.2.1.1.2.0 listopad 2010 7/12

{<obj oid='system.1.0' val='cisco Internetwork Operating System Software Cisco IOS(tm) 7200 Software (C7200-IK9S-M), Experimental Version 12.3(20030507:225511) [geotpi2itd1 124] Copyright (c) 1986-2003 by Cisco Systems, Inc. Compiled Wed 21-May-03 16:16 by engineer'/>} {<obj oid='system.2.0' val='products.223'/>} snmp_setany community-string oid type val [oid2 type2 val2...] Slouží k nastavení proměnné v objektu, u každého objektu musíme definovat typ proměnné: -i integer (např stav interfacu), -u unsigned32 (dekadické 32bitové číslo 1 až 2 32-1), -c counter32 (čitač 0 až 2 32-1), -g gauge (32bitové šíslo např rychlost interfacu), -o ocktet string v hexa tvaru (mac adresa), -d display string (textový řetěýec), -ipv4 ipv4 adresa, -oid identifikace OID snmp_setany SPRAVCI 1.3.6.1.2.1.1.5.0 -d TCLSNMP-HOST {<obj oid='system.5.0' val='tclsnmp-host'/>} Nastavení jména zařízení na TCLSNMP-HOST 4.2 Použití EEM V případě, že chceme, aby byl daný TCL script spuštěn jakmile dojde k určité snmp události musíme postupovat následovně: 4.2.1 Nastavení události Událost event_register_snmp Užitím této události se spustí script (politika), když daný čítač specifikovaný SNMP objektem (OID) překročí definovaný práh. ::cisco::eem::event_register_snmp oid? get_type exact next entry_op gt ge eq ne lt le entry_val? entry_type value increment rate [exit_comb or and] [exit_op gt ge eq ne lt le] [exit_val?] [exit_type value increment rate] [exit_time?] poll_interval? [average_factor?] [queue_priority low normal high last] [maxrun?] [nice 0 1] OID definuje daný objekt v SNMP, datové typy jsou: COUNTER_TYPE, COUNTER_64_TYPE, GAUGE_TYPE, INTEGER_TYPE, OCTET_PRIM_TYPE, OPAQUE_PRIM_TYPE, TIME_TICKS_TYPE get_type typ get operace, exact je získáná hodnota z daného OID, next je získána hodnota následovníka entry_op operátor sloužící k porovnání zadané hodnoty se získanou hodnotou z daného OID entry_val hodnota se kterou je srovnávána aktuální hodnota získaná z objektu o daném OID entry_type určuje typ vložené hodnoty, value aktuální hodnota, incremenr přírůstkový rozdíl, rate průměrná rychlost změn přes časovou periodu (poll interval) poll_interval interval mezi následujícími dotazovaními v POSIX časovacích jednotkách, nejméně 1sekunda (formát sssss.mmm, kde ssss jsou sekundy v intervalu 0 až 4294967295 a MMM jsou milisekundy 0 až 999) listopad 2010 8/12

Tyto parametry jsou povinné, vysvětlení ostatních můžeme najít v literatuře [3] Událost event_register_snmp_notification Tato událost spustí politiku (script) jakmile SNMP trap se specifikovaným SNMP OID dorazí na určitý interface nebo IP adresu. Zde musí být ale spuštěn snmp manager (v globálním konfiguračním režimu příkaz snmp-server manager ) ::cisco::eem::event_register_snmp_notification [tag?] oid? oid_val? op {gt ge eq ne lt le} [maxrun?] [src_ip_address?] [dest_ip_address?] [queue_priority {normal low high last}] [maxrun?] [nice {0 1}] [default?] [direction {incoming outgoing}] [msg_op {drop send}] src_ip_address zdrojové ip adresy ze kterých jsou posílány trapy, defaultně je all -tz politika se spustí, když je trap poslán z jakékoli adresy dest_ip_adress - cílové ip adresy na kterýé jsou posílány trapy, defaultně je all -tz politika se spustí, když je trap poslán na jakékoli adresu 4.2.2 Nastavení knihoven Dále se ve scriptu musí nastavit knihovny jenž se mají používat: namespace import ::cisco::eem::* namespace import ::cisco::lib::* 4.2.3 Nastavení akcí EEM nám umožňuje vyvolat dvě akce v souvislosti s SNMP. action_snmp_trap Tato akce vyvolá poslání snmp trapu. action_snmp_trap [intdata1?] [intdata2?] [strdata?] intdata libovolný integer poslaný v trapu strdata libovolný textový řetězec S touto akcí souvisí dvě proměnné: (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Tato chyba znamená, že operační systém oznámil chybu listopad 2010 9/12

(_cerr_sub_err = 14) FH_ENOSUCHACTION (unknown action type) Tato chyba indikuje, že akční požadovaný příkaz byl neznámý. action_snmp_object_value Tato akce nastaví SNMP objekt ID a hodnotu navrácenou pro požadavek SNMP get. action_snmp_object_value {int uint counter gauge ipv4 octet counter64 string}? [next_oid?] next_oid OID dalšího objektu v tabulce, NULL jestliže je to poslední objekt v tabulce 4.2.4 Dostupné příkazy pro snmp v EEM Pro práci v eem nejsou dostupné příkazy jako v tcl shellu, proto se využívá jediný příkaz: sys_reqinfo_snmp Navrací hodnotu dotazovaného objektu. Významy parametrů jsou shodné viz výše. sys_reqinfo_snmp oid? get_type exact next S tímto příkazem souvisí další proměnné: (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) viz výše (_cerr_sub_err = 22) FH_ENULLPTR (event detector internal error - ptr is null) Indikuje chybu, že interní EEM detektorový indikátor byl nulový, přičemž by měl obsahovat hodnotu (_cerr_sub_err = 37) FH_ENOSNMPDATA (can't retrieve data from SNMP) Nejsou zde data pro typ SNMP objektu (_cerr_sub_err = 51) FH_ESTATSTYP (invalid statistics data type) SNMP statistická data byla chybná. (_cerr_sub_err = 54) FH_EFDUNAVAIL (connection to event detector unavailable) Detektor událostí byl nedostupný 4.3 Registrování scriptu 1) Zkopírujeme script z TFTP serveru na daný směrovač do prostoru flash. V našem případě měl tftp server IP adresu 192.168.1.2 RA# copy tftp://192.168.1.2/snmp.tcl flash: 2) Nastavíme cestu ke scriptům pro EEM managera RA(config)# event manager directory user policy flash: 3) Registrujeme politiku (script) do EEM managera RA(config)# event manager policy snmp.tcl listopad 2010 10/12

5 Praktická implementace Následující script byl napsán v editoru nano na PC s OS Ubuntu 10.10 a spuštěným tftp serverem. Script je spuštěn v případě, když počet chybných přicházejících paketů (pakety které jsou zahozeny, nebo nezpracovány) na rozhraní FastEthernet1/1 překročí určitou hranici, poté je generován trap. #.1.3.6.1.2.1.2.2.1.14 odpovídá #.iso.org.dod.internet.mgmt.mib-2.interfaces.iftable.ifentry.ifinerrors # 1.3.6.1.2.1.1.3 odpovídá #.iso.org.dod.internet.mgmt.mib-2.system.sysuptime #politika se bude provádět každých 60 sekund a bude testovat, #zda je hodnota chybovosti(in Errors) rozhrani FE1/1 větší než 10 ::cisco::eem::event_register_snmp oid 1.3.6.1.2.1.2.2.1.14.4 get_type exact entry_op gt entry_val 10 poll_interval 60.000 #poslední číslo v OID (4) identifikuje rozhraní FastEthernet 1/1 namespace import ::cisco::eem::* namespace import ::cisco::lib::* array set aktualni [sys_reqinfo_snmp oid 1.3.6.1.2.1.2.2.1.14.4 get_type exact] puts "Na FE 1/1 dosahla chybovost hodnoty $aktualni(value)" array set doba_behu [sys_reqinfo_snmp oid 1.3.6.1.2.1.1.3.0 get_type exact] puts "Zarizeni je v chodu uz $doba_behu(value) ms" #Zaslání trapu s aktuální hodnotou chyb na rozhraní FE1/1. #Trap je zaslán na stanici správy sítě NMS (NMS je nutno předem #definovat-viz výše), odkud může být např. poslán e-mail s upozoněním #pro správce sítě action_snmp_trap intdata1 $aktualni(value) strdata "Chybovost opet presahla stanovenou mez od posledniho upozorneni" #vynulovani hodnoty OID aby nešlo k neustálému spouštění politiky action_snmp_object_value counter 0 next-oid 1.3.6.1.2.1.2.2.1.14.5 6 Závěr Při navrhování scriptu musíme již uvažovat, zda tento script bude spouštěn přes EEM manager či v normálním TCL shellu, neboť nemůžeme v EEM využívat stejné příkazy, jenž jsou dostupné v běžném TCL shellu. Největším problémem při řešení této problematiky bylo zjišťování správných OID k objektům, jelikož se hodnoty OID k objektům v privátní větvi značně lišily oproti hodnotám uváděným v MIB navigátoru na cisco.com, proto jsme zvolili zjišťování hodnot objektů ve standardní větvi.iso.org.dod.internet.mgmt.mib-2. listopad 2010 11/12

7 Použitá literatura [1] Cisco.com [online]. 2010 [cit. 2010-11-28]. Cisco. Dostupné z WWW: <http://www.cisco.com/en/us/docs/ios/12_1/configfun/command/reference/frd3001.html>. [2] Cisco.com [online]. 2010 [cit. 2010-11-28]. Cisco. Dostupné z WWW: <http://www.cisco.com/en/us/docs/ios/netmgmt/configuration/guide/nm_script_tcl.html>. [3] Cisco.com [online]. 2010 [cit. 2010-11-28]. Cisco. Dostupné z WWW: <http://www.cisco.com/en/us/docs/ios/netmgmt/configuration/guide/nm_eem_policy_tcl.html>. [4] VELTE, Toby J.; VELTE, Anthony T. Síťové technologie Cisco : Velký průvodce. první. Brno : Computer Press, 2003. 760 s. ISBN 80-7226-857-0. listopad 2010 12/12