Nasazujeme IPv6 na RouterOS

Adam Štrauch 26. 8. 2011

V dalším pokračování seriálu o operačním systému RouterOS si představíme možnosti, které mají správci sítě s IPv6. Zkusíme získat IPv6 rozsah pomocí jedné ze dvou hlavních tunelových technologií a nakonfigurujeme RouterOS tak, abychom mohli aspoň na hlavní stránku prezentace napsat IPv6 ready.

V minulém článku mi bylo vytýkáno, že se o některých technologiích málo rozepisuji. Ani tady to nebude jiné a i když zkusím hodit ke všemu odkaz na nějaký zdroj, raději se hned na začátku ohradím a řeknu, že pokud se rozhodnete tento článek použít, měli byste už o IPv6 něco vědět. V tom vám pomůže třeba kniha od Pavla Satrapy s názvem „IPv6“, kterou si můžete stáhnout díky organizaci CZNIC na knihy.nic.cz. Tento článek si neklade za cíl vysvětlit čtenáři, co to IPv6 je, ale ukázat, jak se používá na operačním systému RouterOS.

Podpora IPv6

Není to tak dlouho, co RouterOS IPv6 nezvládal. Ve verzi 3.x byly pokročilejší funkce součástí balíčku pro testování, ve verzi 4.x se pak všechny tyto funkce staly stabilní. I když IPv6 jelo v pohodě, dlouho byl jeden či více bugů v implementaci OSPFv3, což způsobovalo, že se routovací tabulka po krátké době rozpadla. Někdy vydržela hodinu a někdy se dokázala domluvit jen půlka sítě. Důležité bylo, že se na ni nedalo vůbec spolehnout, což u sítě, kde už je víc routerů může být problém. Podle zkušeností jiných uživatelů jede IPv6 a OSPFv3 v RouterOS spolehlivě od konce větve 3.x.

V současné době jede OSPFv3 v řadě 5.x a ke konci 4.x velmi dobře a síť se chová stabilně. Už je také podporováno dost služeb, jejichž seznam vlastností jsem si vypůjčil na wiki.mikrotik.com.

  • Statické adresy a routování
  • Autokonfigurace (router advertisement daemon)
  • Dynamické routování přes BGP+, OSPFv3, a RIPng
  • Firewall
  • queue tree, simple queue, pcq
  • DNS
  • 6in4 (SIT) tunely
  • EoIPv6, ip/ipv6 over ipv6 (IPIPv6) tunnel interface
  • IPSEC
  • VRRPv3
  • PPP
  • Služby SSH, telnet, FTP, WWW, Winbox, API
  • Ping
  • Traceroute
  • Web proxy
  • Sniffer a monitorovací nástroje

Proti IPv4 toho chybí ještě hodně, zvlášť když si porovnáte nabídky obou protokolů v některém z rozhraních. Chybí třeba routování multicastu nebo automatické vytváření tunelů, nicméně největší překážkou v plnohodnotném nasazení u některých sítí bude absence DHCPv6.

6to4 nebo 6in4 tunel

Bohužel, i po dni IPv6 a s posledními IPv4 adresami vyškrábanými ze dna RIRů, se stále setkáme se sítěmi, které jsou pro IPv6 svět offline, kde jedním z důvodů je ten, že jejich poskytovatel IPv6 nenabízí. V takovém případě nezbývá nic jiného než tunel. Tunelovacích technologií je víc a o některých rozšířených jsme psali.

V případě SixXS budete donuceni použít statický 6in4 tunel a budete potřebovat veřejnou IPv6 adresu. RouterOS nemá podporu protokolu AYIYA, takže za NATem se se servery SixXS nedohodnete. Veřejná adresa platí i pro 6to4 od CZNIC. Je jedno, kterou technologii si nakonec vyberete. Mě připadá 6to4 standardnější, ale na SixXS také není nic špatného.

V případě SixXS a 6in4 protokolu, můžete použít konfiguraci uvedenou na stránkách projektu. Vše co se děje na RouterOS s IPv6 se nastavuje v menu / ipv6. Začneme tedy s tunelem:

/interface 6to4 add local-address=<Vaše IPv4> remote-address=<IPv4 přiděleného tunelu> mtu=1280 name=SixXS-tunnel 

Pokračujeme adresou:

/ipv6 address add address=<Přidělená IPv6 adresa> interface=SixXS-tunnel 

A nakonec nastavíme bránu:

/ipv6 route add dst-address=2000::/3 gateway=<IPv6 brána> 

S IPv6 tunelem jste pravděpodobně žádali i o /48 prefix, o něm bude řeč níže.

U 6to4 je nastavení velmi podobné. Zase nejdříve přidáme tunel:

/interface 6to4 add mtu=1280 name=6to4tunnel local-address=<Vaše IPv4> remote-address=192.88.99.1 disabled=no 

