IPv6 krok za krokem - 3

Michal Ludvig <michal@logix.cz> (c) 2003

V minulm dle jsme si na s pipojili do IPv6 Internetu a s napjatm oekvnm provedli prvn IPv6 ping. Samozejm nm vechno na prvn pokus fungovalo, take na sebe meme bt hrd. V denm dle si ukeme, jak o na nezmrn ikovnosti dt vdt celmu svtu.

DNS

Pi zprovozovn DNS ns ek nkolik kol:

Budu tie pedpokldat, e mte nakonfigurovn alespo jeden veejn pstupn DNS server (nejlpe bind ady 9.x) a e mte zaregistrovnu alespo jednu domnu (teba mojedomena.cz), kterou tento server obhospodauje. Pokud tomu tak nen, nejdve vs odku na DNS HowTo. Samozejm, e zatm ve funguje pouze pro IPv4. Ale to se zhy zmn.

Peklad jmna na adresu

Tohle je nejjednodu kol. Jak jist vte, k pekladu domnovho jmna (FQDN - Fully Qualified Domain Name) na IPv4 adresu slou takzvan A-zznamy. V konfiguranm souboru pro znu mojedomena.cz me jt teba o takovto zpis:

www	IN	A	60.70.80.90

Aby n webserver byl pstupn i pes IPv6, potebujeme pro nj zvytvoit i AAAA-zznam. Teba takhle:

www	IN	A	60.70.80.90
	IN	AAAA	3ffe:ffff:1234::baf

To je vechno. Jednoduch, e? Od nynjka budou IPv6 klienti na dotaz po adrese www.mojedomena.cz dostvat IPv6 adresu.

Zptn peklad adresy na jmno

Pro tento typ dotaz se vil nzev reverse lookup. V DNS se pro konfiguraci vztahu adresa->FQDN pouv tzv. PTR-zznam, a to jak pro IPv4 tak pro IPv6 adresy.
Asi vte, e pokud chcete peloit adresu 60.70.80.90 zpt na jmno, muste se nameserveru ve skutenosti zeptat na PTR-zznam pro domnov jmno 90.80.70.60.in-addr.arpa. Tzan nameserver se koukne do sv tabulky pro znu 80.70.60.in-addr.arpa. a najde tam:

90	IN	PTR	www.mojedomena.cz.

Protoe je rd, e pro vs nael odpov a e to navc lo tak hladce, hned vm hrd oznm vsledek.

Pro IPv6 je postup velmi podobn, ale pecejenom o malinko sloitj.
Jednak nen pln jist ve kter top-level domn hledat odpov: Me to bt bu v ip6.int., kde se nachzej reverzn zznamy pro adresy z rozsahu 6bone, nebo v ip6.arpa., kde se pro zmnu nachzej adresy produkn. V minulosti bylo ve pod domnou ip6.int., v budoucnosti by se i 6bone adresy (pokud do t doby zcela nezaniknou) mly pesunout pod domnu ip6.arpa.. V souasnosti je bohuel realitou tento schizofrenn stav.

Druh problm je v zpisu IPv6 adres pro pouit v reverznch dotazech. Adresy se zapisuj "odzadu", stejn jako v ppad IPv4 adres, a to po jednotlivch plbajtech (nibbles), vyjdench hexadecimln slic. Jednotliv plbajty jsou oddleny tekou a na rozdl od "normlnho" zpisu adres nen mon dnou st vynechat.
Z ve uvedenho plyne, e formt reverznho dotazu pro adresu 3ffe:ffff:1234::baf bude v tzv. nibble-formtu:

f.a.b.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4.3.2.1.f.f.f.f.e.f.f.3.ip6.int.

Nyn tedy naume n nameserver odpovdat na tento dotaz.

Nejdve musme zajistit, aby se k nm dotazy vbec dostaly. Musme tedy podat tunnel brokera (obvykle skrz webov rozhran), aby delegoval znu 4.3.2.1.f.f.f.f.e.f.f.3.ip6.int., kter odpovd naemu prefixu 3ffe:ffff:1234::/48, na n nameserver.

Dle musme pro tuto znu vytvoit zznam v konfiguranm souboru named.conf:

zone "4.3.2.1.f.f.f.f.e.f.f.3.ip6.int" {
	type master;
	file "rev.ip6.3ffe-ffff-1234";
};

A nakonec vytvome soubor rev.ip6.3ffe-ffff-1234 s vlastnm obsahem zny:

@	IN	SOA	[...]
@	IN	NS	ns.mojedomena.cz.
f.a.b.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0  IN  PTR  www.mojedomena.cz.

Protoe pevdt IPv6 adresy do nibble formtu run nen moc praktick, existuje pro usnadnn nkolik utilitek, ppadn webov rozhran.
Dal podrobnosti o podpoe IPv6 v DNS se mete dost v RFC 1886.

V nkterch dokumentech se jet mete dost o tzv. bitlabels - odlinm formtu zpisu jak dopednch tak reverznch odkaz s vyuitm A6 a DNAME-zznam. Podrobnosti popisuje napklad RFC 3363 (Representing IPv6 Addresses in DNS). S tmto typem DNS zznam se experimentovalo v prbhu zhruba poslednch t let ne bylo koncem minulho roku definitivn oznmeno, e tudy cesta nevede. Bitlabels poskytovaly nkter zajmav vlastnosti napklad pro multihomed networks, tedy pro st, kter pouvaj vce ne jeden globln prefix. Bohuel konfigurace tchto zznam nebyla prv jednoduch a navc se ukzalo, e v uritch ppadech me dojt k nedefinovanm vsledkm, k petovn nameserver a k dalm nechtnm dsledkm. Podrobnosti mete najt napklad zde (The case against A6 and DNAME). V souasnosti by se tedy bitlabels ji nemly pouvat.

