Internet Info, s.r.o. Lupa Root Měšec Podnikatel DigiZone Slunečnice Vitalianew Bomba Navrcholu Weblogy Jagg Woko Dobrý web Computer.cz SK: MojeLinky
Root.czBlogyOdborný

O autokonfiguraci v IPv6

mangan, 30. 07. 2010, 01:12 v kategorii Nezařazené,

Před dávnými časy v jedné předaleké zemi přišlo nějakému šikovnému chlapíkovi na mysl, že přes všechny možné nástroje síťové infrastruktury je konfigurace nových zařízení v síti docela pruda a že by to mohlo jít lépe. A možná taky přišel s nějakým opravdu skvělým řešením. A pak někdo úplně jiný navrhl autokonfiguraci v IPv6.

Zařízení připojené do IPv6 sítě umí (pokud teda ví, co je to IPv6 síť, samozřejmě) samo sobě přiřadit IP adresu a taky to poctivě dělá. Pokud je navíc v této síti router a svou přítomnost ostatním řádně napráská, přiřadí si nové zařízení taky IP adresu z adresního prostoru sítě směrované tímto routerem a router samotný si zapíše do směrovací tabulky. A tak vzniká síť s IPv6 síť takřka bez práce, (podstatnou) zajímavostí je, že část IP adresy tvoří MAC adresa síťové karty.

Všechno to bylo vymyšlené moc pěkně. Kazila to snad jenom jedna protivná drobnost. Když se automatická konfigurace dělá postaru pomocí DHCP serveru, klienti získávají spoustu jiných informací, znají adresu jmenného serveru, vědí, kde získat přesný čas a tak různě. A protože nevypadá dobře, když něco krutě nemoderního umí ve skutečnosti víc, než jeho hypermoderní náhrada, objevil se nápad takového polo DHCP serveru (dostal přívlastek stateless), který nerozdává informace o nastavení IP sítě, ale stále nabízí dodatečné informace.

Tohle už bylo docela super, konfigurace, která dříve bývala na jediném místě, je teď sice z části na routeru, z části na DHCP serveru, ale to nic, pokrok zkrátka nezastavíš a když se kácí les, lítají třísky. Potom ale pravděpodobně někoho napadlo, že by vůbec nemuselo být na škodu "autokonfigurovat" taky jiné IP adresy, než ty odvozené od adresy MAC. Zkrátka, že změna IP adresy by mohla být docela hloupá, nastane-li jenom proto, že shořela síťovka. A proto se objevil návrh na opravdový DHCP server v rámci IPv6 sítě, kterému přísluší (téměř) tytéž funkce jako jeho dvojčeti z IPv4. Tenhle (takzvaný stateful) DHCP server může přidělovat permanentní IP adresy podle unikátního identifikátoru, který sice ještě nikdy nikdo neviděl, ale který nutně nemusí být MAC adresou. Druhá jeho odlišnost je docela roztomilá, DHCP server v IPv6 neposílá informace o routerech. Proč taky, routery se přece hlásí samy.

To je asi tak vše. Potrženo sečteno nám vychází, že jeden DHCP server je v IPv6 síti nahrazen inteligentními routery se svými oznamovacími zprávami a k tomu přisluhují dva různé typy DHCP serverů. Oznámení routeru navíc nese důležitou informaci v takzvaném příznaku M (a neznamená to magický), na základě kterého se síťová zařízení dozvídají jestli mají žádat informace od (stateless) DHCP serveru, stateful varianty se příznak M netýká.

Když si to vezmu kolem a kolem, umím si představit, že tento "vymakaný" systém udělá nejednu vrásku na čele kdejakému vývojáři nebo adminovi. Celé mi to docela dobře pasuje na přísloví o vlku, co se nažral, ale koza zůstala celá. IPv6 sice má novou, elegantní metodu autokonfigurace, ale bez DHCP serveru se stejně nakonec neobejde a ve finále se to vlastně docela šeredně komplikuje.