Potom adresu:

/ipv6 address add address=<IPv6 z kalkulačky>/3 interface=6to4tunnel 

A nakonec bránu:

/ ipv6 route add dst-address=2000::/3 gateway=::192.88.99.1,6to4tunnel 

Na rozdíl od SixXS se v tomto případě počítá IPv6 rozsah z IPv4 adresy pomocí kalkulačky. V článku odkazovaném výše najdete více informací.

Routování

Máte-li adresu od svého poskytovatele nebo jste se dostali přes předchozí kapitolu, jsou všechny ostatní nastavení a služby velmi podobné těm u IPv4, jen adresy jsou trochu delší. Jejich konfigurace se schovává v menu / ipv6 address a jejich přidávání nebo úprava nějak nevybočuje z RouterOS zvyklostí.

Předpokládejme, že máme k dispozic rozsah 2002:596f:680­2::/48, který je naroutován na 2002:596f:6802::1 na rozhraní ether0. Tak nějak by mohla vypadat konfigurace s 6to4. Adresu na další rozhraní, třeba ether1 pak přidáme tímto způsobem:

/ ipv6 address
add address=2002:596f:6802:1::1/64 interface=ether1 

Pokud přidáme ještě „advertise=yes“, bude o sobě router dávat vědět do sítě a všechny stroje připojené na dané rozhraní si pomocí autokonfigurace spočítají svou adresu. Tímto způsobem bude nastavena pouze IP adresa a brána, nikoli DNS servery.

Podobně nasázíme adresy k dalším rozhraním. Pokud váháte nad použitím prefixu většího než 64, dobře si to rozmyslete. I když ty 4 miliardy adres na druhou nevyužijete, nezapomeňte, že RouterOS zatím nemá DHCPv6 a autokonfigurace, která funguje jen s /64, je tak jedinou možností, jak mezi stroje v síti dostat pohodlným způsobem adresy. Mnohem lépe se vám bude s rozsahem pracovat, pokud každé rozhraní dostane svůj prefix /64, IPv6 k tomu bylo navrženo.

O spoje typu bod-bod se nemusíme starat vůbec, zvlášť pokud požijeme dynamické routování přes OSPFv3. To si s okolními routery povídá přes link-local adresy a žádné jiné tedy nepotřebuje. V tomto ohledu se dá síť nastavit mnohem jednodušeji než u IPv4. Dokonce bych řekl, že nastavení OSPFv3 je v mnoha případech jednodušší, než vymýšlet komplikované statické routování. Link-local adresy můžeme použít i u statického routování, ale v tomto případě to už má k pohodlí daleko.

Routy se spravují v menu / ipv6 route a novou přidáme tímto způsobem:

/ ipv6 route
add dst-address=2002:596f:6802:3::/64 gateway=2002:596f:6802:2::1/64 

Výchozí bránu pak:

add dst-address=::/0 gateway=2002:596f:6802:1::/64 

U třech a více routerů se pak počet pravidel může rozrůst, takže buď si sedneme a vymyslíme neprůstřelné rozdělení rozsahů, které bude počítat i s rozšířením do budoucna nebo nastavíme OSPFv3.

To provedeme v menu / routing ospf-v3. Nejprve je nutné nastavit instanci. Jedna už je ve výchozím stavu vytvořená a s ní si vystačíme.

/ routing ospf-v3 instance
set 0 router-id=<IP adresa> redistribute-connected=as-type-1 redistribute-static=as-type-1 distribute-default=always-as-type-1 

Je dobrým zvykem dávat do „router-id“ IP adresu routeru. Distribuce výchozí brány by měla být v síti zapnuta jen na jednom routeru, který skutečně bránu dělá, na dalších použijte never.

Druhým krokem je přidání rozhraní, po kterých bude OSPF komunikovat. To se dělá v podnabídce interface.

/ routing ospf-v3 interface
add interface=ether1 area=backbone 

Tady se způsoby oproti IPv4 trochu liší, protože u OSPFv2 nepoužíváme rozhraní, ale podsítě.

Otestovat funkčnost můžete třeba utilitou / ping, ale nabídky / routing ospf-v3 neighbor a / routing ospf-v3 route k vypsání sousedů a vypočítané routovací tabulky také pomohou.

OSPFv3 z RouterOS si alespoň u takhle jednoduchého nastavení rozumí s linuxovými implementacemi Bird i Quagga.

Závěr

I když RouterOS ještě nepodporuje u IPv6 všechno co u IPv4, dá se už spolehlivě nasadit. Navíc není konfigurace IPv6 nějak zvlášť odlišná od starší verze IP protokolu a pokud se přeneseme přes delší adresu, nakonfigurujeme ji prakticky stejně.

Na druhou stranu ještě některé vlastnosti chybí. Problém s chybějícím DHCPv6 zabolí a věřím, že v některých sítích blokuje nasazení u klientů.

