Skip Ribbon Commands
Skip to main content

Ondrej Sevecek's Blog

:

Engineering and troubleshooting by Directory Master!
Ondrej Sevecek's Blog > Posts > Go 4 IPv6 & WIN
září 15
Go 4 IPv6 & WIN

Na Živě mám už nějakou dobu první článek ze své série o protokolu IPv6 a tak sem se rozhod, že si ho tu přetisknu. Zrovna tam vyšel druhý díl, který bude mít ještě další pokračování (hlubší tutorial) o tunelování, IP-HTTPS apod. Jedná se o takový velice letmý úvod a návod na IPv6 protokol a obsahuje jakési povzbuzení, abyste se do toho případně s Windows vrhnuli. Všechno se postupně objeví tu na mém blogu, jen musíte být trpěliví :-) nemůžu to vydat dřív než na www.zive.cz.

Go 4 IPv6 & Win

O IP protokolu verze 6 se již nějakou dobu mluví. V poslední době se začínají množit informace, že se velmi rychle blíží konec volných IPv4 adres. Pokud se tyto sporadické informace donesou na veřejnost, vzniká občas obava, že s jejich koncem také skončí internet a nastane konec světa. Mnohá IT prostředí začínají pomalu snít o tom, že by v budoucnu na IPv6 přešla a někteří administrátoři se již chlubí tím, že jejich síťové prvky IPv6 již plně (mnohdy jen „plně“ :-)) podporují. To je ale všechno.

Ve skutečnosti téměř nikdo IPv6 nepoužívá. Proč? Protože je k tomu nikdo a nic nenutí. Business IPv6 prostě prozatím nepotřebuje. Neexistují prozatím žádné podstatné webové služby, které by běžely pouze na IPv6. Žádný internetový poskytovatel nenabízí jen čistou IPv6 konektivitu a co víc, vůbec jen minimum poskytovatelů IPv6 konektivitu nabízí. Druhý důvod je neznalost správců a tím pádem logický strach z nové technologie.

Jak to vlastně funguje? Budou to podporovat moje aplikace? Můžu to začít používat a experimentovat hned? Jak vlastně později přejdeme?

Konec mýtu

Nejprve bych vás rád uklidnil. Fakt že dojdou/došly IPv4 adresy je sice pravdivá, ale ještě pěkných několik let to mnoho věcí nezmění. Ve skutečnosti došly pouze volné IANA bloky. To znamená, že centrální celosvětová autorita přestala rozdělovat volné rozsahy regionálním autoritám, což jsou například evropské RIPE NCC, nebo americký ARIN a asijský APNIC. Nic to neříká o tom, kolik tyto autority mají volných rozsahů pro svoje zákazníky, tedy další národní autority a poskytovatele. Také to neříká nic o volných rozsazích, které mají k dispozici právě tito poskytovatelé.

Pokud chcete, podívejte se sem na přehled počtu veřejných IP alokovaných každému českému poskytovateli:

http://www-public.it-sudparis.eu/~maigron/RIR_Stats/RIPE_Allocations/IPv4/Alpha/CZ.html

Neříká to také nic o tom, že jakmile adresy dojdou, ukončí se provoz IPv4 internetu. Nové IPv4 veřejné adresy si prostě jen již nebude možné pořídit, ale stávající vám nikdo nevezme.

Téměř žádné podnikové IT není na přechod na IPv6 ani připraveno, natož aby mělo vůbec nějaké konkrétní plány jak to v budoucnu podniknout. Domácí uživatelé o IPv6 ve většině ještě nikdy ani neslyšeli. K tomu se přidává i fakt, že ani levná síťová zařízení, jako jsou domácí routery, i ty nejnovější, ještě ve většině IPv6 vůbec nepodporují. Pokud podporují, vůbec tento fakt nijak nezveřejňují ani „neprodávají“. Bude tedy ještě pěkných pár let trvat, než si nějaký poskytovatel obsahu (CP – Content Provider), tedy nějaký webový business, dovolí natvrdo ukončit provoz na IPv4.

Rovnou si můžete vyzkoušet sami, které z vašich oblíbených webových služeb vůbec běží i na IPv6 adresách. Je to jednoduché. Pokud máte Windows Vista a novější operační systém, stačí napsat do příkazové řádky:

nslookup <adresa-webove-stranky>

