Go 4 IPv6 & Win: Pokročilé síťování. II. díl

V předchozí části seriálu o IPv6 jsme probrali kroky nutné k rozchození IPv6 v lokální síti, dnes se podíváme na nastavení směrovačů a připojení klientů přes IPv4 sítě pomocí tunelů.

Tunelování IPv6 přes internet (IP-HTTPS)

V předchozí části jsme měli vlastní vnitřní síť rozjetou na IPv6. Pokud byste měli nativní IPv6 internetovou konektivitu, nic by vám už teď nebránilo to rozjet naplno. Problém je, že tu nejspíš nemáte. Ale ona časem přijde. Díky různým tunelovacím technologiím však máme možnost používat IPv6 v omezené míře již nyní a dokonce si užívat i bezpečnosti, jakou nabízí například Direct Access.

V dalším bude tedy naším cílem připojit si klienta, který umí IPv6, z internetu do naší firemní sítě, která už teď pracuje na IPv6. Samozřejmě nejspíš jen v paralelním IPv4/IPv6 režimu, ale přecejenom máme vevnitř IPv6 adresy. Připojení bude muset jít přes IPv4 internet, protože se dá čekat, že to bude ještě nějakou dobu majoritní síťová vrstva a většina připojení bude mít ještě dlouhou dobu IPv4 k dispozici. Vypadat by to mohlo například podle obrázků:

Klepněte pro větší obrázek

Představa je tedy taková, že máme počítač KamilPC někde v internetu, ne nutně na veřejných adresách. Tento stroj umí IPv6, ale žádnou veřejnou IPv6 adresu nedostal - zřejmě tam není ani IPv6 router, ani DHCPv6 server. To je důležitý fakt, protože IPv6 tunelové síťovky se nahazují automaticky pouze v případě, že klient žádnou veřejnou IPv6 adresu nemá. Když ji nemá, automaticky se mu počítač pokusí nahodit nějaký IPv6 tunel, aby se problém vyřešil. Například tak, jak je vidět v obrázku:

Klepněte pro větší obrázek

Tunel znamená, že se klientovi ustaví vlastně jakási obdoba VPN připojení. Říkám jen "obdoba", protože tunel nemusí být nutně ani autentizovaný (ověřený), ani šifrovaný. Prostě kdokoliv se vám v některých případech může připojit do sítě. Tunel to ale bude, protože klientovi se vytvoří virtuální síťovka s nějakou IPv6 adresou. Všechny pakety, které do této síťovky půjdou se prostě budou odesílat obalené ještě IPv4 obalem na váš přístupový server. V našem případě touto gateway bude směrovač London. Ten bude mít také vlastní virtuální síťovku, takže z pohledu směrování a IP adres se to bude chovat stejně.

Tunelových protokolů je několik možných s Windows 7 a Windows Server 2008. Existuje 6to4, Teredo, ISATAP a nejnovější IP-HTTPS. My si tu nastavíme IP-HTTPS, protože to má několik výhod (a navíc je to nejsložitější). Chodí to jednoduše přes TCP 443 a je to obalené normálním HTTPS obalem. Průchodnost to má jako kudla máslem. A je to i šifrované. Navíc budeme vyžadovat klientský certifikát počítače pro ověření přístupu, takže budeme mít firmu luxusně chráněnou a přitom všichni IPv6 klienti, kdekoliv se objeví na internetu, budou mít okamžitě automaticky připojení do vnitřní IPv6 sítě.

