IPv6 över IPv4
October 15, 2010 by: Johan HedbergHar du en internetleverantör som inte erbjuder IPv6? Vill du
erbjuda tjänster eller behöver du nå tjänster över IPv6?
Eller tycker du kanske bara att det vore lite coolt att ha IPv6?
Lugn, det enda du behöver för att lösa det här ändå är en dator
med ett UNIX-liknande operativsystem. Den här guiden kommer
fokusera på Debian Linux, men med mindre modifikationer bör
du kunna applicera den på andra Linux-distributioner och kanske
till och med på BSD-system. Du bör ha en grundläggande
förståelse för vad IPv6 är och hur man administrerar ett UNIX-liknande operativsystem. Det kommer även underlätta väldigt mycket om du har en statisk IPv4-adress. De flesta internetleverantörer kan erbjuda detta, ibland till en mindre extra kostnad. Ett annat alternativ är att använda sig av en VPS eller dedikerad server ifall man har en sådan. Nackdelen om man inte har statisk IPv4 är att du kommer behöva konfigurera om IPv6-tunneln varje gång du byter IPv4-adress.
Först och främst behöver du skapa en tunnel. För att göra detta behöver du ha programmet iproute installerat. Om du inte har det installerat kan du använda följande kommando för att installera det.
sudo apt-get install iproute
Nu behöver du skapa en tunnel-enhet som kommer att användas för IPv6. Den skapar du såhär:
sudo ip tunnel add tun6to4 mode sit remote any
Nästa steg är att ta reda på den IPv6-adress som tillhör din IPv4-adress. Ja, du läste rätt, alla IPv4-adresser har IPv6-adresser reserverade. Faktum är att det finns ett helt nät reserverat för varje IPv4-adress. Dessa nät är av storleken /48 vilket innebär ungefär 655360000000000000000 st IPv6-adresser. För att räkna ut vilket nät just du har reserverat kan du använda följande kommandon, byt ut xx.xx.xx.xx mot den IPv4-adress du har.
export MYIP=xx.xx.xx.xx
printf "2002:%02x%02x:%02x%02x::1\n" $(echo $MYIP | sed -e "s%\.% %g")
Resultatet av de kommandona är första adressen i nätet som är reserverat för dig. Det är den adressen du nu kommer att använda för att konfigurera IPv6. I Debian konfigureras nätverket genom att redigera filen /etc/network/interfaces. Nedan visas det du skall lägga till i filen. Byt ut 2002:xxxx:xxxx::1 mot den IPv6-adressen du precis tagit reda på, och xx.xx.xx.xx mot den IPv4-adress du redan har.
auto tun6to4
iface tun6to4 inet6 v4tunnel
address 2002:xxxx:xxxx::1
netmask 16
gateway ::192.88.99.1
endpoint any
local xx.xx.xx.xx
Du är nu nästan redo att aktivera och testa din IPv6-anslutning. Om du har en IPv4-brandvägg med en standard-policy att ignorera okända paket så måste du antingen stänga av den eller konfigurera den att släppa igenom paket på protokoll 41. Notera att det inte är en port det är frågan om utan ett protokollnummer. För att göra detta för iptables i Linux kör du följande kommando.
sudo iptables -I INPUT -p 41 -j ACCEPT
Nu är det dags att aktivera IPv6 och testa. Om du har gjort rätt kommer du få svar på ping från testadresserna.
sudo ifconfig tun6to4 up
ping6 -c1 ipv6.google.com
ping6 -c1 ns1.nsdomain.se
ping6 -c1 ipv6.iis.se


