Sledování sítě

Jan Fousek, jan@fousek.net


Obsah


Úvod a motivace

Při správě sítě je vhodné mít k dispozici obecně použitelné postupy, pomocí kterých je možné problémům předcházet, popřípadě je řešit co nejrychleji. Lidsky řečeno, když už se něco hroutí, chci o tom vedět hned a případně mít k dispozici záznam, jak k tomu došlo. Modelovým příkladem může být selhání (mail-, web-, voip-...) serveru z důvodu nedostatku volné paměti ve špičce. Bylo by dobré mít k dispozici nástroj, který mě upozorní na selhání serveru a popřípadě preventivně poskytne statistická data, ze kterých lze odhadnout potřebu nákupu nového hardware.


Protokol SNMP

Protokol SNMP (Simple Network Management Protocol) byl navržen jako klient/server řešění správy sítě. Verze SNMPv1 je definována v RFC 1155, 1157, 1418, 1419, 1420, 1212, 1213 a 1215. Rozšíření SNMPv2 a SNMPv3 jsou ve fázi návrhu a týkjí se především bezpečnosti.

Monitoring vypadá ve stručnosti takto: na sledovaných zařízeních se spustí SNMP servery (jinak též SNMP agent) poskytující žádané informace (vytížení, teplotu, volné místo na disku, ...) a na monitorujícím stroji je spuštěn SNMP manažer, který v pravidelných intervalech intervalech sbírá od definovaných strojů zadané informace. Ty jsou uloženy pro pozdější zpracování (tvorba grafů, statistika...), a nebo je na jejich základě vyhlášen poplach.

V případě nestandardní situace (pokus o napadení, výpadek proudu...) má agent možnost překročit model klient/serer a poslat informaci o ní bez vyžádání manažera v podobě tzv. SNMP trap. Manažer může poté zareagovat konkrétní akcí, popřípadě si vyžádat další informace obvyklou cestou.

Komunikace probíhá po UDP na portu 161, SNMP trap je pak zasílána na port 162.


Strom MIB-2

MIB (Management Information Base) je databáze popisující objekty a jejich vlastnosti, o kterých je možné získávat informace. Značná rozsáhlost možných položek si vynutila stromovou strukturu. Jednotlivé objekty jsou definovány pomocí ASN.1 (Abstract Syntax Notation One, RFC 2578) a obsahují například typovou definici jednotlivých položek, jejich umístění ve stromu a přístupová práva. MIB-2 je pak definována v  RFC 2013 a je aktuálním standardním podstromem původního MIB.


OID

Strom se skládá z objektů kořen, podstrom a list. Každý uzel je popsán (kromě kořenového) a je indentifikován číslem unikátním na své úrovni v daném podstromu. Cesta k dané položce vyjádřená pomocí číselných identifikátorů se pak nazývá OID (Object identifier) Například podstrom spravovaný organizací ISO je podstromem kořenového uzlu a má číslo 1. Cesta ke standardnim informacim MIB-2 (který je označen číslem 1) pak vede dále přez uzly org(3), dod(6), internet(1) a mgmt(2). Adresa MIB-2 podstromu je tedy 1.3.6.1.2.1

Kromě MIB-2 je soukromými firmami často využíván podstrom 1.3.6.1.4.1 (iso.org.dod.internet.private.enterprise). Ten obsahuje poduzly pro jednotlivé výrobce a umožňuje jim definovat položky pro vlastní zařízení.


Autentizace v SNMP

Autentizace je v SNMP první i druhé verze velmi jednoduchá. S každým dotazem je zasílán nezašifrovaný tzv. community string, podle kterého se omezuje přístup k jednotlivým položkám. V praxi jsou většinou read-only položky zpřístupněny komunitě public a komunita private má k dispozici navíc položky private. Zdokonalení autentizace přinesl až SNMP verze 3, který využívá algoritmu DES.


Konfigurace SNMP démona

Balíček Net-SNMP obsahuje agenta, démona pro zachytávání zpráv (traps) na straně manažera, nástroje pro získávání informací od agentů a další užitečné programy.

Konfigurační soubor agenta je v /etc/snmp/snmpd.conf. Pro ruční editaci doporučuji manuálové stránky, užitečným nástrojem pro poloautomatickou konfiguraci je snmpconf. Velmi přehledný a podrobný tutoriál je na stránkách projektu net-snmp.

Pro složitější konfiguraci zejména autentizace jsou potřebné následující direktivy:

Konkrétní příklady konfigurace jsou uvedeny v minulých referátech a na stránkách projeky net-snmp


Vizualizace dat (MRTG, RRD)

MRTG (The Multi Router Traffic Grapher) je program určený k vytváření grafů na základě dat získaných pomocí snmp. Díky němu je možné zobrazit nashromážděná data v přehledné formě. Konfigurace je snadná díky programu cfgmaker, jehož popis najdete v manuálu.

Další možností je využít RRD - jedná se o univerzálnější nástroj pro tvorbu grafů neomezený pouze na snmp a jeho znalost se nikdy neztratí.


Komplexnější software (Nagios, Zabbix)

Nagios je komplexní nástroj umožňující monitoring na vysoké úrovni. Mezi nespočetné funkce a výhody patří mimo monitoring pomocí snmp i monitoring běžných služeb (SMTP, POP3, HTTP, NNTP, PING atd.), možnost definice vlasních monitorujících skriptů, souběžný monitoring, řetězení monitorovaných stanic, možnost automatických reakcí na událost atd. Podobným systémem, který se v poslední době objevil je Zabbix.