Požadavky jsou následující:

  • IP-HTTPS gateway musí být dostupná z internetu přes TCP 443 na nějakém veřejném jméně, v našem příkladě je to ipv6.gopas.cz. Žádné množství NAT zařízení v cestě ničemu nevadí. Dá se to dokonce prohánět přes TMG (Threat Management Gateway) a její SSL/TLS inspekci.
  • IP-HTTPS server by měl být členem domény, stejně jako stanice. Zjednoduší to správu a umožní ověřování SSL/TLS klientských certifikátů.
  • IP-HTTPS server (v našem případě směrovač London) by měl být členem skupiny Windows Authorization Access Group, aby mohl číst tokenGroups atribut uživatelských účtů v Active Directory. Detaily jindy a jinde, to by byla už jiná pohádka.
  • SSL/TLS certifikát IP-HTTPS serveru. Musí mít Server Authentication použití (EKU, 1.3.6.1.5.5.7.3.1), musí být uložen v Microsoft RSA SChannel Cryptographic Provider, nebo v Microsoft DH Schannel Cryptographic Provider, nebo v CNG a musí být použitelný k Encryption (Digital Signature, Key Encipherment). Subject, nebo Subject Alternative Name (SAN) musí obsahovat to jméno, které budou klienti používat jako adresu své IP-HTTPS gateway. CRL, nebo OCSP takového certifikátu musí být dostupné a platně z klientů. Certifikát musí být umístěn v úložišti počítače a musí mít k němu přístup účet SYSTEM. Ideálně bych si tedy koupil veřejný certifikát a dal do něho jméno ve stylu ipv6.gopas.cz například.
  • SSL/TLS klientský certifikát IP-HTTPS klienta. Jeden rozdíl je ten, že v certifikátu musí být použití (Enhanced Key Usage, EKU) Client Authentication (1.3.6.1.5.5.7.3.2). Druhý zásadní rozdíl je ten, že každý klientský počítač bude mít svůj vlastní certifikát. Ten by navíc měl ideálně obsahovat v Subject Alternative Name (SAN rozšíření) doménové DNS jméno daného počítače, aby se dal jednoduše ověřit v Active Directory. Já bych ideálně takové certifikáty vydával automaticky (autoenrollment) ze své vlastní interní certifikační autority, ideálně doménové (AD CS, Enterprise CA). K tomu vám stačí i Windows Server 2008 R2 Standard Edition. Certifikační autorita musí být umístěna v NTAuth store v Active Directory.

Vydávání certifikátů je mimo rozsah tohoto textu. Takže provedeme jen nějaké to ověření, že ty certifikáty, které máme na směrovači London a stanici KamilPC jsou v pořádku. Provede se to pomocí nástroje CERTUTIL a je potřeba ověřit, že ve výpisech jsou všechny parametry v pořádku.

Nejprve ověříme certifikát serveru. Ověření platnosti tohot certifikátu je potřeba udělat jak na serveru samotném, tak na klientovi, kterého umístíme do internetu. Na IP-HTTPS gateway serveru se vypíšou všechny certifkáty počítače - najděte si ten správný:

CERTUTIL -verifystore my
CERTUTIL -v -verifystore my
Cert Hash: F61867B88AD320117FD63ECE863C043794F33661
Subject: ipv6.gopas.cz
Enhanced Key Usage: Server Authentication
Provider: Microsoft RSA Schannel Cryptographic Provider
Encryption Test Passed
Allow Full Control: NT Authority\SYSTEM
Certificate is valid

Z výpisu je dobré zi opsat, nebo okopírovat hodnotu políčka Cert Hash, protože ji budeme za chvilku potřebovat při konfiguraci ovladače HTTP.SYS (viz. dále). Pomocí MMC konzole Certificates certifikát serveru vyexportujeme bez privátního klíče (nebo můžeme použít CERTUTIL). Certifikát serveru překopírujeme na stanici klienta pro ověření funkčnosti v okamžiku, kdy je klient v internetu.

CERTUTIL -store my ipv6.gopas.cz c:\ipv6-gopas-cz.cer

Klepněte pro větší obrázek

Až je certifikát serveru nakopírován na stanici klienta, který je umístěn v internetu. Ověříme platnost certifikátu IP-HTTPS serveru z pohledu klienta pomocí:

CERTUTIL -url c:\ipv6-gopas-cz.cer

Dále ověříme stejným způsobem platnost certifikátu klienta, který by se měl lišit jen jménem umístěným v poli Subject. V našem případě by tam mělo být jméno kamilpc.gopas.cz. Z klienta by bylo vhodné ověřít dostupnost IP-HTTPS serveru, například pomocí PING a jeho jména (v našem případě ipv6.gopas.cz).

A jestli jsou certifikáty v pořádku, vyrážíme na konfiguraci IP-HTTPS tunelu na straně směrovače London. Zde je potřeba zapnout tunelovou síťovku a nakonfigurovat ji tak, aby poslouchala na správném portu a jméně serveru (v našem případě je jméno serveru ipv6.gopas.cz). Nejprve vytvoříme virtuální serverovou IP-HTTPS síťovku:


NETSH INTERFACE IPHTTPS SHOW INTERFACE
NETSTAT -ano | FINDSTR :443

Klepněte pro větší obrázek

NETSH INTERFACE IPHTTPS ADD INTERFACE Server https://ipv6.gopas.cz:443/IPHTTPS State=enabled AuthMode=certificates

