IPv6
Síť na Strahově podporuje moderní protokol IPv6. Pokud máš počítač s operačním systémem Windows Vista, nebo novějším, musíš si ho správně nastavit, jinak se můžeš setkat s pomalým načítáním, popřípadě nenačítáním některých služeb, které jsou poskytovány po IPv6.
Co je to IPv6 a k čemu je to dobré? http://cs.wikipedia.org/wiki/IPv6
Obsah |
Test IPv6 konektivity
Abyste otestovali nastavení svého počítače, zkuste otevřít ve svém prohlížeči některé z následujících stránek:
- http://nix.cz/cz/ipv6
- http://www.whatismyipv6.net
- http://nastroje.lupa.cz/moje-ip-adresa/
- http://ipv6-test.com/
Načte-li se stránka okamžitě, nemáte s IPv6 konektivitou problém (buď funguje, jak má – pak uvidíte svou IPv6 adresu, nebo je její podpora vypnuta – pak uvidíte svou IPv4 adresu)
Pokud se stránka načítá dlouho a nakonec se nenačte, nebo se načte s adresou IPv4, pak Váš počítač protokol IPv6 podporuje, ale nepoužívá správnou – vám přidělenou IPv6 adresu. V takovém případě byste si měli počítač správně nastavit, nebo podporu IPv6 ve svém počítači vypnout (nedoporučujeme).
Jak má vypadat strahovská IPv6 adresa
V síti SH fungují pouze IPv6 adresy, které jsou automaticky generovány z MAC adresy počítače.
Má-li počítač MAC adresu například
o0:pp:qq:rr:ss:tt,
je mu přidělena IPv6 adresa ve formátu
2001:718:2:xx:o2pp:qqff:ferr:sstt
kde xx je číslo podsítě, obvykle shodně s číslem VLANy.
Poznámka: V IPv6 se invertuje bit 1 v prvním oktetu MAC adresy, tedy z čísla 0x00 se stane 0x02, z čísla 0x04 se stane 0x06, atd...
Nastavení počítače pro IPv6
Windows Vista a vyšší
Tyto operační systémy protokol IPv6 v základní konfiguraci podporují, ale je třeba donastavit je pro použití správných IPv6 adres. K tomu slouží následující dva příkazy, které je třeba vložit do příkazového řádku v administrátorském režimu! (Start – napsat do vyhledávání cmd – kliknout pravým tlačítkem na výsledek vyhledávaní a zvolit Spustit jako správce)
netsh interface ipv6 set global randomizeidentifiers=disabled netsh interface ipv6 set privacy disabled
Toto je třeba udělat jenom jednou. Eventuálně si můžete stáhnout a spustit (opět jako správce!) nastavovací skript [1]
Windows 7: Občas se stane, že Windows 7 první z příkazů napoprvé „nepochopí,“ proto radši zkontrolujte, zda jsou „náhodné identifikátory“ ve stavu disabled příkazem:
netsh interface ipv6 show global
Některé, možná všechny, instalace Windows 7 a Vista resetují nastavení sítě do výchozího při každém startu. Jediným v současné době známým řešením je spouštět nastavovací skript po každém startu.
Poznámka: Program netsh je možné spustit i interaktivně a příkazy je možné zadávat i ve zkrácené formě, například takto:
C:\Windows\system32>netsh netsh>i ipv6 netsh interface ipv6>s g ra=d OK. netsh interface ipv6>s pri d OK. netsh interface ipv6>q
Windows XP
Tato verze Windows protokol IPv6 podporuje pouze experimentálně, proto je jeho podpora v základním nastavení vypnuta. Nechcete-li používat IPv6, nemusíte nic řešit. Chcete-li však IPv6 plně využívat, je třeba nejprve podporu IPv6 nainstalovat:
ipv6 install
Poté zakázat použití adres pro ochranu soukromí:
netsh interface ipv6 set privacy disabled
Eventuálně si můžete stáhnout a spustit nastavovací skript [2]
Mac OS X
Podle neověřených informací [3] je Mac OS X v základním nastavení schopen komunikovat protokolem IPv6 v síti SH bez dalšího nastavování.
Linux
Naprostá většina linuxových distribucí je bez jakéhokoli nastavování schopna pracovat v síti SH s protokolem IPv6. Pokud však máte nějakou novou/exotickou distribuci, co aktivuje adresy pro ochranu soukromí, musíte toto vypnout zapsáním
echo 0 > /proc/sys/net/ipv6/conf/all/use_tempaddr
Trvalého efektu dosáhnete přidáním/upravením řádku v souboru /etc/sysctl.conf
net.ipv6.conf.all.use_tempaddr = 0
Ostatní OS - obecný návod
Je třeba zakázat Privacy Extensions (RFC4941). Adresa je přidělena automaticky mechanizmem bezestavové autokonfigurace (RFC4862). Také je potřeba, aby identifikátor rozhraní použitý v autokonfiguraci byl odvozen z MAC adresy rozhraní (viz výše)
Pokročilá témata
Dva druhy přidělených adres
Na rozdíl od IPv4, kde je situace jednoduchá – přidělená IP4 je zaregistrovaná v DUSPSu, je vidět v DUSPS FindIt, exportuje se do DNS atd., tak u IPv6 je situace zajímavější – resp. přidělené IP6 jsou dvojího druhu:
- registrovaná – ručně registrovaná do DUSPSu pomocí administračního rozhraní, je vidět ve FindItu a v DNS – v podstatě stejná situace jako u IPv4
- automatická – je vygenerovaná z MAC adresy stejným postupem jako při bezstavové autokonfiguraci těm uživatelům, kteří ji nemají explicitně registrovanou přes administrační rozhraní, a objevuje se pouze v IPv6 exportech z DUSPSu (v rámci procesu automatické konfigurace aktivních prvků) a v reverzních DNS záznamech.
Důvod zavedení automatické IP6 je opět celkem prostý: ne každý uživatel nutně potřebuje mít AAAA záznam v DNS a zároveň chce, aby měl s nastavováním co nejmíň práce. A nejjednodušší je pro něj použití bezstavové autokonfigurace a vygenerování identifikátoru rozhraní z MAC adresy.
O registraci své IPv6 adresy v DUSPSu požádejte své registrátory pouze v případě, že svůj počítač hodláte provozovat jako server a nabízet služby přes IPv6. V takovém případě si nejprve zprovozněte protokol IPv6 s „automatickou“ adresou a až poté požádejte o její registraci.
DHCPv6
V současné době nelze v SH síti pro automatickou konfiguraci klientských stanic efektivně použít DHCPv6 (RFC3315). To proto, že DHCPv6 identifikuje klienty pomocí tzv. DUID (DHCP Unique Identifier), narozdíl od DHCPv4, které používá MAC adresy. Identifikátor DUID bohužel není možné snadno zjistit, navíc bývá uložen na pevném disku a mění se při každé reinstalaci OS.
Bezstavová autokonfigurace
Bezstavová konfigurace je založena na tom, že router pravidelně posílá do sítě informace o dostupném připojení: prefix dané sítě a defaultní bránu (tedy svojí adresu). A to je v podstatě všechno, co počítač potřebuje vědět k tomu, aby si sám "nakonfiguroval" připojení – pro komunikaci po IP síti (platí jak pro IPv4, tak pro IPv6) totiž potřebuje znát pouze svoji adresu a adresu nejbližšího routeru. A v případě IPv6 si svojí IP6 vygeneruje sám: vezme prefix sítě (64 b), a ten doplní zprava identifikátorem rozhraní (64 b). To může být teoreticky libovolné (hlavně, když bude unikátní v rámci podsítě a bude mít určitý formát), přičemž bezstavová autokonfigurace používá jeden z následujících způsobů: vygenerování z MAC (vloží doprostřed FF:FE a invertuje 2. bit v nejvýznamnějším oktetu), nebo vytváří identifikátory náhodně (pokud je zapnuta podpora RFC3041 Privacy Extensions) a testuje, zda již nejsou obsazeny jiným strojem.
Manuální konfigurace
Manuální konfiguraci používejte pouze, máte-li k tomu vážný důvod.
Společné parametry pro konfiguraci
- IPv6 adresa se vytvoří z prefixu podsítě (ta část až po :: z veřejné IP rozsahy), za který se připojí identifikátor rozhraní vytvořený z MAC adresy (viz výše)
- Adresa výchozí brány je vždy adresa se stejným prefixem, ale identifikátorem rozhraní ::1
- Délka prefixu podsítě je vždy 64 bitů
- Adresy DNS serverů:
- 2001:718:2:0::240
- 2001:718:2:0::241
Windows Vista a vyšší
Pokud chceme změnit nastavení IPv6 pro konkrétní připojení (v našem příkladu je pojmenováno pro snažší manipulaci jako LAN), je třeba se nejdříve proklikat až k tomu správnému dialogovému oknu.
Začneme tím, že si přes Control Panel -> Network and Sharing Center otevřeme okno zobrazující stav daného připojení:
Poté klikneme na Properties, a otevře se nám:
Poté vybereme protokol Internet Protocol verze 6 (TCP/IPv6) a zvolíme Properties (nebo jenom dvojklik).
Otevře se okno se základním nastavením IPv6 (obdobné tomu pro IPv4). Pokud chceme, aby se používaly
automatické konfigurační mechanizmy, vybíráme volby Obtain ... automatically
(v české verzi to bude něco na způsob Získat ... automaticky) – přičemž pro DNS platí,
že pokud vybereme manuální nastavení IP6, tak už musíme manuálně vyplnit i DNS servery.
V případě, že chceme nastavit IP6 ručně zvolíme Use the following IPv6 address, a vyplníme následující údaje (v našem příkladu jsme zvolili adresu z 1. rozsahu bloku 4 – viz IP rozsahy):
V konkrétním případě pak budou IP6 počítače a IP6 brány záviset na tom, v kterém rozsahu se daný počítač nachází,
ale ostatní údaje (délka prefixu podsítě (64) a DNS servery) budou pro SH vždy stejné.
A samozřejmě nezapomenout potvrdit pomocí tlačítka OK (včetně okna LAN Properties).
Windows XP
Na Windows XP a Windows 2003 Server není pro konfiguraci IPv6 k dispozici GUI, takže je třeba vše řešit prostřednictvím příkazového řádku:
netsh interface ipv6 set address <název nebo index rozhraní> <IPv6 adresa> netsh interface ipv6 set route ::/0 <název nebo index rozhraní> <IPv6 adresa výchozí brány> metric=0
První příkaz nastaví danou adresu na příslušné rozhraní, druhý nastaví výchozí IPv6 bránu. Parametr metric=0 je tam pro jistotu, aby zadaný záznam ve směrovací tabulce měl přednost před ostatními záznamy (například získanými autokonfigurací).
Název rozhraní obvykle bývá (pokud si ho uživatel explicitně nepřejmenuje) něco ve stylu Local Area Connection <číslo> (příp. v české verzi Připojení k místní síti<číslo>). V takovém případě (tj. pokud obsahuje mezery) je třeba použít uvozovky: "Local Area Connection <číslo>" (aby to pochopil jako 1 parametr).
Druhá (jednodušší) možnost je použít index příslušného rozhraní. Ten se zjistí z výpisu rozhraní pomocí následujícího příkazu:
netsh interface ipv6 show interface
Linux
Konfigurace IPv6 na linuxu je obdobná s konfigurací IPv4. Je možno použít buď zavržený tradiční příkaz ifconfig, nebo moderní příkaz ip z balíku iproute2
Vypsat všechny IPv6 adresy můžeme příkazem
ip -6 addr show
Nastavit IPv6 adresu lze příkazem
ip -6 addr add dev <název rozhraní> <IPv6 adresa>/64
Nastavit směrování lze pomocí
ip -6 route add default via <Adresa výchozí brány> metric 0
Testování
Pro testování konektivity je možné používat standardní nástroje zjišťování dostupnosti a trasování. Na Windows jde o nástroje ping a tracert, na Linuxu pak ping6 a traceroute6
DNS
Obsah odpovědi od DNS serveru není závislý na protokolu, kterým byl dotaz položen. To znamená, že pro funkčnost IPv6 není nutné pokládat dotazy DNS serveru přes IPv6 protokol.
Některé servery, jako například Google ale nabízejí IPv6 (AAAA) záznamy jen určitým resolverům. Jeden takový veřejně přístupný nabízí firma Hurrican Electric. Chcete-li si tedy vyzkoušet všechny služby Google po IPv6, nastavte si jako DNS resolver 2001:470:20::2, popřípadě 74.82.42.42.
IPv6 na serverech SH
Z důvodu jednoduchosti se rozhodlo (viz konference admins - https://lists.sh.cvut.cz/cgi-bin/mailman/private/admins/2008-August/002197.html), že IPv6 adresy serverů (resp. jejich identifikátory rozhraní) se budou tvořit následovně:
- Vezme se dekadický zápis posledního oktetu z IPv4 adresy příslušného serveru a jeho BCD kód se použije jako interface-ID.
Lidově řečeno: vezmete poslední část z IPv4 adresy (= za poslední tečkou), a tu doplníte sem:
- Pro VLAN 6 (rozsah 147.32.127.192/26) – 2001:718:2:0::<sem doplnit>
- Pro VLAN 7 (rozsah 147.32.30.128/25) – 2001:718:2:1::<sem doplnit>
Viz třeba service1 – 147.32.127.214 (2001:718:2::214)
Pozn.: u vlan6 můžete samozřejmě tu 0 vynechat (dle pravidel pro psaní IPv6 adres);-)
Podivné IPv6 adresy začínající 2002
Tyhle adresy se vám na rozhraní objeví proto, že někdo (obvykle nic netušíc) má na MS Windows zapnuté „Sdílení připojení k Internetu“ a díky tomu zároveň nabízí tunelované 6to4 adresy. IPv4 adresu takového nešťastníka zjistíte převodem osmi znaků následujících po 2002 z šestnáckové soustavy. Například 2002:9320:7201:… => 0x93=147, 0x20=32, 0x72=114, 0x01=01. Pro převod lze použít i skriptík: [4] Přijdete-li za majitelem této IPv4 adresy, objevíte obvykle Windows Vista, nebo Windows XP media center s nic netušícím majitelem.
Nejjednodušší cesta, jak problém opravit, je spustit příkazový řádek jako administrátor (Vista: Programy->Příslušenství->Příkazový řádek, pravým tlačítkem a „Spustit jako Správce“) a zadat:
netsh int ipv6 6to4 set rout disable
Problém se tím vyřeší okamžitě, nicméně přidělené adresy zůstanou v platnosti, dokud nevyprší jejich doba platnosti, nebo je ručně neodstraníte.
Pokud výše uvedený postup nefunguje, můžete zkusit (neověřeno)
netsh int ipv6 show int
Zapamatujte si index rozhraní, které míří do sítě SH (4 nebo více)
netsh int ipv6 set int <index rozhraní> disabled disabled
Tím se na daném rozhraní zakáže přeposílní paketů a ohlašování směrovaného rozsahu.
Poznámka: Program netsh je možné spustit i interaktivně, obsahuje vestavěnou nápovědu.
Odkazy
Webové servery podporující IPv4 i IPv6 protokol (dual-stack)
- http://www.root.cz
- http://www.lupa.cz
- http://www.ripe.net
- http://www.sixxs.net
- http://www.cesnet.cz
- http://www.metroweb.cz
IPv6 varianty známých webů
Weby o IPv6
- Zajíc v pytli – blog o IPv6
- IPv6.cz – CESNETí web o IPv6 (wiki)
- IPv6 na Pod-O-Lee – obsahuje celkem dobré návody na konfiguraci
- Původní Bobkův web o IPv6 – některé informace už jsou neaktuální (např. rozsahy)
Ostatní
- Cool IPv6 Stuff
- The Day The Routers Died... – trochu odlehčený pohled na problematiku nasazování IPv6 do praxe (na motivy písně American Pie);-)