Internet Protocol v6 (IPv6) v sítích s operačními systémy Microsoft

Následující článek se snaží být návodem (tutorial) jak pracovat s Internet Protocol v6 (IPv6) v sítích s operačními systémy Microsoft.

Článek je pokračováním velmi lehkého úvodu z článku pro začátečníky a rozebírá detailně konfigurační kroky nutné k tomu, abyste rozchodili IPv6 v lokální síti včetně DHCP a DNS služeb. Čtení předpokládá jen velmi základní znalost IPv6 protokolu a jeho adres, tak jak bylo popsáno v mém předchozím článečku určeném pro širokou veřejnost.

Opakování z minula

Minule jsme se začali bavit o nasazení IPv6 (Internet Protocol v6) v lokální síti. Prozatím jsme vynechali pokročilejší témata jako je směrování a celou záležitost jsme zjednodušili na malou síť s jedním privátním IPv6 rozsahem (FC00::). Neočekávali jsme, že bychom posílali pakety nikam jinam, než na nejbližší servery ve stejné VLAN. Samozřejmě jsme očekávali současný provoz IPv4. Bez něho by si naši uživatelé moc neužili :-) A pomalinku jsme rozjížděli některé další lokální IPv6 služby.

Příkladem může být následující obrázek. Budeme z něj vycházet i v dalších konfiguracích. Původní síť vypadala následovně. V obrázku si všimněte pouze IPv4 adres. Postupně to upravíme a zavedeme IPv6 protokol:

01_ipv6-schema-base-ipv4-only.png

Po přečtení úvodního článečku bychom mohli přijít například s následujícím nastavením. Celou síť London jsme nastavili staticky na rozsah FC00:1::/64. Zavedli jsme DNS server poslouchající pouze na IPv6 adrese. Všichni klienti mají stále IPv4 adresy i výchozí brány (default gateway). Mají ale také svoje statické IPv6 adresy, ovšem prozatím bez výchozí brány. Jediná změna je, že jako adresu DNS serveru jsme na klientech nastavili pouze jeho IPv6 adresu FC00:1::10.10.0.3. To ničemu nevadí. Bez problému to překládá i veřejná IPv4 jména. A to ani počítače DC nemusí mít IPv6 výchozí bránu. Jeho DNS server si poradí a zjistí vše potřebné pomocí IPv4 protokolu. Jen s klienty komunikuje na nových IPv6 adresách.

02_ipv6-schema-local-ipv6-plus-dns.png

Nastavení na jednom z klientů by tak mohlo vypadat jako na následujících obrázcích - tedy žádný IPv4 DNS server, ale pouze jediná IPv6 DNS adresa:

03_ipv6-ipv4-dns.png 04_ipv6-ipv6-dns.png

Ve schématu můžete vidět i poznámku, že na DC počítači je DHCPv6 server. Ano, není problém si ho tam doinstalovat a rozdávat adresy. Některé podstatné konfigurace jsou vidět na následujících snímcích. Speciálně bych zmínil položku Server Options, která neobsahuje výchozí bránu. Ani nemůže, protože DHCPv6 není schopno podle standardu tuto informaci vůbec rozdávat - soudruzi z USA zřejmě někde udělali chybu :-) Adresu výchozí brány přidělují směrovače (router), o kterých bude řeč později.

05_ipv6-dhcp-server-options.png

Dalším důležitým parametrem jsou vlastnosti daného IPv6 rozsahu. Hodnota Priority se používá, pokud máte více DHCPv6 serverů a chcete určit, který z nich má vyšší priority - dáte mu tedy vyšší číslo. Klienti vždycky čekají nějakou dobu, než dostanou nabídky od všech DHCPv6 serverů, aby si mohli vybrat tu, která má nejvyšší priority. Aby se zbytečně nečekalo, dal jsem tam prostě to nejvyšší co jde - 255. Takže klient bere hned, stejně jako v původním DHCPv4.

06_ipv6-dhcp-scope-options.png 07_ipv6-dhcp-scope-no-dns-update.png

Jako kulturně-bezpečnostní vložku jsem zařadil i obrázek ze záložky DNS. Povolovat DHCP serverům, aby aktualizovali IP adresy v DNS serveru je nebezpečné a tudíž pryč s tím!

