Ověření technologie Traffic-Flow na platformě Mikrotik a NetFlow na platformě Cisco Daniel Stříbný a Ondřej Pavlík Abstrakt: Cílem tohoto díla byla dokumentace zprovoznění technologie Traffic-flow na platformě Microtik a NetFlow na platformě Cisco a jejich vzájemné porovnání. Klíčová slova: Cisco, Mikrotik, NetFlow, Traffic-flow 1. Technologie pro vyhodnocování provozu......................................................................2 1.1 Technologie NetFlow a Traffic-flow.......................................................................2 1.1.1 Architektura protokolu....................................................................................2 1.1.2 Realizace výpočtu statistik na směrovačích....................................................2 1.1.3 Realizace výpočtu statistik na kolektorech.....................................................2 2. Konfigurace Mikrotiku a Traffic-flow...........................................................................3 3. Konfigurace Cisco a Netflow........................................................................................4 4. Rozhraní pro zobrazování zachycených dat..................................................................5 4.1 Instalace..................................................................................................................5 4.2 Nahled pracovního prostředí programu Ntop.........................................................5 4.3 Konečné hodnocení.................................................................................................6 5. Závěrem.........................................................................................................................6 6. Použité zdroje................................................................................................................6
duben 2010
1/8
1. Technologie pro vyhodnocování provozu 1.1 Technologie NetFlow a Traffic-flow NetFlow je protokol od společnosti Cisco Systems tento protokol je otevřený, proto jej společnost Mikrotik použila do svých zařízení a díky tomuto zakomponování jednotného protokolu je možné mít na síti zařízení obou firem a vyhodnocovat získané údaje jedním programem. Obě tyto technologie slouží pro monitorování síťového provozu. V současné době pomocí tohoto protokolu mohou administrátoři díky těmto statistikám zdokonalovat síť tak aby nikde nedocházelo k většímu přetížení síťových prvků..
1.1.1 Architektura protokolu Architektura celé služby se většinou skládá z X zařízení tvořících exportéry dat a jednoho bodu do kterého se tato data zasílají a v kterém se zpracovávají tzv. kolektor. Exportér je připojen k monitorované lince a analyzuje procházející pakety. Ze zachycených toků generuje statistiky. Ty pak shromažďuje na kolektoru. Kolektor je zařízení s velkou úložnou kapacitou obvykle nějaký server (pro menší sítě stačí PC), které sbírá statistiky (data) z většího počtu exportérů a ty ukládá na svých diskových kapacitách. Tyto data se dále vyhodnocují a s pomocí grafických nástrojů se z nich vytvářejí souhrné přehledy.
1.1.2 Realizace výpočtu statistik na směrovačích Architektura Cisco předpokládá na pozici exportérů směrovače, které vedle své hlavní činnosti provádějí také výpočet statistik. Tato architektura však trpí několika nevýhodami. Nevýhodou čílo jedna je vysoká pořizovací cena zařízení s dostatečným výkonem, které by zvládla současně dostatečně rychle směrovat síťový provoz a ještě vyhodnocovat statistiky. Proto většina směrovačů v dnešní době využívá vzorkování. Zachytávají se jen některé pakety (respektive každý n-tý).
1.1.3 Realizace výpočtu statistik na kolektorech Aktuálnější a provozu atraktivnějším řešením se stává využití pasivních sond. Sondy ruší všechny nevýhody předchozí architektury protože na rozdíl od směrovačů je lze připojit do libovolného bodu v síti a to tak aby neovlivňovaly přenosy v síti. Sondy procházející data pouze monitorují a nijak do nich nezasahují (proto pasivní sondy). Exportované statistiky jsou na kolektor odesílány vyhrazenou linkou a díky tomu jsou na monitorované lince zcela skryté (neovlivňují statistiky).
1.1.4 Struktura a verze Netflow a Traffic-flow V Netlow packetu (zde příklad pro verzi 5) jsou obsaženy následující údaje: •Číslo verze •Sekvenční číslo •Indexy vstupního a výstupního interfacu používané v SNMP •Časové známky pro začátek a konec toku (v milisekundách od posledního startu zařízení) •Počet bytů a packetů obsažených v toku •Údaje z hlaviček 3 vrstvy: •Zdrojová a cílová adresa •Čísla zdrojového a cílového portu •verze IP protokolu •Type of Service (ToS) •V případě TCP toku také TCP flags •Informace o směrování na 3 vrtvě: •IP adresa dalšího přeskoku •Zdrojová a cílová maska
duben 2010
2/8
Cisco Netflow existuje v 10 verzích: •V1 – první implementace, zastaralá, omezení na IPV4 •V2 – interní verze Cisco •V3 – interní verze Cisco •V4 – interní verze Cisco •V5 – nejrozšířenější verze, dostupnám na routerech mnoha značek, •V6 – dále nepodporovaná •V7 – stejná jako V5, navíc pole s informací o zdrojovém routeru •V8 – možnosti agregace, jinak stejná jako V5 •V9 – založena na šablonách, umí IPV6 •IPFIX (V10) - IETF standardizovaná V9 s rozšířeními
omezena na IPV4
Mikrotik Traffic-flow podporuje Netflow protokol V1, V5 a V9. Doporučuje se používat samozřejmě nejvyšší dostupnou verzi (tedy V9).
duben 2010
3/8
1. Konfigurace Mikrotiku a Traffic-flow Informaci o tom jak nastavit základní funkcionalitu (tedy nastavení routerů a stanice) jsme se rozhodli nepopisovat, protože není předmětem tohoto projektu, přesto ale aspoň nabízíme zdroj z kterého je možné čerpat solidní informace o základních konfiguracích a správě Mikrotiků. Nám pro tyto účely skvěle posloužil webový portál http://mikrotik.tlupa.com/. To jak se konfiguruje samotný Traffic-flow už ale popsáno je. Není to nic složitého. Opravdu jen pár příkazů. Nejprve jsme zapli samotný Traffic-flow [admin@MikroTik] ip traffic-flow> set enabled=yes [admin@MikroTik] ip traffic-flow> print enabled: yes interfaces: all cache-entries: 1k active-flow-timeout: 30m inactive-flow-timeout: 15s [admin@MikroTik] ip traffic-flow> Poté bylo možno nechat většinu konfigurace na default hodnotách (jelikož jsme chtěli například monitorovat všechny rozhraní) a pouze nastavit cíl pro odesílání dat a verzi Traffic-flow [admin@MikroTik] ip traffic-flow target> add address=10.0.0.2:3002 version=9 [admin@MikroTik] ip traffic-flow target> print Flags: X - disabled # ADDRESS VERSION 0 10.0.0.2:3002 9 Nutno podotknout, že konfigurace byla zkoušena na routerboardu Mikrotik RB/133c, který pracoval v modu bridge (jiný nedovolovala licence). Byli jsme tedy omezeni na 2 rozhraní (Ethernet a Wlan). Proto tedy bylo v konfiguraci zapnuto Netflow na všech rozhraních. Pro zapnutí na konkretním rozhraní lze použít následující příkaz (default nastavení je all) [admin@MikroTik] ip traffic-flow> set interfaces=
Pozorování probíhalo dle níže uvedeného schématu:
Pozorování jsme provedli simulovaným provozem na UDP, ICMP a TCP (UDP packety generoval samozný Netflow, ICMP packety byly generovány pomocí příkazu ping na jednotlivých PC, TCP pomocí propojení PC přes SSH). duben 2010
4/8
V Router OS Mikrotik existuje funkce monitor, která umožňuje sledovat počty toků
Dále je třeba zmínit, že Traffic-flow zachycuje toky ve směru do rozhraní. Proto je dobré dobře rozvážit, na kterých portech je potřeba Traffic-flow zapnout.
Zde je vidět příklad výstupu z programu Ntop, který zobrazuje rozdělení dat v tocích podle protokolů.
duben 2010
5/8
2. Konfigurace Cisco a Netflow Opět konfiguraci jednotlivých portů směrovače a síťových adres přenecháváme jiným manuálovým stránkám. Dále se věnuji konfiguraci netflow na směrovači Nejprve jsme nakonfigurovali rozhraní, na kterém jsme chtěli monitorovat provoz RA(config)#interface RA(config-if)#ip route-cache flow Toto bylo nutno provézt na všech rozhraních, které jsme chtěli monitorovat. Dále bylo nutno určit kam budou data posílány, tedy specifikovat adresu colectoru, port, ze kterého budou data generovány a verzi Netflow RA(config)#ip flow-export destination 10.0.0.2 3002 RA(config)#ip flow-export source FastEthernet 0/1 RA(config)#ip flow-export version 9 Na samotném routeru lze rovněž prohlížet statistiky Netflow monitoringu pomocí příkazů RA#show ip flow export RA#show ip cache flow Pozorování probíhalo dle níže uvedeného schématu:
Pozorování jsme opět provedli simulovaným provozem na UDP, ICMP a TCP (UDP packety generoval samotný Netflow, ICMP packety byly generovány pomocí příkazu ping na jednotlivých PC, TCP pomocí propojení PC přes SSH).
duben 2010
6/8
Výpis dat, která jsou z exportéru posílány na kolektor, pomocí výpisu cache, do které se ukládají data o tocích před odesláním:
Z obrázku je dobře viditelné rozdělení packetů podle velikosti, rozdělení toků podle protokolů a také jednotlivé toky.
duben 2010
7/8
3. Rozhraní pro zobrazování zachycených dat Program který jsme použili pro testování byl Ntop (http://www.ntop.org/) běžící na systémech Linux. Tento program neslouží jen k monitorování provozu na síti, ale je velmi modulární a je díky tomu možné provozovat tímto programem rozsáhlé monitorování sítě. Plugin v Ntop, který se stará o NetFlow se jmenuje nProbe, ten je třeba zapnout, protože ve výchozí konfiguraci (po instalaci) není zapnutý. 3.1 Instalace Pomocí www.google.cz jsme si našli program šířený pod licencí GPL, něco málo jsme si o něm přečetli a po usouzení, že je to to pravé, jsme pomocí balíčkovacího systému v operačním systému UBUNTU nainstalovali program Ntop, tento program jsme konfigurovali dle manuálu http://wiki.nectec.or.th/ngiwiki/pub/Project/NtopPublic/ntop-guide.pdf. Konfigurace spočívala pouze v zapnutí pluginu pro zachytávání Netflow packetů a nastavení příslušného portu, na kterém bude tyto packety zachytávat. Po dokončení instalace se program Ntop spustí jako démon na pozadí a automaticky čeká na portu, který jsme nastavili (port 3002) na příchozí packety. Změnu portu je možné udělat příkazem ntop -w [port] nebo pro https příkazem ntop -W [port]. Webové rozhraní je velmi intuitivní a přehledné, takže zapnutí přídavného pluginu bylo chvilkovou záležitostí. V tomto tvaru byl program připraven sbírat packety a zaznamenávat je a to jak ze zařízení Cisco, tak Mikrotik.
3.2 Konečné hodnocení Největší výhodou tohoto programu je, že je distribuován pod GNU GPL. Tedy je zcela bezplatný. Dále všestrannost, jelikož je určen pro obecný monitoring síťového provozu na rozhraních daného PC. Pro linuxovou platformu nezbývá nic jiného než tento program doporučit, hlavně pro jeho univerzálnost a snadné použití.
4. Závěrem Během našeho pokusu se nám povedlo zprovoznit Cisco technologií NetFlow na směrovači, přes který jsme pomocí dvou PC generovali síťový provoz. Pro sledování provozu jsme použili exporty do volně šiřitelného programu (šířený pod licencí GPU) Ntop. Pro zprovoznění technologie Traffic-flow jsem do naší sítě zakomponovali router od firmy Mikrotik a na něm danou technologií zprovoznili. Pro sledování jsme opět použili program Ntop běžící na platformě Linux. Sledováním jsme zjistili, že mezi technologiemi Netflow a Traffic-flow není rozdílů, proto taky bylo možné pro obě technologie použít jeden jedinný program, který nám díky své kvalitě posloužil jako colector, který zachytavá packety a zároveň jako analyzér, který ze zachycených paketů umí vygenerovat data.
5. Použité zdroje [1] Wikipedia – NetFlow, dostupné na http://cs.wikipedia.org/wiki/Netflow [2] Manageengine.com - http://www.manageengine.com/products/netflow/help/cisco-netflow/ciscoios-netflow.html [3] Mikrotik wiki - http://wiki.mikrotik.com/wiki/Manual:IP/Traffic_Flow
duben 2010
8/8