Tím jsme vytvořili IP-HTTPS síťovku. Ona ale používá vnitřní systémový ovladač HTTP.SYS k tomu, aby poslouchala na příchozí komunikace. Ovladač HTTP.SYS je používán například i IISkem a dalšími službami, jako je Windows Server Remote Management (WinRM), nebo třeba SSTP VPN. Má kvůli tomu vlastní správu certifikátů, která je mimo nastavení IP-HTTPS tunelu. Jen pro zajímavost, tunelové síťovky na klientovi i serveru spravuje služba IP Helper. Bez ní tunely nepojedou. Ale zase je to dobrá nápověda, co restartovat, když se děje něco nekalého:

NET STOP iphlpsvc & NET START iphlpsvc

Musíme tedy nastavit ještě HTTP.SYS, aby používal správný certifikát a rozuměl klientským certifikátům. SSL/TLS certifikáty nemohou být uchyceny (bind) na jména, ale musí být vázány na konkrétní IPv4 adresy serveru (ano, děláme tunel pomocí IPv4). Můžete si vybrat, buď použijete IPv4 adresu 0.0.0.0, což přichytí certifikát na všechny IPv4 adresy, nebo se dá použít konkrétní (v našem případě 30.0.0.1). Hodnotu CertHash jste zjistili v jednom z předchozích kroků - musí odpovídat vašemu certifikátu, který máte na serveru. Zatímco položka appid jestále stejná a to přesně ta, kterou vidíte ve výpisu. Nastavítka DSMapperUsage a ClientCertNegotiation zapínají ověřování klientských certifikátů pomocí Active Directory.

NETSH HTTP ADD SSLCERT IPPort=30.0.0.1:443 CertHash=F61867B88AD320117FD63ECE863C043794F33661
appid={5d8e2743-ef20-4d38-8751-7e400f200e65} ClientCertNegotiation=enable DSMapperUsage=enable

Klepněte pro větší obrázek

Když tohle máte, mělo by se již dát z KamilPC vyzkoušet toto HTTPS připojení. Pokud to všechno funguje, můžete do prohlížeče zadat https://ipv6.gopas.cz/IPHTTPS. Sice nic moc neuvidíte, ale to je právě dobře - nemělo by se vám zobrazit žádné certifikátové varování a prohlížeč by měl téměř donekonečna čekat na odezvu, která nepřichází a nepřichází. Ono to sice není normální HTTP, ale ten SSL obal tím otestujete.

Dále musíme této virtuální síťovce na serveru nastavit IPv6 adresu, zapnout Forwarding zveřejnit tuto routu (Publish) a zveřejnit i další routy, speciálně do vnitřní sítě.

NETSH INTERFACE IPv6 SET ADDRESS Name=IPHTTPSInterface fc00:3::1
NETSH INTERFACE IPv6 SET INTERFACE IPHTTPSInterface Forwarding=enable Advertise=enable
OtherStateful=enable ManagedAddress=disable
NETSH INTERFACE IPv6 SET ROUTE fc00:3::/64 IPHTTPSInterface Publish=yes
NETSH INTERFACE IPv6 SET ROUTE ::/0 Link Publish=yes

Klepněte pro větší obrázek

V předchozím výpisu směrovací tabulky si všimněte, že potřebujeme, aby náš směrovač London zveřejňoval (Publish) do této nové tunelové síťovky jak routu do Londýna, tak také routu výchozí (default route). Ty byly ale nakonfigurovány již dříve, takže jsem se s nimi znovu nepáral. No a nyní už stačí pouze nastavit klienta. Uf, to je dřina. Takže na klientském počítači je potřeba vypnout všechny ostatní tunely a vytvořit novou virtuální IP-HTTPS síťovku:

NETSH INTERFACE isatap set state disabled
NETSH INTERFACE teredo set state disabled
NETSH INTERFACE 6to4 set state disabled
NETSH INTERFACE HTTPSTUNNEL Add Interface Client https://ipv6.gopas.cz/IPHTTPS State=Default AuthMode=Certificates

Klepněte pro větší obrázek

Klepněte pro větší obrázek

A už si můžete konektivitu ověřit jen jednoduchým PINGem. V případě, že se chcete podívat do logu na IP-HTTPS serveru, jaké počítače se vám na něm ověřovaly, stačí hledat následující události:

Log: Security
Task Category: Logon
Level: Information
Event ID: 4624
Logon Type: 3
Security ID: GOPAS\KamilPC$
Authentication Package: SChannel
Logon Process: SChannel

