Free IPv6 for dialup and DSL users on Linux

Free and full IPv6 connectivity without registration, activated in a couple of minutes? How does that sound?

Using the standard tunnel mechanism called 6to4 your Linux machine can act as an IPv6 gateway for your whole private network, and thus act as a central hub for your Windows and Apple clients.

Just follow these easy steps:

  1. sudo apt-get install radvd
    If you are not using Debian/Ubuntu, use the respective mechanism of your distribution to install radvd. radvd advertises IPv6 to your internal network.
  2. sudo wget -O /etc/init.d/setup_ipv6 http://soprado.com/tmp/setup_ipv6
    This downloads the setup script from us.
  3. sudo chmod +x /etc/init.d/setup_ipv6
    Makes the script executable.
  4. If your network device is not connected to eth0, modify LOCAL_INTERFACE in /etc/init.d/setup_ipv6 (note: virtual interfaces such as eth0:1 are not supported by radvd)
  5. sudo /etc/init.d/setup_ipv6
    The script will continue running, so open another terminal for the next command. 
  6. ping6 ipv6.google.com

The script will calculate your IPv6 prefix according to your external IP, configure the tunnel, setup radvd, and periodically check your current IP address. If your external IP address changes (e.g. by a forced disconnect by your ISP), the IPv6 prefix will be updated.

In my personal case running that script was enough to make IPv6 work for Linux and Windows. Depending on your router you might need to put your Linux system in the DMZ (i.e. make the router forward unrecognized packets to it) or forward protocol type 41 (IPv6) to it (and maybe 44, 58).

The setup_ipv6 script is being used daily with Debian wheezy as gateway and Windows 7 as client.

Please let us know whether/how this method works for you.