Jak jsem nasadil IPv6

ipv6_webO IP verze 6 je slyšet zejména ve spojení s docházejícími rozsahy IP verze 4, tedy s volnými IP adresami. Byl jsem v přesvědčení, že se mě momentálně tento důvod jako uživatele prakticky nedotýká, proto jsem IPv6 velmi dlouho ignoroval. Dokonce jsem jeho podporu na síťových prvcích a službách zakazoval. Nikdy jsem nepocítil nějaké omezení ani nutnost IPv6 ve své síti mít. Popravdě, ve svém okolí nevím o nikom, kdo by cíleně tuto technologii využíval. Z části mne také odrazovala fráze odborné veřejnosti: „U IPv6 zapomeňte vše, co jste věděli o IPv4.“
Mé nasazení nebylo snad z důvodu docházejících IP adres verze 4 nebo snad nutnost, ale spíše test a možnost lehce rozšířit vlastnosti stávající infrastruktury. O tom že to nebylo rozhodně bezbolestné, nemůže být ani řeč. Nyní ale na frázi „u IPv6 zapomeňte vše, co jste věděli o IPv4“ odpovědět „Zapomeňte, co jste slyšeli o IPv6.“ Bohužel oproštění se od znalostí IPv4 je ta pomyslná cesta do pekel. Opravdu obsahuje protokol IPv6 řadu vlastností a principů, které jsou nové nebo nejsou u IPv4 běžné. Při poslechu o tomto, dvacet let, novém fenoménu člověka až zamrazí, co vše je jinak, ale ono to ve skutečnosti tak hrozné není.

Broker Hurricane Electric

Já se k IPv6 dostal díky chtění si tento protokol osahat, vyzkoušet možnosti a nový potenciál. I když nemám k dispozici nativní IPv6 připojení, rozhodl jsem se využít možnosti provoz „tunelovat“ skrze IPv4. K tomu lze použít několik možností. Já si vybral společnost Hurricane Electric, která provozuje síť tunnelbroker.net. Mojí výhodou je provozování serveru s pevnou veřejnou IPv4 adresou. Po zaregistrování u brokera a zadání této IP adresy jsem dostal několik důležitých informací, které slouží pro sestavení tunelu, a jeden rozsah /64. Tento rozsah umožňuje adresovat až neuvěřitelné množství 18 446 744 073 709 551 616 zařízení. Na vyžádání (jedno kliknutí ve webovém rozhraní) lze získat navíc rozsah /48, který poskytuje ještě mnohem, mnohem, mnohem více. Rozsah /64 při statickém přidělování adres IPv6 opravdu obsahuje 18 446 744 073 709 551 616 možností, ale jednou z vlastností je možnost využití autokonfigurace, kde se k prefixu (říkejme mu také síť) přiřadí identifikace rozhraní zařízení (MAC adresa ve specifickém formátu). Tím využijeme zbývající byty (zbylých 64). A máme po rozsahu /64. Pokud bychom tedy chtěli tento rozsah dále rozčlenit na menší podsítě, nemůžeme tuto autokonfiguraci využít. V takovém případě ale můžeme nasadit DHCPv6, případně jiný systém přidělování adres. S rozsahem /48 tento problém nemáme, protože máme k dispozici 2 byty (65536 možností), které můžeme k takovému účelu použít. Jak je vidět, IPv6 v případě využití autokonfigurace (založené na MAC) s IP adresami velmi plýtvá.

Výhodou Hurricane Electric je také to, že má přístupový bod i v Praze. Kdo chce, může vytvořit IPv6 BGP tunel. V tuto chvíli je ale takový tunel v Evropě zakončen v DE nebo UK. Ale kdo má z běžných smrtelníků vlastní ASN, že.

Aby toho nebylo málo, nabízí Hurricane Electric možnost směrovat reverzní DNS záznamy na vlastní jmenný server. Pouze pro IP adresu přidělenou našemu tunelu tuto možnost nemáme. Pokud tedy na serveru/směrovači kde máme tunel zakončen, provozujeme nějaké služby, které bychom chtěli zpřístupnit přes IPv6, můžeme tuto adresu využít (ale bez reverzu – PTR), nebo použít IPv6 adresu z přiděleného rozsahu.
Hurricane Electric používá IPv6 adresy z rozsahu 2001::/32.

Všechny tyto služby poskytuje Hurricane Electric zdarma.

Konfigurace tunelu

Nakonfigurování tunelu v prostředí GNU/Linux je několik příkazů, případně nastavení jednoduché konfigurace. Po vytvoření virtuálního tunelovacího rozhraní je mu přiřazena IPv6 adresa z rozsahu /128. Z počátku asi překvapí, že tato adresa není v našich rozsazích /64 nebo /48. Ale to je běžné i v IPv4. Směrovat provoz můžeme i přes IP adresy, které patří do jiného rozsahu. V praxi se to však u malých sítí nenastavuje, ale samozřejmě tomu nic nebrání.

