Okay, here’s a quick and easy HOWTO on getting IPv6 running on your Linux box. I’m using a stock Slackware 11 box, so this should work pretty much the same anywhere else (unless you already have it enabled).
Check whether or not your kernel already has the IPv6 modules loaded:
/sbin/ifconfig -a | grep inet6
Load the module and see the results:
You should now be able to ping to localhost:
PING ::1(::1) 56 data bytes
64 bytes from ::1: icmp_seq=1 ttl=64 time=0.095 ms
64 bytes from ::1: icmp_seq=2 ttl=64 time=0.074 ms
64 bytes from ::1: icmp_seq=3 ttl=64 time=0.071 ms
If you’re behind a NAT, your best option is probably in getting a tunneling client that’ll encapsulate your v6 packets in v4 and then send them across. I found a very nice one: Freenet6’s Gateway6 client. Download the package and install it. Installation is as easy as a gmake all and a gmake install. The executable is called gw6c. A config file (gw6c.conf) is also needed.
I haven’t registered with Freenet6 yet, so I connect as an anonymous user, and an IPv6 address is given to me from a pool. I went through the guide included in the package, but I didn’t have to change a thing in the config file, and the defaults allowed me to connect to their broker.
You’re all set now! Check out the Kame website; if you see a dancing turtle, you’re all done! Just in case you’re wondering about existing IPv4 websites and such, don’t worry: Both A and AAAA DNS queries are made, so if a website is not IPv6 enabled, you’ll still be able to access it without any problems.
This comprehensive HOWTO really gives you bucketloads of information in case you’re interested.
If you’re happy with the changes and want to make them permanent, you might want to add the modprobe ipv6 line in your /etc/rc.d/rc.modules file, and another rc file in /etc/rc.d to start your client.