Komentáře (19)

  1. 1. 08. 2010, 19:59 Ja. napsal:

    Tak to keď príde ipv6, to aby som si spravil vysokú školu na to...

  2. 2. 08. 2010, 00:29 8an napsal:

    Skončil jsi než jsi zmínil to nejhorší, možná to tak bylo lepší, ale já to stejně napíšu :o )

    Já jsem totiž ten unikátní identifikátor viděl. Je založen na MAC adrese a náhodně vygenerovaném čísle a ukládá se v OS. Takže pokud přidělujete počítačům pevné IP adresy, zatímco u IPv4 jste museli sahat do konfigurace jen když shořela síťovka, u IPv6 musíte měnit nastavení kdykoli se na klientském počítači přeinstaluje OS. Když je tam dual-boot, bude mít dvě různé adresy. Po každém nabootování z LiveCD dostane novou adresu. Rozlišovat klienty bootující ze sítě (abychom jim poslali správný image) asi s IPv6 ani nepůjde. Naopak pokud naklonujete image na víc počítačů, tak všechny dostanou stejnou adresu.

    Identifikátor je navíc stejný pro celý počítač, ne pro rozhraní (vytvoří se podle prvního rozhraní co najde). Takže pokud se počítač někdy připojuje přes WiFi a někdy kabelem, dostane vždy tu samou adresu na různá rozhraní. A když se připojí přes obojí najednou? To jsem ještě neměl odvahu zkusit...

    A pak se diví, že IPv6 nikdo nenasazuje.

  3. 2. 08. 2010, 06:15 ondra.novacisko.cz napsal:

    Nechápu, proč to nezustalo po staru. DHCP dnes nabizi kazdy trochu inteligentni router. Vicemene stacilo, aby se DHCP plne integroval do kazdeho routeru (samozrejme volitelně zapínatelnou, nebo inteligentní, kdy se dva routři na síti domluví, kdo bude primar) a autokonfigurace je zbytecna.

  4. 2. 08. 2010, 09:30 Ondřej Caletka napsal:

    [2]: Přesně. Ono použití unikátního identifikátoru DUID je právě vedeno snahou, aby DHCP server mohl rozpoznat, že přes Wifi i přes Ethernet i přes Bluetooth se ho dožaduje pořád ten samý počítač a mohl být například správně zaregistrován v DNS, pokud to DHCP server dělá. To na první pohled vypadá jako dobrá myšlenka, praktická realizace kulhá na obě nohy, přesně jak jsi napsal.
    Především základní otázka zní, co je to vlastně z pohledu sítě počítač. Podle DHCPv4 je počítačem síťová karta, což sice není úplně správné, ale rozhodně je to mnohem více správné než situace v DHCPv6, kde je "počítačem" operační systém.

    Pak bych také přihodil že použití MAC adresy jako identifikátoru rozhraní u bezestavové IPv6 adresy není jedinou možností. Spousta IPv6 ready zařízení implementuje tzv. adresy pro ochranu soukromí, tedy identifikátory, které se v čase mění. Zkuste si pak vystopovat, který z 253 počítačů na segmentu z této adresy např. odesílal miliony spamů.

  5. 2. 08. 2010, 10:04 davro napsal:

    kecy v kleci. IPv6 se samozřejmě bez DHCP serveru obejde. Autor příspěvku totiž nepochopil, že věci jako DNS, NTP servery mají být řešeny jinak, například pomocí pevných anycastových adres. NTP už svoji anycastovou adresu má, některé další služby taky. DNS serverům v nejbližší době přibyde rozšíření do router advertisement, takže jsou v podstatě minimálně 3 metody, jak DNS v IPv6 řešit.

    IPv6 není určena jenom pro normální počítače, ale také například pro sensorové sítě, které DNS server opravdu nepotřebují a autokonfigurace je pro ně naopak dost zásadní.

  6. 2. 08. 2010, 10:27 BobTheBuilder napsal:

    [4] ano, je problém identifikovat zdroj spamu - musíte zkrátka síť monitorovat a zaznamenávat, kdy která IPv6 adresa patřila příslušné MAC adrese. Ale nakonec s DHCPv4 na tom nejste o moc líp, snad jen, že to většinou najdete v logu DHCP a nemusíte kvůli tomu provozovat nějaký arpwatch nebo něco.
    Ale v IPv6 síti stejně musíte pár věcí (víc) hlídat, zejména falešný router advertisement, který vám do sítě vnese kterýkoliv uživatel Windows, když párkrát blbě na něco klikne.
    U IPv4 více méně stačilo hlídat falešné DHCP servery a ručně nakonfigurované IP adresy. Pokud toto u IPv4 nehlídáte, tak toho nemusíte ani moc hlídat u IPv6 a nenechte se moc znervóznit diskusemi tohoto typu. Ale hlídat byste to měli :-)

  7. 2. 08. 2010, 10:34 Miloss napsal:

    No.. dovolím si opravit významy příznaků v router-advertismentu. Je to opačně.

    Příznak M => žádej vše od (stateFUL) DHCPv6 (příznak O se ignoruje)
    Příznak O => žádej zbytek od (stateLESS) DHCPv6
    ani M, ani O => máte smůlu, DHCPv6 tu není

  8. 2. 08. 2010, 14:14 8an napsal:

    [4]: Přesně, a já na síti potřebuju aby IPv6 adresy byly statické, pevné pro každý počítač, kvůli DNS, QoS, sledování, grafům... Takže jediná možnost byla použít autokonfiguraci bez privacy extensions a firewallem kontrolovat, jestli adresa opravdu odpovídá MAC. V Linuxu a na Macu je to v pohodě, ve Windows si musí lidi ty privacy extensions vypnout, jinak jim IPv6 nepojede. Ideální by bylo kdyby každý měl svůj router, jenže jsem zatím žádný a podporou IPv6 nebo aspoň kompletními zdrojáky firmwaru nenašel.

  9. 2. 08. 2010, 15:08 davro napsal:

    [8] cokoliv s OpenWRT?

    Jinak těm Windows obvykle IPv6 pojede nějakým tunelem, nejčastěji Teredo, takže mizerně.

  10. 2. 08. 2010, 18:36 8an napsal:

    [9]: OpenWRT bohužel zatím nemá webové rozhraní použitelné pro běžné uživatele, a nevím jestli někdy bude :-(

    Windows zdá se nespouští Teredo, pokud vidí router advertisements. Takže stačí na požadavky z "nesprávné" IP adresy posílat ICMP6 destination unreachable a pak Windows přejdou na IPv4 fallback. Teda vlastně je potřeba posílat TCP resety, to je další bug, narozdíl od normálních OS Windows ICMP6 destination unreachable ignorují a čekají na timeout.

  11. 2. 08. 2010, 22:03 Substance242 napsal:

    Pripomína mi úvod článku Douglasa Adamsa? :-)

  12. 3. 08. 2010, 07:18 ... napsal:

    [5] On nemyslel asi adresu DNS servera, ale pevnu IP, na ktoru existuje nejake DNS meno. Napr. chcem klientske stanice volat jozko.doma.net, janko.doma.net, co pri autokonfiguracii asi nejde.

  13. 3. 08. 2010, 13:40 Ondřej Caletka napsal:

    [6]: Falešné RA jsou taky problém. Zatímco k podvržení DHCPv4 je potřeba počkat na klienta, mechanizmem RA může kdokoli všem ostatním vnutit routu s vysokou prioritou a vesele si MitMovat. Jediné mně známé protiopatření jsou chytré a drahé switche s RA snoopingem.

    [8]: Přitom by stačilo tak málo, do ohlášení směrovače přidat jeden flag, který by říkal: "V této síti platí jen adresy s identifikátory rozhraní, odvozenými z MAC adres." Každý počítač by se podle toho zařídil, a třeba se i dotázal uživatele, zda má zájem připojit se do sítě, která neochrání jeho soukromí.

    [9]: LuCI Essentials je imho ve stejné úrovni složitosti, jako jiné, uzavřené platformy domácích routerů.

  14. 3. 08. 2010, 23:02 mangan napsal:

    Re 2. 08. 2010, 10:04 davro:
    Kecy v peci. IPv6 se samozřejmě bez DHCP serveru obejde, ale automatická konfigurace v IPv6 ne. davro totiž nepochopil, že v srpnu 2010 spousta věcí není řešená jinak, takže je v podstatě jediná možnost, jak DNS v IPv6 řešit.

  15. 3. 08. 2010, 23:05 mangan napsal:

    Re 2. 08. 2010, 10:34 Miloss:
    Buď jsem četl dokumenty vycházející z nějaké starší specifikace, nebo jsem jen nepozorný čtenář, ale o příznaku O jsem neměl ani potuchy.

    Děkuji za korekci a poučení. ;)

  16. 4. 08. 2010, 09:27 davro napsal:

    [14] davro totiž ví víc než mangan, ví, že DNS se bude přidávat do RA.

  17. 4. 08. 2010, 11:13 mangan napsal:

    Re 4. 08. 2010, 09:27 davro:
    Škoda, že nejdou psát zápisky z budoucnosti, to by jistě mangan sepsal něco úplně jiného. Třeba by se podíval, jak bude řešeno předávání názvu lokální domény.

  18. 4. 08. 2010, 15:39 davro napsal:

    [17] nečekaně úplně stejně.

  1. 1 Trackback(s)

  2. Čvc 30, 2010: Linux Blog » Blog Archive » O autokonfiguraci v IPv6

K tomuto spotu není povoleno přidávání komentářů.