Windows Vista totiž vždy překládá jméno primárně na IPv6 adresu (hledá tedy tzv. AAAA záznamy) a starší IPv4 adresy (tedy starší A záznamy) vrací až jako další v pořadí. Ve výpisu NSLOOKUPu to poznáte jednoduše. Zkuste si ho vyvolat vícekratá za sebou. Pokud je v seznamu IPv6 adresa, bude vždy první, i když následující IPv4 adresy se budou "točit" (což je DNS round robin).

V následující tabulce najdete rovnou odpovědi i s odpovídajícími adresami:

 

Stránka

IPv6?

www.microsoft.com

Ne

download.microsoft.com

Ne

update.microsoft.com

Ne

www.google.com

Ano, 2a00:1450:8007::69

www.mfcr.cz

Ano, 2001:af0:fff0:fe00:dead:face:c156:7b93

www.mpo.cz

Ano, 2001:af0:fff8:fff0::a

www.mojedatovaschranka.cz

Ne

www.seznam.cz

Ne

www.centrum.cz

Ne

www.alza.cz

Ne

www.gopas.cz

Ne

 

Pokud by se vám nedařilo získat tyto odpovědi z vašeho vlastního DNS serveru (tedy toho výchozího, co zobrazuje NSLOOKUP), můžete si počítač přepnout na veřejný google DNS server, který IPv6 podporuje zaručeně. Stejně tak si můžete přenastavit například domácí routříky, aby tyto veřejné DNS servery používaly:

NSLOOKUP
server 8.8.8.8
server 8.8.4.4

IPv6 adresy těchto dvou DNS serverů pro vás nejspíš dosažitelné nebudou, takže je tu uvádím jen pro rychlou referenci (2001:4860:4860::8888, 2001:4860:4860::8844).

Buďte připravení

Pokud máte Windows Vista a novější operační systémy (Windows 7, že?), nic vám ale nebrání začít IPv6 používat hned. Můžete zkoušet, testovat a zvykat si na nový formát adres a zkoušet žít s IPv6 paralelně. Tento článek by vám měl poskytnout základní informace jak na to.

Podpora IPv6 v operačních systémech

Nejprve k rodině Windows XP a Windows Server 2003. Tyto operační systémy mají základní podporu protokolu IPv6 integrovánu. Pokud ho ale chcete používat, musíte si tento protokol přiinstalovat ručně – buď pomocí GUI, nebo přes NETSH z příkazové řádky.

netsh interface ipv6 install

Toto vám ale nainstaluje pouze IPv6 protokol, který na Windows XP/2003 nemá žádné GUI nastavení. Všechno, včetně IPv6 adresy, nebo masky sítě, musíte nastavovat ručně zase z příkazové řádky pomocí NETSH.

Windows XP může fungovat jako klient IPv6 a některé jeho aplikace to podporují. Nemůžete si ale být nikdy jen tak jisti, které aplikace to jsou. Pokud máte pochybnosti, podívejte se do následující tabulky, nebo zkonzultujte dokumentaci výrobce:

 

Windows XP/2003 klientské aplikace podporující IPv6

Klient DNS

Internet Explorer 5.0

Windows Explorer (sdílené soubory)

Klient sdílených souborů

Klient Active Directory a Kerberos

Windows Firewall

Office 2007

 

Ani pokud to daná aplikace podporuje, ještě to neznamená, že je podpora kompletní. Třeba v případě Windows Firewallu to znamená, že můžete udělat výjimku, nebo naopak blokovat TCP nebo UDP porty. Nelze ale nijak rozlišit, jestli se jedná o IPv4 nebo IPv6 protokol. Pokud uděláte nastavení, prostě bude platit pro oba. Nelze také omezit IPv6 rozsah vzdálených adres.

Pokud byste chtěli provozovat IPv6 služby na Windows Server 2003, budete také podstatně omezeni. V následující tabulce uvidíte jejich seznam.

 

Služby Windows Server 2003 podporující IPv6

Poznámka

DNS Server

 

 

 

Active Directory

 

 

 

IIS 6.0

Pouze HTTP

Routing and Remote Access

Pouze směrování a přechodové technologie 6to4, Teredo a ISATAP. Bez podpory VPN ani IPv6 over PPP

 

Podpora IPv6 na Windows Vista a novějších

Windows Vista, které vyšly roku 2006, už mají kompletní podporu IPv6, stejně jako Windows Server 2008 a všechny novější systémy. Znamená to tedy, že každá aplikace nebo služba, která má mít podporu na Windows Vista a novějších, musí plně pracovat na IPv6. Do všech aplikací musíte být například schopni zadávat IPv6 adresy a všechny služby musí umět poslouchat na IPv6 adresách.