Po rozjetí daného scénáře je zajímavé podívat se na IPCONFIG jednoho z klientů. IPv6 nemůže mít nic jednoduchého. Bez ohledu na to, jestli máte statickou IP adresu, stejně si stanice lízne i jednu další z DHCP serveru, pokud nějaký v síti je. Takže výsledek je, že máte tři IPv6 adresy - automaticky generovanou link-local adresu FE80::, statickou ručně zadanou FC00:1:10.10.0.11 a ještě tu jednu dodanou DHCP serverem na dobu trvání jeho zápůjčky (lease). Jak již bylo řečeno, výchozí brána (default gateway) se nevyskytuje, protože DHCP ji přidělit neumí a manuálně jsme ji prozatím nenastavili.

08_ipv6-client-config-dhcp-and-static-only.png

Fakt, že nemáte výchozí bránu, je lepší, než kdybychom ji měli. V případě, že by se totiž z DNS vrátila IPv6 adresa pro nějaký veřejný web server například, pokoušeli byste se tam dostat přes tu vaši bránu. Protože nemáme IPv6 internetovou konektivitu, jenom by to zbytečně timeoutovalo. TCP SYN timeout je ve výchozím stavu 21 sekund což je opravdu hoodně, aby to člověka pěkně otrávilo.

V následujícím obrázku ještě vidíte jak to vypadá v DHCP serveru v seznamu zápůjček. Zápůjčky se identifikují pomocí unikátních identifikátorů, které nemají nic společného s MAC adresami. Síťaři jsou jistě moc rádi, že ztrácí přehled. I rezervace se dělají stejným způsobem. Jen pro pořádek, DUID (Unique ID) je stejný pro všechny síťové karty počítače, IAID má každá síťovka unikátní. Obě hodnoty jsou ale trvalé pro danou instanci operačního systému.

09_ipv6-dhcp-leases.png

Pro jistotu bychom se mohli ještě podívat i do DNS. Máme povolenu dynamickou aktualizaci záznamů (DNS dynamic update). Měli bychom tam tedy vidět všechny IP adresy, které počítače mají - to znamená jak IPv4 (A záznam) tak i obě směrovatelné FC00:: IPv6 adresy (AAAA záznamy). Link-local adresa FE80::, se celkem logicky, do DNS neregistruje.

10_ipv6-dhcp-and-static-only-dns-records.png

Jen pro doplnění. DHCPv6 konfiguraci na stanicích upustíte a obnovíte pomocí nových přepínačů příkazu IPCONFIG. Dynamická re-registrace DNS záznamů se vyvolává pořád stejně (nebo restartem služby DNS Client):

IPCONFIG /release6
IPCONFIG /renew6
IPCONFIG /registerDNS
net stop dnscache & net start dnscache

A tím bych to považoval za zopakované. Uf :-)

Základní směrování (routing) a jeho konfigurace

Když nám to už funguje lokálně a vyzkoušeli jsme si různé zajímavosti, můžeme se vrhnout na pokročilejší směrování. V následujícim obrázku je schéma nativního IPv6 směrování. Nepočítáme už vůbec s IPv4 adresami a předpokládáme, že máme všude dostupné IPv6 adresy. Takový stav by byl možný, pokud byste měli IPv6 konektivitu do internetu a mohli tedy začít rozjíždět plnohodnotné směrování. Samozřejmě to můžete mít i v lokální sítí, která je složena z více VLAN. Problém ovšem budou timeouty při pokusech o přístup na internetové IPv6 adresy. Dokud nemáte plnou IPv6 přípojku do internetu, byl bych s rozjížděním směrování opatrný. IPv6 protokol se vždycky použije dříve, než jeho starší IPv4 kamarád a nemusí to mít vždycky hladký průběh.

11_ipv6-schema-ipv6-native-routing.png

Pro pořádek ještě dodejme, že IPv6 neumí NAT. Jestli tedy rozjedete uvnitř sítě privátní adresy typu FC00::, do internetu se nedostanete. To byste museli používat alespoň nějakou proxy. To ale nebude velký problém, kdykoliv se to dá přečíslovat na veřejné adresy, jakmile budou k dispozici.

Obrázek tedy ukazuje propojení dvou poboček. Londýn je na rozsahu FC00:1::, Paříž na rozsahu FC00:2:: a je to celé spojeno sítí FC00:88:: (čistě aby se to trošku odlišilo). Routování funguje zhruba stejně jako v případě IPv4. Uděláme ho tedy tak, že směrovač (router) London bude mít jednoduše výchozí bránu (default gateway) přímo na směrovač Paris. Ten to má ale horší.

