IPv6 internet pomocí automatických tunelovacích technologií 6to4 a Teredo

S přechodem od stávajícího protokolu IPv4, který již nenabízí dostatečnou kapacitu nových IP adres, k novému protokolu IPv6 se pojí řada různých problémů. Jedním z nejzávažnějších je vzájemná nekompatibilita obou protokolů, kvůli které je počítačům připojeným přes IPv4 nepřístupný internetový obsah využívající připojení pomocí IPv6 a naopak. Vzhledem k tomu, že přechod na novou verzi protokolu není možné uskutečnit jednorázově, věnovala odborná komunita značné úsilí k nalezení nějakého dočasného řešení, které by umožnilo vzájemnou komunikaci mezi IPv4 a IPv6. Jedním z takových řešení jsou automatické tunelovací technologie 6to4 a Teredo, které poměrně jednoduše pomocí standardizovaného adresního prefixu dokáží IPv6 pakety „maskovat“ jako IPv4.

Pro české uživatele internetu měly dlouhou dobu tyto technologie jednu velkou nevýhodu. Veřejné routery, na nichž jsou uživatelé závislí, se nacházely pouze v zahraničí; komunikace s nimi byla tedy příliš pomalá a nestabilní. Sdružení CZ.NIC proto v červnu 2010 zprovoznilo v České republice první veřejný 6to4 relay router, který by měl minimálně zákazníkům peeringového centra NIX připojení využívající tuto technologii urychlit. V dubnu 2011 se k tomu pak připojila i druhá technologie Teredo, pro jejíž podporu je nyní k dispozici jak Teredo server tak Teredo relay router.

Obě tyto technologie je nutné chápat jako dočasné řešení, které trpí značným množstvím problémů. Pro garantované připojení přes IPv6 je nutné přimět svého poskytovatele připojení k internetu, aby nabídl IPv6 jako standardní součást své služby. Než se IPv6 rozšíří, je ale možné osahat si jeho nové vlastnosti například právě pomocí 6to4 nebo Teredo.

Jak nastavit 6to4

Základní podmínkou pro provoz 6to4 technologie je veřejná IPv4 adresa.

Windows

Minimálně od verze Windows XP SP2 zapíná operační systém tuto technologii automaticky v případě, že je nastavena veřejná IPv4 adresa a neexistuje přidělená normální IPv6 adresa.

Mac OS

V MacOS je možné tuto technologii zapnout graficky. V nastavení sítě se zvolí konfigurace síťových portů a přidá se 6to4 port.

6to4 on MacOS

Linux

Pokud v Linuxu používáte NetworkManager, jako je tomu ve většině současných distribucí, je nutné 6to4 nastavit ručně. Poté, co je počítači přidělena veřejná IPv4 adresa, je nutné spočítat 6to4 adresu (6TO4ADDR) a zavolat následující příkazy pod účtem systémového administrátora:

ip tunnel add sit0 mode sit remote any
ip link set sit0 up
ip -6 address add 6TO4ADDR/16 dev sit0
ip -6 route add default via ::192.88.99.1 dev sit0

V případě že používáte initscripts, postupujte podle návodu v /usr/share/doc/initscripts-*/ipv6-6to4.howto.

Některé možné problémy

Firewall

V technologii 6to4 jsou IPv6 pakety vkládány do IPv4 paketů, které jsou označeny typem protokolu 41 (IPv6 in IPv4). Ve standardním nastavení některých firewallů je tento protokol blokován, proto je nutné ho povolit. Pro povolení portu postupujte podle návodu k firewallu. Je třeba být na pozoru, aby špatným nastavením pravidel firewallu nedošlo k otevření konfigurovaného počítače víc, než je zamýšleno!

Preferování IPv4 komunikace před IPv6 komunikací

V Linuxu může nastat situace, kdy komunikace s cílovým počítačem stále běží na protokolu IPv4, přestože máte korektně nastavenu technologii 6to4. Jedná se o vlastnost, která je dobře popsaná například zde. Jako řešení se doporučuje následující postup. V systému musí existovat soubor /etc/gai.conf, pokud neexistuje vytvořte ho. Pokud existuje upravte ho do následující podoby:

#/etc/gai.conf
label  ::1/128       0
label  ::/0          1
#label  2002::/16     2
label ::/96          3
label ::ffff:0:0/96  4
precedence  ::1/128       50
precedence  ::/0          40
precedence  2002::/16     30
precedence ::/96          20
precedence ::ffff:0:0/96  10

Jak nastavit Teredo

Teredo technologie nevyžaduje veřejnou IPv4 adresu.

Windows

Ve Windows Vista a novějších by mělo být Teredo automaticky povoleno. U starších systémů je potřeba Teredo nejdříve aktivovat a to
spuštěním příkazové řádky přes nabídku Start => Všechny programy => Příslušenství => Příkazový řádek nebo přes "Start" -> "Spustit ..."-> napsat "cmd" a kliknout na tlačítko "OK".

C:\> netsh int ipv6 install
C:\> netsh int ipv6 set teredo client

Nastavení používaného teredo serveru se provádí následujícím příkazem:

C:\> netsh int ipv6 set teredo client teredo.nic.cz

MacOS

V MacOS je nutné nainstalovat software Miredo kliknutím na následující odkaz. V předvolbách systému pak zvolte Miredo v sekci Others, vyplňte teredo.nic.cz do pole server, zaškrtněte volbu Teredo Tunnel a potvrďte formulář.

teredo macos screenshot

Linux

V Linuxu je nutné nainstalovat software Miredo, který je ale součástí většiny populárních distribucí. V Ubuntu se příslušný balíček jmenuje Miredo, ve Fedoře Miredo-client. V konfiguraci uložené v souborech /etc/miredo.conf resp. /etc/miredo/miredo.conf je třeba nastavit nejbližší Teredo server. Pro použití Teredo serveru sdružení CZ.NIC nahraďte odpovídající řádek takto:

ServerAddress   teredo.nic.cz

Kniha IPv6

IPv6 od A do Z

Na více než 350 stranách se můžete dozvědět skutečně vše o protokolu IPv6, včetně současného stavu jeho implementací na vybraných platformách nebo doprovodných mechanismech, jakým je také technologie 6to4. Knihu si můžete zdarma stáhnout na stránkách Edice CZ.NIC nebo si zde objednat její tištěnou verzi.

Naučte se pracovat s IPv6

Chcete porozumět základním vlastnostem a principům IPv6, získat praktické zkušenosti s konfigurací tohoto protokolu nebo zjistit, jak využívat možností přechodových mechanismů? Potom se přihlaste na kurz s názvem Implementace IPv6.

Popis nastavení dalších přechodových mechanismů

Zde je možné najít více informací o použití jiných přechodových mechanismů než 6to4.

RFC související s technologií 6to4

RFC související s technologíí Teredo