Článek je volným překladem textu Using IPv6 On Debian Etch, jehož autorem je Falko Timme. Vyšlo za laskavého svolení autora.
Tento text popisuje, jak nakonfigurovat operační systém Debian Etch pro použití IPv6,
- abyste se mohli připojovat k jiným IPv6 klientům
- aby se ostatní IPv6 klienti mohli připojovat k vám
IPv6 by mělo v budoucnu získat na důležitosti, protože podle mnohých odhadů dojdou IPv4 adresy okolo roku 2010 nebo 2011. Proto je čas naučit se používat IPv6.
Tento text vám nabízím bez jakýchkoliv garancí! Nezaručuji, že vám to bude fungovat!
Úvodní poznámka
V tomto návodu používám server se systémem Debian v LAN síti (ten používá router k připojení do internetu), do které je připojen síťovým zařízením eth0
. Síťové rozhraní má IPv4 adresu 192.168.0.100
. Veřejná IP adresa routeru je 85.176.139.73. Při použití IPv6 se mohou cizí stroje připojit přímo k našemu Debianu, bez ohledu na router a NAT. Stejný postup bude funkční i pro počítače, které jsou připojeny k internetu přímo (nepoužívají NAT).
Abychom využili IPv6, nastavíme si tunel, který náš počítač připojí k IPv6 zařízení na druhém konci (provozovaný takzvaným tunnel brokerem) a takto pak do IPv6 páteře. Tento tunel je nezbytný, neboť většina poskytovatelů nepodporuje přímé připojení do IPv6 sítě a nemá smysl routovat IPv6 provoz přes IPv4 síť, protože pravděpodobně už následující router nebude vědět, co s ním má dělat.
Existuje několik tunnel brokerů, kteří vám poskytnou zdarma tunel i s vaší novou IPv6 adresou. Jsou to například TunnelBroker.net, go6.net a Sixxs.net/. Tito poskytovatelé jsou připojeni k IPv6 páteři, ke které se skrze ně také připojíme.
Vytváříme tunel
Zaregistrujte se u poskytovatele tunelu – já používám TunnelBroker.net, protože je velmi rychlý – můžete být připojeni během několika minut. Pak se přihlaste přes webové rozhraní a vytvořte si tunel. („Create Regular Tunnel“ na tunnelbroker.net). Vyplňte IPv4 adresu (to je veřejná adresa vašeho počítače „ pokud jste za routerem, je to IPv4 adresa routeru) a vyberte vám nejbližší server (toto jsou místa, kde má poskytovatel zařízení připojená k IPv6 páteři):
Poté uvidíte obrazovku s informacemi o vašem konkrétním tunelu.
Takto vypadá můj testovací tunel:
IPv4 adresa serveru: 216.66.80.30
IPv6 adresa serveru: 2001:0470:1f0a:cc0::1/64
IPv4 adresa klienta: 85.176.139.73
IPv6 adresa klienta: 2001:0470:1f0a:cc0::2/64
Zapište si IPv4 adresu serveru (u mě 216.66.80.30), IPv6 adresu serveru (2001:0470:1f0a:cc0::1) a klientskou IPv6 adresu (2001:0470:1f0a:cc0::2). Budeme je brzy potřebovat.
Připojujeme se
Přihlaste se ke svému počítači a prohlédněte si výstup příkazu ifconfig
server1:~# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:A5:5B:93 inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fea5:5b93/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:71 errors:0 dropped:0 overruns:0 frame:0 TX packets:44 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:7789 (7.6 KiB) TX bytes:5809 (5.6 KiB) Interrupt:169 Base address:0x1400 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:560 (560.0 b) TX bytes:560 (560.0 b) server1:~#
Není tu nic zvláštního, ale „inet6 addr“ ve výpisu značí, že je systém připraven pro použití IPv6.
Nyní si nastavíme naši novou IPv6 adresu a samotný tunel (vy samozřejmě nahraďte adresy za své vlastní):
$ ifconfig sit0 up $ ifconfig sit0 inet6 tunnel ::216.66.80.30 $ ifconfig sit1 up $ ifconfig sit1 inet6 add 2001:0470:1f0a:cc0::2/64 $ route -A inet6 add ::/0 dev sit1
A to je vše. Znovu se podívejme na ifconfig
a uvidíme dvě nová rozhraní – sit0
a sit1
, která jsou potřebná pro tunel:
server1:~# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:A5:5B:93 inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fea5:5b93/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:145 errors:0 dropped:0 overruns:0 frame:0 TX packets:163 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:12833 (12.5 KiB) TX bytes:19303 (18.8 KiB) Interrupt:169 Base address:0x1400 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:8 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:560 (560.0 b) TX bytes:560 (560.0 b) sit0 Link encap:IPv6-in-IPv4 inet6 addr: ::127.0.0.1/96 Scope:Unknown inet6 addr: ::192.168.0.100/96 Scope:Compat UP RUNNING NOARP MTU:1480 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) sit1 Link encap:IPv6-in-IPv4 inet6 addr: 2001:470:1f0a:cc0::2/64 Scope:Global inet6 addr: fe80::c0a8:64/64 Scope:Link UP POINTOPOINT RUNNING NOARP MTU:1480 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) server1:~#
Nyní si vyzkoušíme, jestli vše funguje tím, že zkusíme pingnout na IPv6 adresu serveru našeho poskytovatele:
$ ping6 -c4 2001:0470:1f0a:cc0::1 server1:~# ping6 -c4 2001:0470:1f0a:cc0::1 PING 2001:0470:1f0a:cc0::1(2001:470:1f0a:cc0::1) 56 data bytes 64 bytes from 2001:470:1f0a:cc0::1: icmp_seq=1 ttl=64 time=16.8 ms 64 bytes from 2001:470:1f0a:cc0::1: icmp_seq=2 ttl=64 time=40.5 ms 64 bytes from 2001:470:1f0a:cc0::1: icmp_seq=3 ttl=64 time=37.5 ms 64 bytes from 2001:470:1f0a:cc0::1: icmp_seq=4 ttl=64 time=37.5 ms --- 2001:0470:1f0a:cc0::1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3002ms rtt min/avg/max/mdev = 16.880/33.135/40.550/9.466 ms server1:~#
Vypadá to dobře.
Na stránce www.ipv6.org/v6-www.html je seznam IPv6 strojů. Jeden si vybereme a zkusíme, jestli na něj taky dopingneme:
# ping6 -c4 www.ipv6.uni-muenster.de server1:~# ping6 -c4 www.ipv6.uni-muenster.de PING www.ipv6.uni-muenster.de(tolot.ipv6.uni-muenster.de) 56 data bytes 64 bytes from tolot.ipv6.uni-muenster.de: icmp_seq=1 ttl=57 time=29.3 ms 64 bytes from tolot.ipv6.uni-muenster.de: icmp_seq=2 ttl=57 time=38.7 ms 64 bytes from tolot.ipv6.uni-muenster.de: icmp_seq=3 ttl=57 time=60.4 ms 64 bytes from tolot.ipv6.uni-muenster.de: icmp_seq=4 ttl=57 time=23.1 ms --- www.ipv6.uni-muenster.de ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3002ms rtt min/avg/max/mdev = 23.194/37.940/60.454/14.127 ms server1:~#
Výborně, komunikace s ostatními počítači funguje. Teď pojďme vyzkoušet, zda jsme dosažitelní na naší nové IPv6 adrese. Jděte na web www.berkom.blazing.de/tools/ping.cgi a vyplňte svou veřejnou IPv6 adresu. Pokud vše půjde hladce, měl by výstup vypadat asi takto:
Gratuluji vám. Na vašem počítači funguje IPv6!
Pokud nechcete rozhraní konfigurovat ručně po každém restartu, vytvořte si soubor /etc/network/if-up.d/ipv6
s následujícím obsahem:
$ vi /etc/network/if-up.d/ipv6 #!/bin/sh PATH=/sbin:/bin ifconfig sit0 up ifconfig sit0 inet6 tunnel ::216.66.80.30 ifconfig sit1 up ifconfig sit1 inet6 add 2001:0470:1f0a:cc0::2/64 route -A inet6 add ::/0 dev sit1
(Samozřejmě opět nahraďte IPv4 i IPv6 adresy svými vlastními hodnotami!)
Nakonec nastavte skriptu právo spouštění:
$ chmod 755 /etc/network/if-up.d/ipv6
Kdykoliv teď systém nastartuje, Aktivuje síťová rozhraní sit0
a sit1
automaticky.