Směrovač Paris bude mít časem výchozí bránu do internetu, takže do Londýna musí mít static route. Následuje snímek z konfigurace směrovače London a jeho vysvětlení. Bohužel, žádná GUI konfigurace, ještě ani v roce 2011, neexistuje. Musíte se naučit psát na klávesnici. Samozřejmě IPv6 adresy si nastavíte v GUI, to není problém.

12_ipv6-routing-london-enable.png

Nejprve je potřeba pro jeho London síťovku zapnout Forwarding. To znamená, že přes tuto síťovku mohou odcházet pakety z routeru směrem do vnitřní sítě. Současně zapínáme Advertise. Router Advertisement znamená, že o sobě směrovač rohlašuje do dané sítě, že existuje a rozesílá různé konfigurační parametry místím počítačům. Dělá to ve formě multicastu, tak jak je v IPv6 zvykem (jak víte, broadcast je naštěstí již mrtev). Pro vnější síťovku Link je potřeba jen odesílat směrované pakety směrem ven, ale router advertisement už nepotřebuji.

NETSH INTERFACE IPv6 SET INTERFACE London Forwarding=enable Advertise=enable
NETSH INTERFACE IPv6 SET INTERFACE Link Forwarding=enable

Třetím příkazem je velmi důležité nastavení právě pro router advertisement. Směrovače jsou ve skutečnosti pány sítě. Jejich advertisement rozhoduje, jestli klienti mohou vůbec požádat DHCPv6 server o přidělení nějaké konfigurace. Parameter ManagedAddress povoluje klientům, aby si požádali DHCPv6 server o přidělení IPv6 adresy. Druhý parametr OtherStateful povoluje klientům, aby si řekli i o přidělení adresy DNS serveru a connection-specific DNS suffixu. Pokud by směrovač vykřikoval, že to počítače dělat nemají, poslechly by.

NETSH INTERFACE IPv6 SET INTERFACE London ManagedAddress=enable OtherStateful=enable

Dobrá, jenže to ještě pořád není všechno. Chceme ještě další dvě věci. Směrovač by mohl do Londýna také sám přidělovat IPv6 adresy. Ne že by jich stanice ještě měla málo, ale musíme to vyzkoušet. Druhá věc je, že je to jediná metoda, jak jim přidělit výchozí bránu (default gateway), pokud ji nechcete nastavovat ručně. Dělá se to dost složitě. Nejprve si musíte vypsat směrovací tabulku (routing table) směrovače London:

13_ipv6-routing-london-routing-table-no-publishing.png

NETSH INTERFACE IPv6 SHOW ROUTE

Ve směrovací tabulce si musíte všimnout dvou cest (route). První je výchozí brána (default route) samotného směrovače London. To je ta zvýrazněná - ::/0. V tabulce to není vidět, ale vede přes rozhraní Link. Druhá důležitá routa je ta, která označuje přímo připojenou (místní) síť FC00:1::/64. U té je jasně vidět, že vede přes rozhraní London. Obě tyto routy musíme nechat publikovat (route publishing). Router tyto routy rozesílá přes všechna rozhraní, u kterých je zapnuto Advertise. V našem případě to bude jen přes rozhraní London.

Default route publikujete proto, aby klienti dostali výchozí bránu (default gateway). Routu lokální sítě publikujete proto, aby si podle ní klienti nastavili další IPv6 adresy. Uděláme to tedy pomocí dvou příkazů NETSH.

NETSH INTERFACE IPv6 SET ROUTE ::/0 Link Publish=yes
NETSH INTERFACE IPv6 SET ROUTE FC00:1::/64 London Publish=yes

A výsledek si můžete prohlédnout na obrázku - všiměte si sloupečku Publish:

14_ipv6-routing-london-publish-local-network-route.png

A směrovač London máme nastaven. Nebyla to žádná legrace, ale s tím druhým to bude ještě horší :-) Prozatím se pojďme podívat, jak vypadá IPCONFIG konfigurace na klientovi. Doufám, že vás moc nevyděsí, že má najednou tolik IPv6 adres. Všiměte si také adresy výchozí brány (default gateway):

15_ipv6-routing-london-client-config.png

