VRRP v1+v2, konfigurace, optimalizace a reakce na události na plaformě RouterOS David Balcárek (BAL259), Petr Malec (MAL487) Abstrakt: Dokument pojednává o konfiguraci a testování VRRP na platformě RouterOS Klíčová slova: VRRP, RouterOS, Mikrotik, metarouter, routerboard 1 Definice pojmů...2 1.1 Co je VRRP...2 1.2 Co je RouterOS...2 1.3 Co je MetaRouter...2 2 Použité zařízení a software...2 3. Topologie...3 4. Příprava...4 4.1 Konfigurace...5 5. Testování...6 5.1 Version 2...6 5.1.1 Autentizace...6 5.2 Version 3...7 5.2.1 Autentizace...8 6 Mikrotik vs Cisco...8 6.1 Konfigurace...8 6.2 Testování...8 7. Závěr...8 8. Zdroje...9 březen 2012 1/9
1 Definice pojmů 1.1 Co je VRRP Virtual Router Redundancy Protocol (VRRP) je síťový protokol, který používáme pro komunikaci mezi směrovači, které slouží pro zálohování provozu pomocí redundantních směrovačů. Nejedná se o vyvažování zátěže, a proto síťový provoz prochází právě jedním směrovačem. Tomuto směrovači říkáme vlastník (owner router). V případě jeho vypadnutí ho zastoupí záložní směrovač (backup router), z kterého se stane vlastník. Tím se sníží doba výpadku. VRRP nezařizuje předávání vlastníctví, ale pouze oznamuje stav směrovače. Když se přestane hlásit vlastník, jiný směrovač převezme jeho funkci podle VRID. 1.2 Co je RouterOS MikroTik RouterOS je operační systém pro směrovače založen na bázi Linux OS. Nejčastější použití nachází v MikroTik Routerboard, ale je možné jej nainstalovat i na platformu x86 (respektivě x64). Pro komunikaci za účelem konfigurace s tímto operačním systémem můžeme využít sériovou konzoli (RS-232). Popřípadě přes konektor (RJ45) a komunikovat přes pomocí protokolu telnet, ssh, mac-telnet (specifický protokol komunikující po 2. síťové vrstvě). Dále můžeme pro konfiguraci využít přehledné GUI Winbox nebo webového rozhraní. 1.3 Co je MetaRouter MetaRouter je jedna z funkcí operačního systému RouterOS, jedná se o virtualizaci, kdy na jednom fyzickém zařízení může být spuštěno více virtuálních směrovačů. Funcionalita MetaRouteru byla aplikovaná až v RouterOS 4.0 beta 1 a RouterOS v3.21. Každá instance MetaRouteru využívá stejné množství prostředků jako samostatná instalace RouterOS, minimálně je potřeba 16 MB RAM pro každý virtuální stroj RouterOS. Aktuálně je možné vytvořit až 8 virtuálních strojů. V každém virtuálním stroji můžeme konfigurovat až 8 síťových rozhraní. 2 Použité zařízení a software Hardware: 2 PC, Mikrotik RB433UAH, UTP kabely, switch TPLINK TL-SF 1008D Software: Mikrotik RouterOS v5.14, 2x Windows 7, WinBox v2.2.18, Wireshark v1.6.5, GNS3 v0.8.2, Cisco IOS pro c7200 v12.4 březen 2012 2/9 Obrázek 1: Mikrotik RB433UAH
3. Topologie Pro testování VRRP jsme zvolili topologii, která je na obrázku č. 2. Obrázek 2: Použitá topologie Náš projekt jsme se rozhodli otestovat ve virtualizovaném prostředí. Tedy všechny směrovače, jeden přepínač a jeden rozbočovač jsme virtualizovali pomocí RouterOS na RB433UAH a k němu připojili přepínač TP-LINK TL-SF1008D. Směrovače Internet, Left a Right jsme virtualizovali na směrovači Master pomocí funkce metarouter. Obrázek 3: Fyzické zapojení Přepínač propojující všechny tyto virtualní směrovače a jejích virtualní eternet rozhraní jsme nahradili bridgem ve směrovači Master. RB433UAH má switch chip ICPlus175D, který umožnuje funkci mirror mezi 2 ethernet porty routerboardu. Bez tohoto chipu by jsme nemohli simulovat funkci rozbočovače. Starší modely RB neměli žáden switch chip, novější modely RB naopak mají novější swich chipy (je jich několik druhů), a proto také podporují i více funkcí.vše co projde jedním portem se pošle i na druhý port (vstup i výstup portu). Pomocí této funkce jsme simulovali hub na odchytávání komunikace. březen 2012 3/9
4. Příprava Po zapojení celé topologie, jsme museli jednotlivé síťové prvky nastavit. Prvním krokem jsme pojmenovali směrovač. / system identity set name=master Dále jsme si zapli NTP server, který poskytuje čas na požádání. V případě zálohování, vyvažování zátěže nebo tunelování je vhodnější, aby čas všech zučastněných prvků byl synchronizován jednotně. / system ntp server set enabled=yes Nyní si přidáme virtualní ethernetová rozhraní, která budeme potřebovat pro naše virtualní směrovače. Podle nákresu budeme potřebovat 3. / interface virtual-ethernet add name=vif_internet / interface virtual-ethernet add name=vif_left_out / interface virtual-ethernet add name=vif_right_out / interface ethernet set 0 name=ether1_in_left_poe / interface ethernet set 1 name=ether2_sniff_middle / interface ethernet set 2 name=ethert3_in_right Poté vytvoříme bridge rozhraní, přidáme tam patřičné porty a přidáme IP adresu. / interface bridge add name=bridge_out / interface bridge port add bridge=bridge_out interface=vif_internet / interface bridge port add bridge=bridge_out interface=vif_left_out / interface bridge port add bridge=bridge_out interface=vif_right_out / ip address add address=10.1.1.1/24 interface=bridge_out Nyní vytvoříme rozbočovač pomocí funkce mirror. RB433UAH má možnost tuto funkci nastavit pouze na středový a krajní port. / interface ethernet switch set mirror-source=ether3_in_right mirror-target=ether2_sniff_middle Nyní si vytvoříme jednotlive obrazy směrovačů Internet, Left a Right a poté vložíme každému směrovači port podle obrázku č.4. / metarouter add name=mr_left / metarouter add name=mr_right / metarouter add name=mr_internet / metarouter interface add virtual-machine=mr_left static-interface=vif_left_out / metarouter interface add virtual-machine=mr_left static-interface=ether1_in_left_poe / metarouter interface add virtual-machine=mr_right static-interface=vif_right_out / metarouter interface add virtual-machine=mr_right static-interface=ethert3_in_right / metarouter interface add virtual-machine=mr_internet static-interface=vif_internet březen 2012 4/9
Obrázek 4 : Použitá a oadresovaná topologie 4.1 Konfigurace Každý virtuální stroj musíme nakonfigurovat. Konfigurace probíhá stejně jako konfigurace fyzického stroje. V každém stroji nakonfiguruje jméno routeru, síťová rozhraní a jejich IP adresy a následně spustíme protokol VRRP. Dále nakonfigurujeme NTP clienta. LEFT / system identity set name=left / interface ethernet set 0 name=lan / interface ethernet set 1 name=wan / ip address add address=192.168.0.3/24 interface=lan / ip address add address=10.1.1.3/24 interface=wan / interface vrrp add interface=lan vrid=5 priority=120 / ip address add address=192.168.0.254/32 interface=vrrp1 / system ntp client set primary-ntp=10.1.1.2 enabled=yes / ip firewall nat add chain=srcnat out-interface=wan action=masquerade Right / system identity set name=right / interface ethernet set 0 name=lan / interface ethernet set 1 name=wan / ip address add address=192.168.0.4/24 interface=lan / ip address add address=10.1.1.4/24 interface=wan / interface vrrp add interface=lan vrid=5 priority=100 / ip address add address=192.168.0.254/32 interface=vrrp1 / system ntp client set primary-ntp=10.1.1.2 enabled=yes / ip firewall nat add chain=srcnat out-interface=wan action=masquerade Internet / interface ethernet set 0 name=wan / ip address add address=10.1.1.3/24 interface=wan / interface vrrp add interface=lan vrid=5 priority=120 / ip address add address=192.168.0.254/32 interface=vrrp1 / system ntp client set primary-ntp=10.1.1.2 enabled=yes březen 2012 5/9
5. Testování Testování jsme prováděli pomocí ICMP pingu z testovacího počítače na směrovač Internet. Průběh testování byl zaznamenáván pomocí programu Wireshark. Z tohoto programu byly vytvrořeny obrázky dokumentující průběh testování. Při testování VRRP jsme ručně přes program WinBox shodili (disable) rozhraní vlastníka a měřili zpoždění než se z záložního směrovače stane vlastníkem. V protokolu VRRP se nastavuje atribut priorita. Pomocí tohoto atributu dochází k rozhodování, který záložní router přebere síťovou komunikaci za vypadlý router. Z routeru s nejvyšší prioritou a stane se vlastník. Výchozí priorita směrovače je 100. V projektu jsme použili 100 a 120. Pokud je zapnuté Preemption, potom se automaticky změní vlastnictví ihned po připojení směrovače s vyšší prioritou. 5.1 Version 2 Na obrázku č.5 vidíme spuštění VRRP verze 2 bez authentizace. Při testu VRRP, kdy jsme vypli rozhrání (disable) směrovače, přebral jeho funkci druhý směrovač se zpožděním cca 1 sekundu, při zapnutí tohoto routeru byla odezva zhoršena pouze o 20ms. Testovali jsme také Preemtion mode, při zapnutí tohoto módu dochází k tomu, že když se router přihlásí do sítě s vyšší prioritou dostane roli owner. Zapnutí preemtion módu: / interface vrrp set 0 preemption-mode=yes Obrázek 5: Spuštění VRRP verze 2 5.1.1 Autentizace Testovali jsme dvě auntentizace a to Simple a Authentication Header (dále ah. Při nastavení auntentizace simple, dochází k tomu, že každý paket VRRP přenáší informaci o autentizaci a heslo holý text. V našem případě jsme zvolili jako heslem cisco viz. obrázek 6. březen 2012 6/9
Obrázek 6: Ukázka VRRP protokolu s autentizaci simple Při nastavení auntentizace ah, už pakety VRRP nepřenáši heslo jako holý text, ale jako hash otisk (viz. obrázek č. 7). Obrázek 7: Ukázka VRRP protokolu s autentizaci ah 5.2 Version 3 Na obrázku 8 vidíme komunikaci VRRP verze 3. Při testu VRRP, kdy jsme vypli rozhrání (disable) směrovače, přebral jeho funkci druhý směrovač se zpožděním cca 1 sekundu, při zapnutí tohoto routeru byla odezva zhoršena pouze o 20ms. Testovali jsme také Preemtion mode a chování bylo naprosto stejné jako u verze 2. Obrázek 8: Spuštění VRRP verze 3 Verze 3 na rozdíl od verze 2 podporuje také IPv6, pro kterou byla prioritně vytvořena. Rozdíl mezi při zapnutí verze 3 pro IPv4 a IPv6 je pouze v rozdílné MAC adrese, která se liší v posledním oktetu. Ve VRRP pro IPv4 je MAC adresa virtualníh IP adresy ve formátu 00-00-5E-00-01-{VRID}, ale ve VRRP pro IPv6 je MAC adresa 00-00-5E-00-02-{VRID}. VRID je číslo rozlišující VRRP cluster v jednom segmentu. Mužeme mít až 255 různých VRRP cluster na jednom segmentu. březen 2012 7/9
5.2.1 Autentizace VRRP verze 3 nemá autentizaci, protože byl navržen primárně pro IPv6, kde je zabezpečení implementovano formou IPSec přimo v protokolu IPv6. 6 Mikrotik vs Cisco Na obrázku č.9 vidíme topologii zapojení. Cílem bylo otestovat, zda směrovače obou výrobců mohou mezi sebou komunikovat. 6.1 Konfigurace CISCO: hostname CISCO interface fastethernet 1/0 ip address 192.168.0.2 255.255.255.0 vrrp 1 priority 100 vrrp 1 authentication cisco vrrp 1 timers advertise 1 vrrp 1 timers learn vrrp 1 ip 192.168.0.254 no sh MIKROTIK: / system identity set name=mikrotik / ip address add address=192.168.0.1/24 interface=ether1 / interface vrrp add interface=eth1 vrid=1 priority=120 authentication=simple password=cisco interval=1 / ip address add address=192.168.0.254/32 interface=vrrp1 6.2 Testování Při testování VRRP jsme ručně přes program WinBox shodili (disable) rozhraní vlastníka a měřili zpoždění než se z záložního směrovače stane vlastníkem. Prodleva před převzetím vlastnictví byla stejná jak u předchozích přikladu mezi směrovači s RouterOS, tedy cca 1 2 s změna a cca 20ms zhoršení při přihlašení směrovače s vyšší prioritou. 7. Závěr Obrázek 9: Topologie pro testování VRRP mezi směrovači společnosti Mikrotik a Cisco Sestavili jsme a zapojili topologii pro otestování VRRP na platformě Mikrotik RouterOS. Po zapojení jsme měli pár problémů s virtualizací, které jsme nakonec úspěšně vyřešili. Po nakonfigurování veškerých březen 2012 8/9
síťových prvků jsme úspěšně spustili a otestovali VRRP verze 2 a verze 3. Zjistili jsme, že VRRP funguje bez problému a přechod při vypadnutí jednoho prvku je relativně rychlý a bezproblémový. 8. Zdroje Configuring VRRP. Cisco.com [online]. 2005 [cit. 2012-03-29]. Dostupné z: http://www.cisco.com/en/us/docs/ios/ipapp/configuration/guide/ipapp_vrrp.html#wp1055513 Manual:VRRP-examples. Mikrotik.com [online]. 2011 [cit. 2012-03-29]. Dostupné z: http://wiki.mikrotik.com/wiki/manual:vrrp-examples Manual:Interface/VRRP. Mikrotik.com [online]. 2010 [cit. 2012-03-29]. Dostupné z: http://wiki.mikrotik.com/wiki/manual:interface/vrrp březen 2012 9/9