Nástroje pro vizualizaci topologie na základě OSPF databáze Bc. Zdeněk Urban, URB340 Abstrakt: Cílem projektu je seznámení s problematikou vizualizace topologií, nalezení a srovnání jednotlivých programů a scriptů, které umožňují vizualizaci na základě OSPF databáze. Dále bude provedeno jejich praktické odzkoušení, ze kterého bude vyvozen patřičný závěr. Klíčová slova: OSPF, vizualizace, topologie, Cisco, GNS3, databáze Seznam zkratek:
OSPF OS GNS3 DB SNMP LSA IP
- Open Shortest Path First - Operační systém - Graphical network simulator - database - Simple Network Management Protocol - Link State Advertisement - Internet protocol
Obsah:
1
Úvod .......................................................................................................................................... 2
1.1
Vizualizace topologií ............................................................................................................. 2
1.2
OSPF databáze ...................................................................................................................... 2
2
Zkušební topologie .................................................................................................................... 3
3
Dostupné programy ................................................................................................................... 3
3.1
Instalace SNMP ..................................................................................................................... 4
3.2
OpenNMS .............................................................................................................................. 5
3.3
OSPF network visualiser ....................................................................................................... 8
3.4
OSPF-db-topology................................................................................................................. 9
3
Závěr ....................................................................................................................................... 10
4
Použitá literatura ..................................................................................................................... 10
2014
1/10
1
Úvod
Projekt byl realizován na učebně J257 na reálném zapojení a pomocí vizualizačního programu GNS3 v.0.8.6. Za úkol bylo především zjistit, jak dostupné jsou programy pro vizualizaci na základě OSPF [Open Shortest Path First] databáze. Tyto programy následně porovnat a zhodnotit. Vycházeno bylo především z informací, které poskytl samotný autor či výrobce programu. Tzv. zda program opravdu podporuje požadované funkce. Programy byly zkoušeny na OS [operační systém] Linux Ubuntu v.11.10 Oneiric ocelot a Ubuntu v.14.04 LTS Trusty Tahr.
1.1
Vizualizace topologií
Topologie počítačových sítí z pohledu dnešních poměrů může být velice komplexní. S nárůstem počtu bezdrátových zařízení v síti a různých nestandartních prvků se sít stává velmi nepřehlednou, zejména když se tyto zařízení přenášejí a připojují se stále k jiným směrovačům. Důsledkem těchto změn je kontrola nad sítí velice obtížná. Navíc sítě s nástupem IPv6 začínají být větší než kdykoliv předtím. A proto existují programy a skripty pro vizualizaci topologií, které jednoduše a odkrývají celou síť. Pomáhají tak administrátorovi řešit rychle vzniklé problémy a také pomáhají udržet všeobecný přehled o síti.
1.2
OSPF databáze
Směrovač vysílá přes svá rozhraní tzv. Hello pakety. Pokud se dva navzájem propojené routery pomocí těchto paketů dohodnou na určitých společných parametrech, stávají se sousedy (neighbors). Přilehlé routery si vzájemně vyměňují pakety obsahující LSA [Link State Advertisement] informace. Ty popisují stav rozhraní směrovače nebo seznam směrovačů připojených k dané síti. Všechny směrovače si ukládají přijaté LSA do své lokální topologické databáze a zároveň je přeposílají na ostatní přilehlé směrovače. Tím se informace postupně rozšíří mezi všechny směrovače v síti. Výsledkem bude shodná topologická databáze na všech směrovačích. Po naplnění databáze každý směrovač provede výpočet pomocí SPF (Dijkstrova) algoritmu. Jeho výsledkem bude nalezení nejkratší cesty do každé známé sítě a odstranění smyček v topologii sítě. Na základě vypočtených dat je možné naplnit směrovací tabulku routeru. Pokud dojde ke změně topologie sítě, směrovač na kterém ke změně došlo odešle přilehlým směrovačům informaci v podobě LSA datových položek v OSPF paketu. Ta se postupně rozšíří po celé síti a každý směrovač upraví svou topologickou databázi a provede nový výpočet SPF algoritmu.
2014
2/10
2
Zkušební topologie
Topologie byla vážena s ohledem na velikost učebny a také pro přijatelný chod virtuální topologie v programu GNS3 [Graphical Network Simulator].
Obrázek 1: Zkušební topologie
3
Dostupné programy
Programy, které jsou specializovány na vizualizaci topologií jsou v dnešní době běžně k sehnání, na internetu jsou jich k dispozici stovky. Bohužel však většina z těchto programů mají placené licence, či jsou nějakým způsobem omezeny. Zároveň tyto programy mají svůj vlastní vizualizační systém a využívají různé algoritmy a ověřování pro samotnou vizualizaci. Vizualizace pomocí OSPF databáze, která je řešena v tomto projektu není tak rozšířená jako jiné systémy. Toto je způsobeno tím, že většina sítí může být složena z více typů protokolů např. (BGP, IS-IS, EIGRP). Tudíž vizualizace jen pomocí OSPF databáze by zcela nevykreslilo celou síť. Pokud však celá síť funguje na protokolu OSPF, tak tyto nástroje mohou být velmi účinné a to jak rychlostí, tak i cenou, protože většina těchto nástrojů je zdarma a nebo s otevřeným kódem. Vybrány byly tyto programy, protože splňovaly dle autorů a vývojářů zadání projektu (vykreslení topologie dle OSPF databáze):
2014
OpenNMS OSPF network visualiser OSPF-db.-topology
3/10
Instalace SNMP Většina zvolených programů využívá pro svůj chod SNMP protokol [Simple Network Management Protocol] SNMP se dá stáhnout na domovských stránkách [1]. Zde je postupná instalace:
tar -xvzf net-snmp-5.7.2.tar.gz cd net-snmp-5.7.2 ./configure
(zde se mohou vyskytnout potíže, je vhodné použít apt-get update) Výpis příkazu configure: --with-default-snmp-version="3" --with-sys-contact="@@no.where" --with-sys-location="Unknown" --with-logfile="/var/log/snmpd.log" --with-persistent-directory="/var/net-snmp" --------------------------------------------------------Net-SNMP configuration summary: --------------------------------------------------------SNMP Versions Supported: 1 2c 3 Building for: linux Net-SNMP Version: 5.7.2.1 Network transport support: Callback Unix Alias TCP UDP IPv4Base SocketBase TCPBase UDPIPv4Base UDPBase SNMPv3 Security Modules: usm Agent MIB code: default_modules => snmpv3mibs mibII ucd_snmp notification notification-log-mib target agent_mibs agentx disman/event disman/schedule utilities host MYSQL Trap Logging: unavailable Embedded Perl support: enabled SNMP Perl modules: building -- embeddable SNMP Python modules: disabled Crypto support from: internal Authentication support: MD5 SHA1 Encryption support: DES AES --------------------------------------------------------
2014
make sudo make install snmpget –version -> NET-SNMP version: 5.7.2
4/10
3.1
OpenNMS
OpenNMS je jedním z obsáhlejších programů. Jak napovídá název je s otevřeným kódem a volně stažitelný. Zároveň je tento program vcelku rozsáhlý a má mnoho vlastností. Je tedy vhodný pro kompletní monitorování sítě od sledování cesty paketů až po různá upozornění či právě vizualizaci topologie různými způsoby. Výrobci nabízejí 2 verze tohoto programu a to stable (stabilní verzi) a poté vždy novější unstable (nestabilní verzi) pro uživatele, kteří rádi experimentují. Jelikož je OpenNMS komplexní systém a má mnoho různých pluginů, musí se instalovat ručně což může být obtížné. Pomocí domovských stránek OpenNMS [2] se však krok za krokem program nainstaluje. Jako první musí být vybráno vydání programu tedy stable nebo unstable. Dále se vybere platforma na kterou bude program instalován. Pokud se program instaluje na linux ubuntu musí být vybrán odkaz APT/Debian. Nyní samotná instalace. Příkaz pro vytvoření souboru:
cat << EOF | sudo tee /etc/apt/sources.list.d/opennms.list
Nastavení souboru:
contents of /etc/apt/sources.list.d/opennms.list deb http://debian.opennms.org stable main deb-src http://debian.opennms.org stable main EOF
Příkaz pro nainstalování OpenNMS PGP klíče:
wget -O - http://debian.opennms.org/OPENNMS-GPG-KEY | sudo apt-key add –
Mezi instalací by se často měl požívat příkaz:
sudo apt-get update
Zejména z důvodu korektní instalace Dále je vhodné instalaci otestovat množství OpneNMS balíčků pro instalaci tímto příkazem:
apt-cache search opennms
Bude následovat výpis zveřejněný na stránkách tutoriálu.
Instalace OpenNMS databáze Nejdříve PostgreSQL:
sudo apt-get update sudo apt-get install postgresql
Kontrola PostgreSQL verze:
echo $PGVERSION 9.1
Povolení vstupu uživatele do databáze:
2014
sudo vi /etc/postgresql/$PGVERSION/main/pg_hba.conf
5/10
Zde se ve výpisu změní tyto položky:
Poté jakmile se provedou změny je nutné restartování databáze
sudo service postgresql restart
Instalace a verifikace Java:
java –version
Pokud žádný výpis nenastane musí být naistalována nová Java.
sudo apt-get install openjdk-7-jre
Instalace a verifikace lokálního mail agenta:
sudo apt-get install default-mta
Instalace samotného OpenNMS:
sudo apt-get install opennms
Následuje dlouhý výpis při instalaci. Výpis je možno ověřit na stránkách OpenNMS.
Konfigurace Javy:
sudo /usr/share/opennms/bin/runjava –s
Možné porovnání výpisů, zda je vše dobře konfigurováno na stránkách OpenNMS. V tomto kroku byla nutnost spustit apt-get update.
Vytvoření databáze:
sudo /usr/share/opennms/bin/install –dis
Pokud příkaz z nějakého důvodu neuspěje, musí se provést předchozích pár příkazů znovu. Také je vhodné vyzkoušet apt-get update. S tvorbou databáze bývají občas potíže. Na konci obrovského výpisu při tvorbě databáze by se měla zobrazit tato hláška -> Installer completed successfully!
Jako další je instalace IPlike: Není úplně nutná, ale vývojáři tuto funkci doporučují.
sudo /usr/sbin/install_iplike.sh
Verifikace připojení OpenNMS k databázi:
2014
psql -U postgres --host=localhost opennms
6/10
Spuštění OpenNMS
sudo service opennms start
Tímto příkazem se spustí program OpenNMS a pokud je vše správně nainstalováno může se nyní přistoupit k webovému uživatelskému rozhraní. To se dá naleznout na následujícím odkazu (ale to pouze v případě, že v konfiguračním souboru nebyla pozměněna lokální IP adresa). http://127.0.0.1:8980/opennms/ Nyní již je program schopen skenovat zařízení v síti. Zde je příkaz kde OpenNMS oskenuje sám sebe:
perl $OPENNMS_HOME/bin/send-event.pl \ --interface 127.0.0.1 \ uei.opennms.org/internal/discovery/newSuspect
Následně už pouze bude zadáno procházení sítě a výsledná topologie bude zobrazena v záložce maps
snmpwalk -v2c -c 192.168.1.1 127.0.0.1 system
Obrázek 2: Výsledná topologie v OpenNMS
Výsledná topologie se vygenerovala přesně podle zadané. Jak je z obrázku vidět, tak OpenNMS procházelo topologii až do krajních uživatelských stanic. Oproti jednodušším softwarům, tak vykresluje dokonalejší mapu. Otázka zní jestli tedy používá pouze OSPF databázi pro své vykreslování, protože vykreslení čistě na základu OSPF databáze nepřináší vždy úplný výsledek a některé stanice mohou být vynechány.
2014
7/10
3.2
OSPF network visualiser
Jedním z menších a podstatně jednodušších programů je OSPF network visualiser neboli OSPFviz. Tento program byl vytvořen v roce 2006 jako verze 0.5 alfa. V dnešní době je k dostání verze 0.6 a program nejspíše již nebude rozvíjen, jelikož autor na stránkách oznámil nástup verze 0.7 v roce 2008, ale tato verze však dosud nevyšla. Program pět možných řešení jak vykreslit topologii:¨
Hypergraph GraphViz Prefuse GraphView Prefuse NV2D GUESS (graph exploration system)
Každá možnost skýtá vlastní nastavení a stažení příslušných balíčků a doplňků. Protože program není zaregistrován u větších společností, proto ho nenajdeme v softwarovém centru podpory Ubuntu. Musí být tedy všechny instalace i konfigurace provedeny ručně. Návod jak program nainstalovat [3]. Rozbalení staženého programu
tar xfz ospfviz-0.6.tar.gz
Otevření složky s programem
cd ospfviz-0.6
Zde bude zvolena jedna z možností vykreslování a bude implementována do programu. Jednoduchou volbou je např. HyperGraph u kterého se stáhnou zdrojové soubory a přesunou se do složky ./ospfviz. Zkontrolování požadovaných vlastností programu
perl -cx ospfviz.pl
(zde program vykazoval chyby, že není naistalováno SNMP) Spuštění OSPFviz
perl ospfviz.pl
Jakmile program prozkoumá celou síť, vygeneruje se obrázek kompletní topologie. Záleží také na zvoleném typu vykreslení, ale mělo by to být v adresáři OSPFviz. Pokud je vše dobře nastaveno a naistalováno, program by měl pomocí tohoto příkazu, kde <start> je IP adresa, ze které vizualizace započne a
je zvolený výstupní format např. HyperGraph.
./ospfviz -s <start> -f
Bohužel program stále vyhazoval chybu a nemohl najít SNMP i přesto, že bylo korektně nainstalováno. Toto se dá přisoudit stáří programu a jeho neaktualizované verzi. Proto byl nainstalován starší Linux Ubuntu 11.10 Oneiric ocelot. Program byl testován ještě znovu na tomto OS, ale vykazoval stejné chyby ve zdrojových souborech. Zde je náhled jak takováto topologie mohla vypadat:
Obrázek 3: Příklad topologie v OSPFviz
2014
8/10
3.3
OSPF-db-topology
Nejmenší ze tří programů. Jedná se pouze o jednoduchý skript, který využívá přímo příkazu na testování OSPF databáze a z něho vykreslí příslušnou topologii do obrázku. Autorem tohoto skriptu je Thomas St.Pierre, který ho zveřejnil na portálu GitHub v roce 2012. Je to otevřený kód, který může kdokoli libovolně upravit. Tak jako předchozí program, je i tento naprosto neznámý a tak nejde využít klasický příkaz „aptget install“ a vše musí být vykonáno ručně. A podobně jako OSPFviz používá k vykreslení vizualizace GraphViz. Pro stažení programu [4]. Rozbalení staženého programu
unzip OSPF-db-topology-master.zip
Otevření složky s programem
cd OSPF-db-topology-master
Instalace pluginu GraphViz
sudo apt-get install graphviz
Po instalaci je nutno upravit soubor config.dist.php. Pozměnit defaultní cesty ukládání souborů atd. Nyní se musí soubor config.dist.php přejmenovat na config.php V poslední řadě musí být zajištěno, aby výchozí složka (OSPF-db-topology-master) byla přístupná pro zápis vygenerovaných souborů.
chmod 777 ./OSPF-db-topology-master
V této chvíli můžeme program spustit, reaguje na příkaz:
show ip ospf database network
Po tomto příkazu by se měl v domovském adresáři (OSPF-db-topology) vygenerovat obrázek topologie. Pomocí Graphviz se zobrazí směrovače (tmavě modře i s popiskem) a propojovací sít (světle modře). Ani tento program bohužel nereagoval správně a i při opětovném zkoušení jak na jiné platformě linuxu, tak i na jiném PC topologii nevykreslil. Autor sám několikrát kód programu pozměnil a tvrdí, že je program ještě pořád stále „čerstvý“. Ideálně by tak bylo samotný kód pozměnit k obrazu svému.
2014
9/10
3
Závěr
Projekt zobrazuje výběr stávajících programů pro vizualizaci na OSPF databázi. Bylo provedeno nalezení a srovnání hrstky programů, které splňovaly vlastnosti zadání. Jako první by se dalo vytknout, že instalace jsou příliš zdlouhavé a častokrát uživatelsky velice nepřívětivé. Při instalacích programů docházelo k mnoha chybám, evidentně na straně vývojářů či nekompatibilním OS. Proto byly vyzkoušeny 2 verze Linuxu Ubuntu. I přes tyto snahy některé programy zprovoznit se toto nepovedlo. Programy jsou buďto zastaralé, a nebo mají neúplnou podporu, čímž se stávají nepoužitelnými. Jediný funkční program byl tedy OpenNMS, který i přes svou velice krkolomnou instalaci dokáže kvalitně posloužit a umí nejen objevovat a procházet sítě či topologie, ale má také spousty dalších funkcí. Jako jediný problém u tohoto programu se dá považovat protokol SNMP, který v mnoha OS není defaultně implementován a na jeho oficiálních stránkách podpora začíná pomalu stagnovat. Pokud uživatel vlastní OS staršího data může mít vážný problém tento protokol uvést do provozu. Na závěr lze říci, že toto odvětví vizualizačních programů má veliké mezery. Bohužel si toho všimne pouze hrstka uživatelů a nadšenců, protože programů na jiném základě než OSPF databáze je více než dostatek, včetně několika propracovaných od mezinárodních společností.
4
Použitá literatura
[1]
Net-SNMP. [online]. 2007 [cit. 2014-05-04]. Dostupné z: http://www.net-snmp.org/
[2]
Wiki_tutorial. CREATIVE COMMONS. OpenNMS [online]. [cit. 2014-05-04]. Dostupné z: http://www.opennms.org/wiki/Linkd#Discovery_Using_OSPF
[3]
OSPF network visualizer: ospfviz. Sourceforge [online]. 2007 [cit. 2014-05-04]. Dostupné z: http://ospfviz.sourceforge.net/index.html
[4]
OSPF-db-topology. ST.PIERRE, Thomas. GitHub [online]. 2012 [cit. 2014-05-04]. Dostupné z: https://github.com/mxtommy/OSPF-db-topology
[5]
KUCHTA, Lukáš .Vizualizace topologie počítačové sítě. [online]. 2013 [cit. 2014-05-04]. Dostupné z: http://dspace.upce.cz/bitstream/10195/52487/3/KuchtaL_VizualizaceTopologie_TH_2013.pdf
2014
10/10