Pomocí NETSH je také možno vypsat si rovnou i jejich typy a expirace:

NETSH INTERFACE IPv6 SHOW ADDRESS

16_ipv6-routing-london-client-address-types.png

Z výsledku zjistíte, že klient má teď jednu adresu link-local automaticky vygenerovanou, jednu ručně nastavenou, druhou získanou z DHCPv6 serveru a další dvě vyrobené díky router advertisementu (to je ta Public a Temporary). Soudruzi v USA se zřejmě zkouřili a rozhodli se, že čím víc IP adres, tím víc je to kůl. Ale ono to má svůj smysl. Pokud bude stanice odesílat pakety přes daný router, bude to dělat z jedné z těch dvou Public a Temporary adres. Navíc to bude střídat. Temporary adresa se také bude průběžně měnit (každých 14 dnů). Zajistí to soukromí. Venku nikdo nepozná, z kolika počítačů se na jeho web servery přistupuje. I váš jediný počítač se bude s časem tvářit jako několik různých IP adres.

Ještě stojí za zmínku adresa výchozí brány. Ta je uvedena jako link-local adresa směrovače London. Je to sice trošku divné, ale ničemu to nevadí. Z pohledu ethernetu potřebujete IP adresu brány jen k tomu, abyste pomocí Neighbour discovery zjistili její MAC adresu. Tu si mimochodem můžete prohlédnout pomocí nového přikazu (dříve se používal ARP -a):

NETSH INTERFACE IPv6 SHOW NEIGHBORS London

17_ipv6-neighbors-cache.png

MAC adresy začínající 33:33 ignorujte, to jsou multicast adresy.

Uf, polovina za námi. Následuje konfigurace směrovače Paris a průzkum klienta v Paříži. Je to velice podobné s jedním rozdílem. Směrovač Paris má static route do Londýna. Zveřejňovat na něm tedy budeme tuto static route a nikoliv jeho default route (výchozí bránu, default gateway).

NETSH INTERFACE IPv6 ADD ROUTE fc00:1::/64 Link fc00:88:30.0.0.1
NETSH INTERFACE IPv6 SET INTERFACE Paris Forwarding=enable Avertise=enable
NETSH INTERFACE IPv6 SET INTERFACE Link Forwarding=enable
NETSH INTERFACE IPv6 SET ROUTE fc00:2::/64 Paris Publish=yes
NETSH INTERFACE IPv6 SET ROUTE fc00:1::/64 Link Publish=yes

18_ipv6-paris-config-03.png 

19_ipv6-paris-config-04.png

20_ipv6-paris-config-05.png

21_ipv6-paris-config-06.png

Kdyže se potom podíváme na počítač v Paříži, uvidíme samozřejmě všechny možné IP adresy. DHCP tam není, takže ani nebylo potřeba ho v router advertisement paketech povolovat. Co je ale zajímavé, že na klientovi není vidět žádná výchozí brána (default gateway). Protože směrovač Paris žádnou default route nezveřejňuje, výchozí brána prostě na klientovi vidět není. Přijatá routa je ale vidět v klientově směrovací tabulce:

22_ipv6-routing-paris-client-ipconfig.png

23_ipv6-routing-paris-client-routes.png

A je to! Už to stačí jenom otestovat například PINGem:

24_ipv6-routing-paris-client-ping.png

Na router advertisementech je krásné, že dokážou klientovi podstrčit jakoukoliv routu, kterou daný směrovač chce zveřejňovat. Dokážou také nastavit klientům IPv6 adresy, aniž byste muselit používat DHCP server. Ten ovšem chcete, samozřejmě, aby distribuoval IPv6 adresy DNS serverů a connection-specific DNS suffixy. Hned v zápětí route advertisement využijeme také pro konfiguraci tunelových připojení (jakýchsi VPN).

A to je pro dnešek všechno! Teď už umíte lokální IPv6 směrování a příště se podíváme na to nejsložitější a nejbezpečnější tunelování.

Autor: Ondřej Ševeček

 


Sledujte Živě na Facebooku

celkem 0

Poslední názory Názory





Aktuální číslo časopisu Computer
  • Testy nejnovějších produktů na českém trhu.
  • Informace ze světa internetu i bezpečnosti.
  • Plné verze programů zdarma pro všechny čtenáře.

Partnerská sekce pro IT profesionály
Microsoft TechNet/MSDN