Provoz DNS pes IPv6

Veker dotazovn na IPv6 zznamy me samozejm probhat jak pes IPv4 tak pes IPv6 spojen. Stejn tak nameserver pstupn pouze pes IPv6 protokol me bez pot poskytovat klasick A-zznamy. Protokol penosu paket je zcela nezvisl na jejich obsahu.

Ale aby byla nae konfigurace kompletn, naume ns DNS server komunikovat pes IPv6. Pokud pro DNS pouvme software Bind 9.x, je een jednoduch. Do souboru named.conf do sekce options doplnme direktivu listen-on-v6:

options {
	// [ ... ostatn konfiguran volby ]
	listen-on-v6 port 53 { any; };
};

Po restartu procesu named bychom mli bt schopni s nameserverem komunikovat pes IPv6 adresu:

$ dig aaaa www.mojedomena.cz @::1
;; QUESTION SECTION:
;www.mojedomena.cz.        IN   AAAA
;; ANSWER SECTION:
www.mojedomena.cz.  3600   IN   AAAA    3ffe:ffff:1234::baf
;; Query time: 188 msec
;; SERVER: ::1#53(::1)

Na poslednm dku vidme, e se se serverem opravdu bavme estkovm protokolem.

Tmto je zkladn konfigurace DNS hotova. Nyn mete pidvat dal domny, subdomny (teba ipv6.mojedomena.cz) a zznamy pro dal potae. A aby nm to DNS k nemu bylo, nakonfigurujeme si nyn pr slueb.

Secure Shell - SSH

V tto kapitole pedpokldm, e pouvte OpenSSH rozumn nov verze.
Server - zde je situace celkem triviln: je poteba zmnit jedinou dku v konfiguranm souboru sshd_config (obvykle je umstn v /etc/ssh) a restartovat daemona:

# pvodn dku ...
# ListenAddress 0.0.0.0 
# ... zmnit na:
ListenAddress ::

tyteka, tedy dv dvojteky ::, v Linuxu znamen "jakkoliv IPv6 nebo IPv4 adresa". To je rozdl oproti BSD systmm, kde je dek se tytekou chpn jako striktn "poslouchej na IPv6 socketu". Pokud byste v BSD chtli pijmat jak IPv4 tak IPv6 spojen, muste odkomentovat i dek ListenAddress 0.0.0.0.

Pemluvit SSH klienta ke komunikaci pes IPv6 je jet jednodu - sta volba -6 na pkazov dce. U novjch verz dokonce ani tato volba nen poteba - SSH klient se o IPv6 spojen bude snait automaticky. Pihlaovn na server pak me vypadat teba takhle:

$ ssh www.mojedomena.cz
The authenticity of host 'www.mojedomena.cz (3ffe:ffff:1234::baf)' can't be established.
RSA key fingerprint is 3e:75:...:6b:e1.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added
'www.mojedomena.cz,3ffe:ffff:1234::baf' (RSA) to the list of known hosts.
user@www:~$ 

Apache

Nov verze webserveru Apache 2.0.x jsou na IPv6 provoz pipraveny. Pokud svho Apache kompilujete run na systmu, kter obsahuje vechny potebn hlavikov soubory a knihovny, tak to konfiguran program pozn a vechno sprvn nastav. Pedpokldejme tedy, e se kompilace a instalace povedla a ek ns to nejdleitj - konfigurace. Jako vdy budu i zde pedpokldat, e umte nastavit Apache pro IPv4 provoz.

Vechny zmny se budou odehrvat v konfiguranm souboru httpd.conf. Nejprve zajistme, aby server poslouchal na IPv6 socketu. Stejn jako v ppad SSH nm k tomu poslou "tyteka":

Listen [::]:80

Budeme tedy ekat na pchoz IPv4/IPv6 spojen na standardnm portu 80. Zatm doba nepokroila natolik, aby se vyplatilo mt IPv6-only web, take musme upravit svou stvajc konfiguraci, aby umla oba protokoly. Jedin zmna se tk hlaviky VirtualHost:

<VirtualHost [3ffe:ffff:1234::baf]:80 60.70.80.90:80>
ServerName   www.mojedomena.cz
[...]
</VirtualHost>

Te sta proces webserveru restartovat a zkusit se pipojit njakm browserem, kter um IPv6. Vhodnm kandidtem pro textovou konzoli je Elinks. e jsme se skuten pipojili pes IPv6 si zkontrolujeme v logu:

3ffe:ffff:1234::210:40ff:feb1:b2b3 - - [01/Jan/2003:00:00:00 +0100] "GET / HTTP/1.1" 200 1024

Zvr

A jsme na konci - ekli jsme si nco mlo teorie, mme konektivitu, chrnme se firewallem, nakonfigurovali jsme si DNS a funguje nm web. Take nastavujte, experimentujte, zkoumejte. A nedivte se, jestli za pl roku bude nco trochu jinak - s IPv6 lovk nikdy nev ;-)


IPv6 krok za krokem: [ 1 ] [ 2 ] [ 3 ]
[ Vechny lnky ] [ Domc strnka ]