My present configuration uses 6to4. This is a very straightforward mechanism to configure on linux, without needing any setup outside of my own machine. On the downside, it gives very little control of routing which can lead to strange connectivity problems that are hard to debug.
I followed the
Linux IPv6 HOWTO howto pretty faithfully.
I needed these 5 steps:
$ ipv4="22.214.171.124"; printf "2002:%02x%02x:%02x%02x::1" `echo $ipv4 | tr "." " "`
This tells me that my prefix is:
I get a 16-bit (4 hex-digit) subnet number to pick my own networks (I'll pick 2 in this case, fairly arbitrarily), and then the remaining 64 bits go towards identifying the host on the network (which I'll pick 0123:4567:89ab:cdef. Another good choice would be ::1)
So I end up choosing the IP address: 2002:ae8f:f507:2:0123:4567:89ab:cdef
modprobe sit (it was compiled but not loaded) ifconfig sit0 add 2002:ae8f:f507:2:0123:4567:89ab:cdef/16 up /sbin/route -A inet6 add 2000::/3 gw ::126.96.36.199 dev sit0
and now I can ping my own machine:
benc@paella:~$ ping6 dildano.hawaga.org.uk PING dildano.hawaga.org.uk(dildano.hawaga.org.uk) 56 data bytes 64 bytes from dildano.hawaga.org.uk: icmp_seq=1 ttl=62 time=136 ms 64 bytes from dildano.hawaga.org.uk: icmp_seq=2 ttl=62 time=132 ms 64 bytes from dildano.hawaga.org.uk: icmp_seq=3 ttl=62 time=132 ms --- dildano.hawaga.org.uk ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2000ms rtt min/avg/max/mdev = 132.002/133.335/136.002/1.931 ms
easy peasy. shame it's quite unreliable.