Jak zajistit veřejnou adresu internetovému providerovi navzdory

V době, kdy se nedostává IP adres, se začínají ve velkém rozmáhat různá zařízení pro sběr dat. Často na takovém zařízení běží web server s přístupem k datům - záleží však na ochotě ISP, jestli bude vaše zařízení na internetu viditelné. Cestou pro snadné zviditelnění takového zařízení může být už dnes IPv6.

6.2.2013 09:00 | Petr Bravenec | přečteno 8383×

Současná doba je trochu rozporná - přibývá různých zařízení na měření kdečeho, ale ubývá adres, které by umožnily takové zařízení na internetu oslovit přímo. Zároveň chybí odborníci - adresy sice k dispozici jsou (IPv6), ale často se lze setkat s postojem "IPv6 je první věc, co v počítači vypínám", navíc o nabídce IPv6 ze strany ISP je škoda mluvit. Většina takových zařízení proto končí v síti 192.168.něco.něco schovaná za natem, mnohdy s nepříjemným důsledkem - v jedné IPv4 síti se vám sejde několik stejných zařízení se službami na stejném portu - v lokální síti pak běží služba například na portu 80, ale na internetu je viditelná na portu 8080. Pokud máte přístup na router, máte částečně vyhráno - nastavit NAT můžete alespoň směrem z internetu do vnitřní sítě prakticky libovolně, ale obvykle můžete zapomenout na to, že byste dokázali nastavit NAT i z lokální sítě do lokální sítě. A i když tu možnost router poskytuje (ale upřímně - už jste někdy takovou škatulku z kategorie "levné" potkali?), kdo by se s tím nastavoval - je s tím spousta práce. Pokud na router přístup nemáte a router pro vás nastavuje nějaký lokální správce sítě, je situace ještě pracnější. Moje zkušenosti říkají, že když od lokálního správce dostanu statickou adresu 192.168.1.něco, protože v síti neběhá dhcp, budou lapálie pokračovat a třeba na požadavek "nastavte mi tam, prosím, NAT na port 8081", dostanu NAT na porty 90 a 91, protože port 80 už obsadilo jiné zařízení.

A i když se podaří takové zařízení oživit, potíže nekončí. Není vyjímkou, že ISP vaši síť přeadresuje a nedá vám vědět - z jeho pohledu je vše v pořádku, internet v lokální síti chodí.

Další kapitolou jsou servisní technici - člověk, který je zvyklý vyměňovat pojistky, obvykle nerozeznává tak jemné nuance, jako je IP adresa, a stejně jako s pojistkami zachází i s počítači - vyměňuje je kus za kus. Důsledky si jistě dokážete domyslet, ať už v síti s DHCP nebo bez DHCP.

Celé to pak nabírá silně pikantní příchuť, máte-li svá zařízení rozmístěná po celé Evropě, a k odborným hlediskům věci se přidávají ještě i jazykové dispozice a indispozice.

Se vším výše uvedeným jsem se potkal u rozsáhlého systému Fotomon pro sledování provozu fotovoltaických elektráren (můj názor a námět na flame: fotovoltaika je ok, dotace jsou špatně, a to jakékoliv).

Jak z takových potíží ven?

Ideální by bylo, kdybych počítač jednoduše připojil do sítě a nemusel se o nic starat, zařízení by se samo nakonfigurovalo, dostalo veřejnou adresu a ihned po zapnutí bych je "kdekoliv" na internetu viděl. Dá se to zařídit? Na sto procent ne, ale je možné se takovému stavu alespoň hodně přiblížit - pomocí tunelu a IPv6.

A jak to celé funguje:

Mějme "Zařízení" - počítač s měřící aparaturou umístěný na fotovoltaické elektrárně někde uprostřed ukrajinské stepi a "Server" - počítač, který pro zařízení poskytuje služby pro vytvoření tunelu a přiděluje IPv6 adresy.

1. Zařízení v lokální síti nabootuje a získá lokální IPv4 adresu. V lepším případě je síť nastavená pomocí DHCP - potom zařízení může dostat pokaždé adresu jinou, ale to nevadí, důležitější je fakt, že kvůli fungování na síti nebylo nutné zařízení nijak konfigurovat. V horším případě je přidělování adres v síti řešeno staticky. Potom nezbyde, než adresu prostě změnit.