„RouterOS 5.x je podle vás použitelný pro nasazení IPv6? Možná ještě uvést pro
jaké nasazení.“

Nejen to. RouterOS 5.x je pro mě reálně nasazené řešení pro IPv6 na síti, která byla ještě nedávno IPv4-only (a nějakou chvilku s experimentálním IPv6 na RouterOS 4.x).

„Nevím ale délka manuálu k IPv6, počet věcí, které jsou v něm uvedeny a vlastně i jen seznam "všeho" co už RouterOS v rámci IPv6 podporuje se mi zdá trochu nepřesvědčivý, (např. MobileIP není uvedeno ani ve vlastnostech ani v tom co ještě není).“

Ani jedno z toho jsem nestudoval, ve skutečnosti jsem testoval na živé síti, místo abych četl seznamy. Mobilní IP (zatím) nepoužívám, a nepovažuju to za klíčovou vlastnost routerů ISP.

„už v době kdy se rozhodujeme vůbec o tom, nakolik je myslitelné začít o implementaci na RouterOS uvažovat se mi nejeví jako schůdná cesta.“

Co píšeš, je nejednoznačné. Já vycházel ze situace, kdy na síti RouterOS už je, a potřebujeme zavést IPv6, a momentálně není jediná věc, která by mi na IPv6 v RouterOS oproti IPv4 reálně chyběla. Až nějakou narazím, určitě ji tajit nebudu :).

Jiná věc by byla třeba na IPv6 síti s linuxovými routery uvažovat o nasazení RouterOS. Do takové situace se žádný z mých zákazníků ani přátel nedostal, protože ti, co zvládají celou síť konfigurovat pomocí příkazů a texťáků, zřídka uvažují o nasazení RouterOS.

A ani nevidím jediný důvod, proč bych jim měl místo univerzální linuxové distribuce, se kterou už umějí, doporučovat omezenější RouterOS, se kterým by se museli učit (tedy investovat do „ničeho“).

To celé ale nic nemění na tom, že RouterOS 5.x je připravený pro nasazení na IPv6 síti víceméně srovnatelně s IPv4.

Pavel Šimerda Zlatý podporovatel
Lupa.cz: Jak EET vidí ajťák aneb Drahá vražda UX

Jak EET vidí ajťák aneb Drahá vražda UX

DigiZone.cz: Šlágr TV: pokuta 100 tisíc za on-line

Šlágr TV: pokuta 100 tisíc za on-line

DigiZone.cz: Konec geoblokace? Ani náhodou…

Konec geoblokace? Ani náhodou…

120na80.cz: Velký přehled: 7 očkování proti exotickým nemocem

Velký přehled: 7 očkování proti exotickým nemocem

Vitalia.cz: Co se platí u zubaře

Co se platí u zubaře

DigiZone.cz: Konec geoblokace online médií?

Konec geoblokace online médií?

Lupa.cz: Přenos hokeje padal kvůli útoku, tvrdí O2

Přenos hokeje padal kvůli útoku, tvrdí O2

Lupa.cz: Válka e-shopů. Alza končí s Heurekou

Válka e-shopů. Alza končí s Heurekou

120na80.cz: 5 triků, jak zastavit krvácení po holení

5 triků, jak zastavit krvácení po holení

Root.cz: Zákon o hazardu je v rozporu s ústavou

Zákon o hazardu je v rozporu s ústavou

Vitalia.cz: 7 nemocí očí, které musíte léčit včas

7 nemocí očí, které musíte léčit včas

Vitalia.cz: Muži kouří 24 cigaret denně, ženy o dost míň

Muži kouří 24 cigaret denně, ženy o dost míň

Vitalia.cz: Dnešní patolog o mrtvolu téměř nezavadí

Dnešní patolog o mrtvolu téměř nezavadí

Vitalia.cz: SÚKL: vakcíny jsou bezpečné a s autismem nesouvisí

SÚKL: vakcíny jsou bezpečné a s autismem nesouvisí

Podnikatel.cz: Šizený guláš na pultě. Jako Lidl to nedělejte

Šizený guláš na pultě. Jako Lidl to nedělejte

DigiZone.cz: ČT neskončí s nízkým rozlišením podle plánu

ČT neskončí s nízkým rozlišením podle plánu

120na80.cz: 10 nej přípravků na holení

10 nej přípravků na holení

Vitalia.cz: Ministerstvo: tyto příbory jsou nebezpečné

Ministerstvo: tyto příbory jsou nebezpečné

Vitalia.cz: Před, nebo po snídani? Kdy je lepší čistit si zuby

Před, nebo po snídani? Kdy je lepší čistit si zuby

Vitalia.cz: Mražené ryby z Makra byly falšované

Mražené ryby z Makra byly falšované