Pokud náš DNS server umí pracovat s IPv6, což pravděpodobně bude, můžeme zkusit ping na ipv6.google.com, případně otestování na webu test-ipv6.com.

IPv6 rozsahy a adresy

Na koncovou IPv6 tunelu, tedy naší přidělenou IPv6 adresu, jsou automaticky nasměrovány všechny přidělené rozsahy. Dále již záleží pouze na nás, jak s nimi naložíme. Můžeme je tedy rozdělit na více podsítí (prefixy) nebo použít jako jedinou síť. Rozdělení a směrování funguje prakticky stejně jako u IPv4. V těchto rozsazích můžeme dále nastavit nějakou autokonfigurační službu, která nám kromě IPv6 adresy poskytne informace o směrování. Např. Ravdvd nainstalovaný na směrovači do příslušné sítě zasílá (IPv6 stateless) i informaci o výchozí bráně. Můžeme také nasadit BIDR, Quagga nebo jinou směrovací službu. Samozřejmě všechny informace může zprostředkovat DHCPv6. DHCP pro IPv6 opravdu není zapotřebí, pokud nedistribuujeme např., nastavení proxy serverů, nepoužíváme PXE pro zavádění operačních systémů po počítačové síti, apod. Konfigurace např. Ravdvd spočívá v minimalistickém nastavení prefixu naší sítě, kterou jsme si definovali. O zbytek se služba stará sama.

Pokud budeme používat ručního přidělování IPv6 adres, musíme samozřejmě specifikovat také příslušné směrování. Tedy výchozí bránu, apod. Stejné ale platí i pro IPv4, takže žádná změna. Jenom formát IP adresy je logicky jiný. Stále se směruje na next-hop.
IPv6 protokolu neznalého určitě u každého síťového rozhraní překvapí existence IP adresy z rozsahu fe80::/64. To je tzv. lokální linková adresa. Tu si přiděluje operační systém sám při zapnutí rozhraní a povolení protokolu IPv6. Obsahuje MAC adresu síťového rozhraní (jedná se také o autokonfigurační mechanismus). Současně se nastaví směrování celého rozsahu fe80::/64 na příslušné rozhraní. Všechna zařízení, která jsou ve stejné fyzické síti, se tedy vidí díky této adrese. Pokud se tedy o protokol IPv6 vůbec nestaráme, ale máme jej povolen, zařízení si sami díky těmto adresám povídají. Jelikož jsou to lokální adresy, nikam do internetu se přes směrovače nedostanou. Dále můžeme také nalézt tzv. dočasnou IPv6 adresu. Ta bude pravděpodobně z rozsahu jako ta, se kterou komunikujeme do internetu (viz rozsahy 2001::/32, /64 a /48).

DNS

Pokud provozujeme DNS server, můžeme si AAAA i PTR záznamy tvořit prakticky libovolně dle našeho uvážení. Pouze v případě autokonfigurace IP adres bez použití DHCP to může být složitější. DNS ale využijeme zejména pro zařízení s ručně přiřazenou IP adresou přístupnou z internetu.

Firawall, NAT a obecná bezpečnost informačních technologií

Při pohledu na třípísmennou zkratku NAT ve spojení s IPv6 může některým lidem běhat mráz, jiní upadají v mrákoty. Někteří berou NAT v sítích IPv4 jako bezpečností prvek pro „schování sítě“ za směrovačem do internetu. I já v IPv4 NAT používám, ale samozřejmě v kombinaci s firewallem. V případě IPv6 NAT pravděpodobně využívat nebudeme, protože přidělené rozsahy a možnosti autokonfigurace dostatečně rozmělní IPv6 adresy. Nezbytným požadavkem stále ale zůstává použití firewallu. A je pouze na nás, zda jej budeme nastavovat a provozovat na jednotlivých zařízeních, nebo na přístupových síťových prvcích. V případě Windows máme výhodu, že je firewall sofistikovaně nastavován pro každé rozhraní zvlášť (veřejné vs. privátní). U ostatních systémů tomu tak být nemusí. Např. provoz GNU/Linux vyžaduje určité technologické znalosti, a je tak i vývojáři bohužel velmi často brán. V IPv6 neznamená, že když máme notebook připojen do naší domácí sítě a leží na stole, není případnému útočníkovi dostupný z internetu.
Obecně je konfigurace firewallu pro IPv6 složitější. A to zejména díky rozsáhlejším možnostem ICMPv6. V IPv4 platilo, že je možné zakázat prakticky vše z internetu, tedy kromě ctstate RELATED a ESTABLISHED. V případě IPv6 musíme z internetu povolit více služeb. Pokud to neuděláme, nebudou určité služby pracovat, nebo nebude pracovat vůbec nic.

Absolutně nezáleží na to, zda pro přidělování IP adres používáme autokonfiguračního mechanismu, či je přidělujeme ručně. V případě špatně nakonfigurovaného firewallu na přístupové síti, a není to žádný problém, jsou ohrožena všechna zařízení v naší síti. Čím složitější technologie, tím více možností na průnik do systému.