To je například i důvod, proč můj oblíbený port scan PORTQRY není podporován na Windows 7. Prostě jenom proto, že neumí pracovat nad IPv6.

IPv6 protokol je automaticky nainstalován a nastaven, aby získával IPv6 adresu automaticky, podobně jako je tomu u IPv4 protokolu. Oba protokoly jsou nainstalovány paralelně a váš počítač může mít obě dvě IPv4 i IPv6 adresy (to je tedy stejné jako na Widnows XP, samozřejmě).

DNS klient se vždy snaží přeložit primárně IPv6 adresu pomocí DNS, ptá se tedy primárně na AAAA záznamy a starší IPv4 adresy vrací v seznamu až jako další.

To je samozřejmě informace pouze o nástrojích těchto operačních systémů. Ani mnoho utilitek, které si můžete stáhnout z webu Microsoftu IPv6 nepodporuje. Tak je tomu například u mého oblíbeného PORTQRY, sakra.

Co se týče serverových služeb, některé nejnovější programy IPv6 stále nepodporují. Jmenujme firewall a aplikační a HTTPS proxy Threat Management Gateway 2010 (TMG), kde je to velká škoda. Důvodem dosud nezavedené podpory je zřejmě to, že Microsoft musel přepracovat architekturu Kernel mode ovladače na novou pro Windows 2008 a nechtěl se pouštět do větších akcí a zbytečně vydat něco neotestovaného, co by mohlo obsahovat bezpečnostní trhliny.

V následující tabulce uvidíte rychlý přehled:

Aplikace a její podpora IPv6

Poznámka

Exchange Server 2007

Plná podpora pouze pokud běží na Windows 2008

SharePoint Services 3.0

SharePoint Server 2007

Plná podpora

SQL Server 2005

Plná podpora

ISA Server 2006

Žádná podpora

Threat Management Gateway 2010

Částečná podpora

Musíte už instalovat speciálním postupem

Funguje jen jako IPv6 enpoint

Neumí směrovat ani NATovat IPv6

Nemá IPv6 HTTP/S proxy

Nelze používat IPv6 adresy v pravidlech

Lync Server 2010

Žádná podpora

Co tedy můžete?

Pokud chcete experimentovat, doporučuji Windows Vista a novější. Skoro nic vám nebrání nastavit si nějakou IPv6 adresu a začít zkoušet komunikaci mezi podobně nastavenými počítači na LAN. Na Windows Server 2008 si můžete nainstalovat DHCP server a rozdělovat IPv6 adresy dynamicky. Pokud máte Windows Server 2003 nebo novější DNS server, ten bude schopen dynamicky aktualizovat a překládat IPv6 adresy vašich klientům.

Můžete postupně začít s některými službami a prostě je zprovoznit na IPv6 a zkoušet z klientů, jestli to bude fungovat. Jediným omezením tu budou aplikace třetích výrobců. V okamžiku, kdy se cílové jméno serveru na který přistupujete dá přeložit v DNS na IPv6 adresu, klient ji dostane jako primární. Je časté, že aplikace třetí strany, která výsledek takového překladu dostane, nebude fungovat.

To nemusí být ale tak velký problém. Stačí prostě počítačům, na které se musí připojovat takováto „špatná“ aplikace prostě nepřidělit IPv6 adresu.

Úvod do IPv6 adres

Pojďme tedy prozkoumat, jak fungují IPv6 adresy. Tento nový protokol má samozřejmě ještě mnohé další vlastnosti, ale pro začátek se musíte přestat bát jen IPv6 adres.

Pokud si protokol IPv6 nainstalujete na Windows XP, nebo ho nevypnete na Windows Vista a novějších, automaticky si generuje unikátní IPv6 adresu. Následují ukázky z GUI konfigurace Windows 7 a příkazu IPCONFIG na Windows XP a Windows 7.

V obrázcích si všimněte, jak to funguje. Aniž byste měli v síti jakýkoliv další IPv6 počítač, ani IPv6 DHCP server, tak si stanice vygeneruje unikátní IPv6 adresu. Na Windows XP k tomu použije MAC adresu příslušné síťovky. Ta sama o sobě musí být unikátní, takže je to v pořádku. Windows Vista a novější, kvůli jakési ochraně soukromí, generuje tuto automatickou adresu náhodně.

