Configuring an IPv6 tunnel on Ubuntu
Setting up an IPv6 tunnel on Ubuntu 10.04 is reasonably easy, if you have the right instructions. I recently spent quite a bit of trial and error getting a new server on the IPv6 Internet using a tunnel provided by a local provider. Now that I've worked out the tricky parts, it should be easy for others to get it going.
Here are the steps:
- Apply for tunnel from sixxs.net
- sudo admin@your.server.co.nz
- sudo apt-get install aiccu
- enter in username and password (as provided by SixXS.net), and choose the tunnel
- on completion, run ifconfig and look for a "sixxs" device
- it will show the IPv6 address (global scope)
- sudo vim /etc/default/ufw
- set IPV6=yes
- sudo ufw reload
Then you can do a ping6 and traceroute6 test, and it should work. Hosts to try are:
UFW
UFW is the apparently uncomplicated wrapper around the built in firewall called IP Tables. You'll need to add the port numbers you wish to allow connections on. By default, only IPv4 port numbers are in the ufw tables. So just re-add the ones you want:
- sudo ufw allow 80
- sudo ufw allow 443
- sudo ufw allow 22
You will also need to allow the incoming tunnel from your provider (SixXS):
- sudo ufw allow from <PoP IP address> proto ipv6
Finally, get UFW to give you a status report on the open ports. Your new entries should be included:
- sudo ufw status verbose
Apache
Normally Apache will just work out of the box on both IPv4 and IPv6. All you have to do is restart Apache, so that it can notice that there is now an IPv6 connection.
- sudo apache2 restart
Handy links
Finally, here are some handy links if you run into trouble.
- Get connected with SixXS
- Enabling IPv6 in UFW
- Setting up a ipv6 gateway on Hurricane Electric using Ubuntu Lucid Lynx 10.04.2
- Abletech IPv6 testing page
I'm currently setting up a native IPv6 connection on another server. I'll look at making another post on how that went shortly.