Ale abych zbytečně nestrašil, pravděpodobně většina WiFi zařízení zpřístupňujících internet (WiFi routery) má alespoň základní pravidla na firewallu nastavena.

S firewallem a bezpečností samozřejmě i souvisí, kde se s naším zařízením pohybujeme. Pokud tedy navštěvujeme „veřejné“ internetové body např. v kavárnách nebo restauracích, musíme mít zařízení bezpodmínečně ochráněno. Vždy je na prvním místě bezpečnost našich dat, tzn. naše vlastní, a bezpečnost dat našich zaměstnavatelů. Z pohledu bezpečnosti informačních technologií je rizikem i připojování se do místní sítě např. sousedů, kamarádů a známých. I na taková místa je potřeba se dívat jako na místa nezabezpečená, veřejná a potenciálně nebezpečná.

Stejně je nutné posuzovat i připojování „cizích“ zařízení do naší domácí sítě. Místní sítě a síťová rozhraní připojená do takových sítí mají často minimální nebo žádné zabezpečení, a i když náš kamarád určitě nebude naše zařízení napadat, může to udělat software, který má na zařízení nainstalovaný. O takovém škodlivém programu nemusí ani vědět.
Z pohledu bezpečnosti má IPv6 jednu z výborných vlastností, a tou jsou Private-Extensions.

Má implementace v síti

Abych popsal, jak je IPv6 implementováno v mé síti, bylo by to na dlouho. Proto budu velmi stručný.

HE 6in4 tunel mám zakončen na hraničním serveru s pevnou veřejnou IPv4 adresou. Zde je nainstalován OpenVPN server pro komunikaci se dvěma lokalitami. Ty mají vlastní IPv6 rozsahy /64 z přiděleného rozsahu /48. Hraniční server i OpenVPN klienti (routery) na lokalitách mají specificky nastavený firewall. IPv6 adresy na lokalitách jsou pro jednotlivá zařízení přidělovány ze svých rozsahů /64. Přidělování na základě prefixů zajišťuje Ravdvd. Přes OpenVPN jsou ze serveru na lokality distribuovány směrovací záznamy ostatních sítí. Vše, až na Ravdvd, je podobné jako v případě IPv4. Pro IPv6 momentálně nepoužívám DNS servery (výhledově budou pravděpodobně pouze pro veřejné služby), tedy kromě XMPP a SNMP (zatím testovací provoz i přes IPv6). Ty jsou pouze pro IPv4, kde je přidělování lokálních adres 10.0.0.0/8 zajištěno pomocí DHCP.

Přístup přes IPv4 do internetu není přes OpenVPN, ale lokálně přes místní ISP. Samozřejmostí je opět restriktivní IPv4 firewall.

Více o mé infrastruktuře např. Síťová infrastruktura pro domácí prostředí a malé firmy (SOHO) – nastavení sítě případně Síťová infrastruktura pro domácí prostředí a malé firmy (SOHO) – síťové služby 1.

Závěr

O tom, jak je protokol IPv6 skvělý, úžasný a boží je slyšet na každém kroku. Současně je slyšet, jak se svět díky ztenčujícímu se počtu volných IPv4 rozsahů zhroutí.

Já si na IPv6 ověřil, že některé služby na místních zařízeních začali pracovat rychleji, a bez zpoždění způsobených neznámo čím apod. Pokud nebudeme mít přes IPv6 přístup k internetu nevadí, aktivace protokolu na místní síti (pouze s lokálními síťovými adresami) nás nikterak neovlivní.

Nasazení IPv6 v kontextu internetu je podobné jako u IPv4. Pouze je zde několik změn, ze kterých není důvod mít obavy. Samozřejmě je ale potřeba alespoň něco o IPv6 vědět (např. rozeznat jednotlivé adresy od sebe :) a, … umět používat nástroje pro sledování provozu v síti. Bez nich se při nastavování infrastruktury pracuje velice těžko.

IPv6 je zkrátka tak složité, jak si ho sami uděláme. Umí sice spoustu zajímavých věcí, ale budeme přímo udiveni, jak málo nám jich stačí.

A co se pro mne po nasazení IPv6 změnilo? Popravdě, kromě lepší interakce na lokálních sítích (do té doby v chvilkách bez připojení do internetu trochu blbnul na smartphone Android) vůbec nic. No možná ještě něco: mám ze sebe radost a musím se pochválit, jak se mi to povedlo…

Loučím se s frází:

„Zapomeňte, co jste slyšeli o IPv6,“ prostě to zkuste…

1 komentář u „Jak jsem nasadil IPv6

  1. FinalTek

    Máte pravdu, stačí pochopení základních principů. Vyzkoušeli jsme a výsledkem je /64 IPv6 subnet pro každého našeho zákazníka, a to jak pro připojení k Internetu tak i pro hosting.

Leave a Reply