2. Na vrstvě IPv4 se zařízení připojí přes internet na server ve vlastní firemní síti a vytvoří tunel, čímž se obejdou obvyklé potíže s nastavením NATu na routeru a s proměnlivou IPv4 adresou v lokální síti zařízení. Pro vytvoření tunelu lze s úspěchem použít protokol L2TP. Na úrovni tunelu nefigurují žádné IP adresy, ať už IPv4 či IPv6, tunel slouží jen jako "drát" pro vyšší vrstvy. Při vytváření tunelu se zařízení prokazuje heslem (chap autentikace), vyšší vrstvy (PPP) už žádnou další autentizaci neprovádějí. Šifrování nás nezajímá - data chodí beztak i na IPv4 buď nezašifrovaná, v otevřené podobě, nebo zašifrovaná protokolem https. Nastavení L2TP tunelu je díky tomu velmi jednoduché a odpadá nastavování IPSEC, které je spolu s L2TP často spojeno.

3. Na drátě vytvořeném tunelem L2TP se nastartuje PPP. Protože nám jde o veřejné ip adresy a těch se na IPv4 nedostává, je IPv4 kompletně vypnuté a PPP se domlouvá pouze na IPv6 adresách. V tento okamžik lze s úspěchem nastavit pouze linkové IPv6 adresy, ale jakmile je PPP nastartované a nakonfigurované, zařízení je už schopné se domluvit se serverem, ke kterému se připojuje, na dalším postupu. Použije k tomu právě linkové adresy, které sice ještě nejsou veřejné, ale umožňují už nyní na lince provoz point-to-point mezi zařízením a serverem.

4. Na síťových rozhraních vytvořených pomocí PPP se nastaví veřejné IPv6 adresy. Záměrně píšu množné číslo, protože veřejnou IPv6 adresu musíte nastavit jak na serveru, tak na zařízení. Protože na serveru se pro každé zařízení vytváří vlastní síťové rozhraní PPP, nejsnazší cestou, jak zařízení se serverem propojit, je obyčejné routování mezi sítí vytvořenou pro zařízení a veřejnou IPv6 sítí serveru. Pro přidělení veřejné adresy lze použít například radvd nebo dhcp, v případě specifických požadavků pak vlastní řešení - v PPP si můžete pro nastavení adres vytvořit vlastní skript.

Zde je třeba poukázat na jeden mentální rozdíl mezi IPv4 a IPv6: Nový protokol IPv6 má veliké množství adres. Aby vám něco neuniklo, zopakuji ještě jednou, že IPv6 má opravdu hodně veliké množství adres. Minimální adresní rozsah, který byste měli od svého ISP obdržet, je 64 bitů - adresami, které dostanete od svého ISP pro svou domácnost, byste současný internet naadresovali na druhou. Pro připojení zařízení to přesto nestačí, protože tento adresní rozsah je z principu fungování IPv6 dále nedělitelný do různých podsítí. Svého ISP proto musíte požádat o masku 48. S takovým adresním rozsahem už můžete vytvářet vlastní podsítě. Každé zařízení tak dostane k dispozici vlastní síť, ze které se sice využijí pouze dvě adresy, ale routování na serveru je díky tomu velmi jednoduché a prakticky se o ně nemusíte starat. Se síťovou maskou 48 bitů můžete vytvořit dalších 65 tisíc podsítí. Slovy klasika: 65 tisíc podsítí musí stačit každému.

Jste-li postižení uvažováním v mantinelech IPv4, a říkáte si: "Ale to je přece nehorázné plýtvání", můžete zkusit rozkouskovat svou 64-bitovou síť, ale tato cesta je slepá. Mnohem snazší pro vás bude, když se zbavíte mentalních hranic spojených se současným fungováním internetu na IPv4.

Oproti klasickému prostému připojení přes IPv4 má takové řešení řadu výhod:

Jistě se najdou i nevýhody:

Závěr

V dnešním článku jsme si popsali princip postupu, který nám může jednoduše zajistit veřejnou IPv6 adresu u různých udělátek pro sběr dat navzdory všem překážkám ze strany ISP. Připraveno je pokračování článku, ve kterém představíme praktické řešení na konkrétním příkladu.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1961