Thursday, August 28, 2008

IPv6 on OpenWRT (with SixXS)

As I wanted to be part of the IPv6 net at home, I registered at http://www.sixxs.net and applied for a tunnel. And what do you know: They had a PoP in the very city where I live (Zurich). The next step (after my tunnel was enabled), was to enable IPv6 on my Linksys WRT54G v2.2 running OpenWRT Kamikaze.

There are some guides on setting up IPv6 on OpenWRT (e.g., http://wiki.openwrt.org/IPv6_howto ), but they leave out some important details. The guides advise you to install:

ipkg install kmod-ipv6
ipkg install radvd
ipkg install ip
ipkg install kmod-ip6tables
ipkg install ip6tables
ipkg install aiccu

However, in order to have things work properly over a SIT tunnel (which is what SixXS uses), you need to install three additional packages:

ipkg install kmod-iptunnel4
ipkg install kmod-tun
ipkg install kmod-sit


After installing these, and getting you SixXS tunnel confirmation mail, edit /etc/aiccu.conf but do not set the server's IP address in this file; AICCU will figure that out for you.

A simple AICCU should now do the trick, and indeed:

root@:~# ping6 -c 4 ipv6.google.com
PING ipv6.l.google.com (2001:4860:0:1001::68): 56 data bytes
64 bytes from 2001:4860:0:1001::68: icmp6_seq=0 ttl=55 time=54.3 ms
64 bytes from 2001:4860:0:1001::68: icmp6_seq=1 ttl=55 time=52.9 ms
64 bytes from 2001:4860:0:1001::68: icmp6_seq=2 ttl=55 time=56.0 ms
64 bytes from 2001:4860:0:1001::68: icmp6_seq=3 ttl=55 time=54.8 ms