Oba systémy vyzkouší unikátnost takové adresy na svém segmentu sítě (pomocí multicast, tedy jen po nejbližší router) a jen pokud by se objevila kolize, nenastavily by si žádnou IPv6 adresu. To je ale hodně malá pravděpodobnost.

Všimněte si, že IPv6 adresa je hodně dlouhá a obsahuje šestnáctkové cifry. To je uživatelská nutnost. IPv4 adresy jsou složeny jen ze čtyř bajt, zatímco IPv6 adresy jsou 128 bitové, tedy šestnácti bajtové. K formátu detailněji za chvilku. V tomto okamžiku řekněme pouze to, že adresa je tedy ve formátu osmi dvoubajtů oddělených dvojtečkami. Tedy něco jako:

xxxx : xxxx : xxxx : xxxx : xxxx : xxxx : xxxx : xxxx

Například:

2001:0DB8:0000:0000:02AA:00FF:C0A8:640A
FE80:0000:0000:0000:9076:12DD:5D0F:1755
FE80:0000:0000:0000:0215:5DFF:FE0A:0505

Pokud jsou v dvoubajtu nuly z leva, je možné je vynechat:

FE80::9076:12DD:5D0F:1755
FE80::215:5DFF:FE0A:505

V předchozích výpisech jste viděli, že na konci těch automatických IPv6 adres bylo ještě nějaké číslo oddělené procentem (%). To je tzv. Interface ID, číslo síťové karty. Jeho hodnota je unikátní na vašem stroji. Pokud máte více síťových karet, každá bude mít jiné Interface ID. Můžete klidně používat tyto automatické adresy k přístupu na vzdálené počítače. Musíte ale uvádět u cílové adresy vzdáleného počítače také svoje Interface ID. Například, pokud by vaše konfigurace byla:

Můj stroj:	FE80::9076:12DD:5D0F:1755 %16
Vzdálený stroj:	FE80::215:5DFF:FE0A:505 %5
Ping FE80::215:5DFF:FE0A:505%16

Všimněte si, že sice zadávám onu cílovou adresu vzdáleného počítače, ale k tomu svoje vlastní Interface ID. Děláte to tak proto, aby systém věděl, přes kterou síťovku má daný požadavek odeslat. Tohle je potřeba dělat v případě, že máte více síťových karet, jestliže máte jen jednu, na procenta klidně zapomeňte.

IPv6 adresu můžete zadávat i do jiných programů, než jen PING. Na následujících obrázcích uvidíte některé příklady. Jen si všimněte, že je někdy nutno ji ohraničit do hranatých závorek, aby se to nepletlo s oddělovačem čísla portu:

Poznámka: Automatické adresy, které jsme právě ukázali, se nazývají Link Local (unicast) adresy. Pro zajímavost, tyto adresy se neregistrují automaticky do DNS. Tyto adresy jsou nesměrovatelné. Stanice prostě nepoužije výchozí bránu (default gateway). Routery takové pakety nepřehazují mezi svými porty. Na každé straně routeru mohou být náhodou dokonce stejné Link Local IPv6 adresy, takže tyto adresy jsou zaručeně unikátní pouze na vašem segmentu.

Automatický překlad jmen

Pro Link Local adresy existuje také automatický překlad jmen počítačů. Je dokonce zapnut ve výchozím stavu, takže pokud mají dva počítače na stejném segmentu sítě (na stejné straně routeru) IPv6 protokol zapnut, můžete je klidně pingnout i jménem a ono se to samo přeloží na jejich IPv6 adresu, jak je například na obrázku:

Nepotřebujete vůbec DNS server. Tato metoda zvaná Link Local Multicast Name Resolution (LLMNR) je ve výchozím stavu zapnuta a používá jednoduchý multicast. Vaše stanice prostě zakřičí do sítě „haló, kdo se tu jmenuje PC40“ a pokud tam nějaké PC40 je, tak jednoduše odpoví se svou Link Local IPv6 adresou.

Z tohoto důvodu, tedy kvůli tomu, že IPv6 překlad jmen je primární (ať už LLMNR, nebo i v případě, že máte DNS) je možné nově například pro PING příkaz určit, že má raději použít IPv4 jmenný překlad pomocí parametru -4 (poněkud netradiční, že?):

Směrovatelné adresy a masky sítí

Samozřejmě si můžete IPv6 adresy nastavovat ručně, nebo přidělovat například pomocí Windows Server 2008 DHCP serveru. V takovém případě si zřejmě nastavíte směrovatelné adresy a definovali byste si i masku sítě.