A to je pro dnešek všechno! Teď už umíte lokální IPv6, směrování i to nejsložitější a nejbezpečnější tunelování! Příště nás čeká manuální konfigurace Direct Access.

Autor: Ondřej Ševeček

Články ze série Microsoft TechNet nevytváří redakce Živě.cz, ale partneři programu Microsoft TechNet. Jsou publikovány v rámci mediálního partnerství Živě.cz a společnosti Microsoft.

Váš názor Další článek: Memristory se blíží, nahradí flash paměti, v budoucnu i DRAM čipy

Témata článku: Síť, Tunel, Tunelování, Díl, HTTPS server, Stem, Route 66, Pingu, Síťovka, London, Enable, Ping, Vnitřní síť, Vzdálená správa, Interface, UFO, Gateway, Win +, CNG, DSM, Dh, Remote management, Předchozí krok, Sta, Klient



Sex manželských párů? Jen výjimečně. Ložnice ovládnou roboti s umělou inteligencí

Sex manželských párů? Jen výjimečně. Ložnice ovládnou roboti s umělou inteligencí

** Sex manželských párů jen při zvláštních příležitostech. ** Ložnice ovládnou sexuální roboti s umělou inteligencí. ** I to je jeden ze závěrů Mezinárodní robotické konference.

Filip KůželJiří Liebreich
RobotiSexUmělá inteligence
Tuto českou základnu plnou satelitů nesmíte vidět. V Mapy.cz je každá anténa pečlivě vyretušovaná

Tuto českou základnu plnou satelitů nesmíte vidět. V Mapy.cz je každá anténa pečlivě vyretušovaná

** Zapomeňte na rozčtverečkovaná místa, kterých si každý všimne ** Mapy.cz musely dokonale zakrýt desítky parabol ** Základnou se přitom na webu chlubí i její majitel. Kocourkov

Jakub Čížek
ČeskoMapy.czMapy
Nastal pravý čas na výměnu telefonu. Jak poznat, že ten váš už dosluhuje?

Nastal pravý čas na výměnu telefonu. Jak poznat, že ten váš už dosluhuje?

** Jak poznat, že váš telefon má nejlepší dny za sebou? ** Vypadá potlučeně, má pavučinu nebo nedostává aktualizace? ** Ukážeme si, kdy má smysl jeho oprava, a kdy už jen koupě nového

Martin Chroust
Prasklý displejVysloužilý mobilSmartphony
Google si i na září připravil několik šikovných drobností, které se brzy dostanou na všechny Androidy

Google si i na září připravil několik šikovných drobností, které se brzy dostanou na všechny Androidy

** Google i v září pošle do Androidů „neviditelný“ update ** Obsahuje sice jen pár drobností, i tak se mohou leckomu hodit ** Nejužitečněji vypadá update funkce Sdílení nablízko

Martin Chroust
Nearby ShareAndroid
Google není jen vyhledávač: 15 užitečných funkcí, o kterých možná ani nevíte

Google není jen vyhledávač: 15 užitečných funkcí, o kterých možná ani nevíte

** Google umí kromě vyhledávání i spoustu dalších věcí ** Vybrali jsme více než 15 užitečných funkcí a schopností ** Stačí zadat do vyhledávače ta správná klíčová slova

Karel Kilián
TipyVyhledávačeGoogle
Kurvítka v základní výbavě, výrobci mají umělé zastarávání v malíku. Začalo to bateriemi, pokračuje softwarem

Kurvítka v základní výbavě, výrobci mají umělé zastarávání v malíku. Začalo to bateriemi, pokračuje softwarem

** Nejen mobilní výrobci jsou naučeni rok od roku prodávat stále více telefonů ** Tento trend se však zákonitě musí někdy zastavit ** Jenže, co naplat, když jsou starší zařízení „uměle“ nepoužitelná?

Martin Chroust
Prasklý displejBaterieAktualizace softwaru
Programování elektroniky: Měříme laserem hladinu vody v nádržce pro rýmovník

Programování elektroniky: Měříme laserem hladinu vody v nádržce pro rýmovník

** Pokračujeme ve stavbě zavlažovacího systému pro redakční rýmovník ** Má čidlo půdní vlhkosti i čerpadlo a je připojený k internetu ** Ale ještě nám chybí detektor vody v zalévací nádrži

Jakub Čížek
Pojďme programovat elektroniku