Testa IPv6

MC

Testa IPv6

Om du är nyfiken på IPv6, men inte har IPv6-stöd från din internetleverantör finns olika sätt som du kan testa det på. Du kan till exempel aktivt sätta upp en point to Point-tunnel genom tjänster som SixXS eller Go6 Freenet6 eller använda ditt operativsystems eventuella inbyggda stöd för transitionstekniken 6to4 eller Teredo.

Här beskriver jag framför allt hur man sätter upp 6to4 och Teredo för några vanliga fria operativsystem.

Vill du köra långlivade tjänster på din maskin så råder jag dig att titta närmare på point to point-tunnlarna på SixXS eller Go6 Freenet6 i stället.

Teredo

Teredo är en tunnelteknik som fungerar även om du sitter bakom NAT. Den ger dock inte ett lika stort adressutrymme och har högre overhead jämfört med 6to4.

Linux, *BSD

I den fria världen finns en Teredo-implementation vid namn Miredo. Den finns vanligen förpackad i ditt operativsystems vanliga distribution, oftast med en färdig defaultkonfiguration. Den kräver bara installation och vips har du troligen en tunnel uppe.

Windows

Windows Vista har en Teredo-tunnelagent körande, men inte aktiv. Den blir automatiskt aktiv om den skulle behövas. Läs mer här:

http://www.microsoft.com/technet/network/ipv6/ipv6_teredo.mspx

6to4

6to4 är ett system för att automagiskt skapa tunnelpunkter för IPv6. Du får en stor adressrymd (en /48) till ditt nät, och alltså 65535 stycken subnät som du kan routa själv på insidan om din tunneländpunkt.

Tunnelservern i 6to4 finns på en välkänd IPv4-adress som är anycastad i nätet. Det kan alltså finnas många sådana maskiner med samma IPv4-adress. Du kommer till den som är routingmässigt 'närmast' dig.

För att ta reda på om du kan köra 6to4 skall du först kolla om du kan nå den magiska adressen 192.88.99.1. Testa till exempel med ping:

--- PING 192.88.99.1 (192.88.99.1): 56 data bytes 64 bytes from 192.88.99.1: icmp_seq=0 ttl=249 time=9.826 ms 64 bytes from 192.88.99.1: icmp_seq=1 ttl=249 time=9.805 ms 64 bytes from 192.88.99.1: icmp_seq=2 ttl=249 time=9.711 ms 64 bytes from 192.88.99.1: icmp_seq=3 ttl=249 time=9.611 ms 64 bytes from 192.88.99.1: icmp_seq=4 ttl=249 time=9.520 ms 64 bytes from 192.88.99.1: icmp_seq=5 ttl=249 time=9.930 ms ^C - 192.88.99.1 ping statistics - 6 packets transmitted, 6 packets received, 0% packet loss round-trip min/avg/max/stddev = 9.520/9.734/9.930/0.137 ms ---

Om du kan det så kan du möjligen prata 6to4-tunnel. Notera att för att 6to4 skall fungera så måste du ha en publik IP-adress. Din maskin får inte ha en privat adress (sitta bakom NAT). Om din maskin sitter bakom NAT får du i stället sätta upp 6to4 på din NAT-box.

I IPv6-adressrymden finns en speciell rymd specad just för 6to4:

--- 2002::/16 ---

där man bygger sitt eget nät med

--- 2002:<din IPv4-adress i hex>::/48 ---

Allt bakom det nätprefixet är sedan ditt hemmanät. Det blir många adresser (se nedan).

Min hemmaserver har 82.209.158.128. Uttryckt hexadecimalt som del av en IPv6-adress blir det 52d1:9e80 och det ger mig alltså nätet:

--- 2002:52d1:9e80::/48 ---

Där man av hävd brukar ta 2002:52d1:9e80::1 som adress till sin router. Eftersom de sista 64 bitar av en IPv6-adress normalt används för att identifiera maskiner betyder detta att jag har de här näten jag själv kan använda på insidan om min IPv6-router:

--- 2002:52d1:9e80:0::/64 <- Det här nätet bor på min routers utsida. 2002:52d1:9e80:1::/64 2002:52d1:9e80:2::/64 2002:52d1:9e80:3::/64 ... 2002:52d1:9e80:ffff::/64 ---

*BSD

I *BSD sätter man upp tunneln så här:

--- # skapar ett interface för en 6to4-tunnel ifconfig stf0 create

# Konfigurerar gränssnittet med en adress ur mitt IPv6-nät. ifconfig stf0 inet6 2002:52d1:9e80::1 prefixlen 16 alias

# Sätter 6to4-gatewayen 192.88.99.1 (fast som dess IPv6-adress) # som default gateway for IPv6-trafik route add -inet6 default 2002:c058:6301:: ---

Färdigt.

Linux

I Linux kan man göra snarlikt:

--- # skapar ett interface för en 6to4-tunnel ifconfig sit0 up

# Konfigurerar gränssnittet med en adress ur mitt IPv6-nät ifconfig sit0 add 2002:52d1:9e80::1/16

# Sätter 6to4-gatewayen 192.88.99.1 som default gateway for # IPv6-trafik route -A inet6 add 2000::/3 gw ::192.88.99.1 dev sit0 ---

Fast sit-interfacet i Linux klarar tydligen netfilter inte av, säger Linux IPv6 HOWTO:

http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/configuring-ipv6to4-tunnels.html

(Ursäkta den trasiga länken. Mitt webverktyg klarade visst inte av den.)

HOWTO:n säger att man skall använda verktyget ip(8) och tunnel-kommandot i stället. Det har jag aldrig provat. Se HOWTO-dokumentet.

MacOS X

Jag kan ingenting om MacOS X, men Keith Moore ger tips här:

http://www.cs.utk.edu/~moore/hints/howto-6to4-macosx.html

Prova anslutningen

Prova sedan:

--- ---

eller

--- ---

som är min maskin. Dit kan du prova att surfa också.

Kolla också på ip6addrctl(8) under *BSD, som styr vilken adresspolicy din burk skall ha. Genom att ändra på den kan du föredra IPv6 (default) eller vända på det, till exempel. Vad motsvarande heter under andra IP-stackar vet jag inte.


Last updated: <2008-11-22 01:41:08 MET>