Funguje to úplně stejně jako s IPv4 adresami a jejich maskami. Jen si musíte zvyknout na mnohem delší a nepřehlednější zápisy. Délka masky se uvádí počtem bitů z leva. Posledních 64 bitů je vyhrazeno pro číslo zařízení. Nejdelší masku tedy můžete volit 64 bitů.

Směrovatelnou IPv6 adresu (ale nejspíš celou síť) vám buď přidělí poskytovatel, nebo si můžete nastavit cvičně vlastní z privátního rozsahu. Ano, stejně jako se starším IPv4 máte definován volný rozsah, ze kterého si můžete přidělovat jakkoliv chcete, na internetu se to ale objevit nesmí. Některé důležité adresy jsou v následující tabulce:

Adresa

Význam

Porovnání s IPv4

:: /128

Bez adresy

0.0.0.0

::1 /128

Loopback, localhost

127.x.x.x

FE80:: /10

Link Local unicast

169.254.x.x

FC00:: /7

Unique Local unicast

10.x.x.x, 192.168.x.x, 172.16.x.x-172.31.x.x

Většinu ostatních síťových adres byste mohli s určitými výjimkami dostat přiděleny jako veřejné. Některé další rozsahy jsou samozřejmě také vyhrazené pro různé účely (jako je dokumentace, multicast a přechodové technologie), ale to v tomto okamžiku není podstatné.

Všimněte si také, že v předchozí tabulce jsou masky pro Link Local a Unique Local adresy podivně krátké. Znamená to, že jejich síť nemusí začínat jen předepsaným FE80, nebo FC00. Podle následující tabulky to může být například:

Link Local Address

Unique Local Address

FE80:: / 10

FE8 ...

FE9 ...

FEA ...

FEB ...

FC00:: / 7

FC ...

FD ...

Tak hurá na to!

Na pokusy používejte privátní FE80:: rozsah. Buď si adresy nastavte ručně, nebo je přidělujte z DHCP serveru (který mimochodem funguje principiálně víceméně stejně jako jeho IPv4 varianta). V následujícím obrázku je ukázka jednoduché privátní konfigurace:

Pokud chcete, můžete si adresy zpřehlednit. IPv6 adresy můžete zadávat na konci stejným způsobem, jako to je v případě starších IPv4 adres. Nemusíte tedy nic konvertovat na hexadecimální formát a přitom budete mít „podobnou“ IPv6 i IPv4 adresu. Používám to například takto a Windows si to samy převedou:

Jen upozorňuji, jakmile si zadáte adresu ručně, nebo ji dostanete z DHCP serveru (pozor, i routery mohou přidělovat adresy), tak se bude automaticky registrovat do DNS a Windows Vista a novější klienti ji začnou využívat.

Závěr

A to je pro dnešek vše. Tento bleskový úvod by vám měl stačit k tomu, abyste se vrhli na pokusy. Prostě si dejte IPv6 adresu, zkuste PING, zkuste DHCP, ověřte, že se adresa registruje v DNS serveru a začněte je prostě aktivně používat. Samozřejmě, pokud používáte směrování (máte router) i uvnitř vaší lokální sítě, museli byste ho dostatečně nastavit, aby byl schopen vaši IPv6 komunikaci směrovat (pokud to tedy dané zařízení vůbec umí). Budete lépe připraveni na pozdější velký třesk, až budete muset celou síť překlopit na IPv6 kompletně.

V příštím článku se podíváme na fungování IPv6 detailněji a vysvětlíme si i různé přechodové technologie jako je 6to4, Teredo, ISATAP nebo zbrusu nový IP-HTTPS.

 

Comments

There are no comments for this post.

Add Comment

Title


Pole Title nemusíte vyplňovat, doplní se to samo na stejnou hodnotu jako je nadpis článku.

Author *


Pole Author nesmí být stejné jako pole Title! Mám to tu jako ochranu proti spamu. Roboti to nevyplní dobře :-)

Body *


Type number two as digit *


Semhle vyplňte číslici dvě. Předchozí antispemové pole nefunguje úplně dokonale, zdá se, že jsou i spamery, které pochopily, že je občas potřeba vyplnit autora :-)

Email


Emailová adresa, pokud na ni chcete ode mě dostat odpověď. Nikdo jiný než já vaši emailovou adresu neuvidí.

Attachments