You must have already heard of IPv6. This protocol is not yet very common, both websites and ISPs rarely support it. Why bother then? Using it has several fantastic advantages! The greater pool of IP addresses allows everyone to have his own, unique, publicly visible IP (it is hoped that by these means it will cure the structure of the Internet).
Personally, I like it for following reasons:
- This allows all machines to be accessible from everywhere else. Forget about ISP’s NAT, your computer can become a public server too!
- You can play multi-player games with your friends easily. Everybody has his own IP, even if they are behind a router.
- It is possible to SSH to your home PC from anywhere. I use it to access & use my computer from my mobile when I’m out!
- Some websites promote the IPv6 by presenting it’s users with some gadgets and cool stuff.
(To be clear: these are not advantages of ipv6 protocol itself, it’s just making use of having an unique public IP address. There are many articles on the web which explain how ipv6 is better than ipv4, it’s beyond the scope of this post.)
Does that sound interesting? It is probable, that your ISP does not support IPv6, or it requires additional fee. It is hoped that this will change on the upcomming World IPv6 Launch Day (6 June 2012), when major companies will permanently enable IPv6 for their services. However, you can get one today, for free! This article will help you getting it, and configuring it on Ubuntu. It even works behind a router, NAT!
One of possible tricks allowing you to use IPv6 while your ISP uses only IPv4 is called a tunnel broker (basically it means wrapping your IPv6 packets in IPv4 packets, sending them using your current connection, and unpacking them by external servers). There are several places where this service is free e.g. Hurricane Electric. I chose SixXS (www.sixxs.net), and thus this tutorial will help you setting up a tunnel from sixxs.
- First step is to register.
- Do provide your real data. This information is always verified by human, and any fake accounts will not be created. The reason why they require your address etc. is because they will now act as your ISP for IPv6, so they need your information because of law regulations.
- Members tip: If you register using your @ubuntu.com e-mail, you will get some bonus credit points!
- Next, you need to wait for a reply from them. It may take several days, but considering the fact that this service is free and driven by volunteers, it’s not a lot of waiting.
- An e-mail from SixXS will contain your login credentials. Use them to login on http://www.sixxs.net/home/.
- Request a new tunnel. Click on ‘Request tunnel’ on the menu on the left side.
- Select Dynamic NAT-traversing IPv4 Endpoint using AYIYA. (Others might work too, but this one will work for everyone and is the easiest to set-up and maintain. If you have very special needs, you may want to learn more about other types.)
- Type in your location. In the next form, choose a server near you, and provide SixXS with the reason why you want a tunnel.
- Again, wait for a reply from them. This time it should be much faster, as this time they do not need to verify your user data :)
- The e-mail will contain your tunnel details, as well as yourIPv6 adress (which are also available on your home page on SixXS website).
- The tunnel will be then enabled automatically, but this can take few hours. Do not panic if it’s not working immediately!
At that point your tunnel should be ready to use. Now you need to configure it to work on Ubuntu.
AICCU is used for automatic management of your IPv6 connection. It’s really easy to use on Ubuntu!
- Install it: sudo apt-get install aiccu
- During installation, a dialog will appear, asking you for your SixXS login credentials. If not, update /etc/aiccu.conf with your login/pass afterwards.
- AICCU will now start in the background on system boot, and automatically provide you with a IPv6 connection. If you do not want to restart, you can kick off AICCU using: sudo service aiccu start
- Note that you will now have both IPv4 and IPv6 connections working. If a website uses IPv6 you will connect it with IPv6, but if it has not enabled it yet, you will not loose anything – your IPv4 connection will be used in such cases.
- You can test your IPv6 connection by pinging some IPv6-enabled website, e.g. ipv6.google.com (note: use ping6 instead of ping). You may also want your friend to ping6 your IPv6 address, to check if it’s publicly visible (note that your friend will need a IPv6 connection too). It will be, but testing it is just awesome! :-)
That’s it! You can now access the IPv6-enabled Internet, and make use of your public IP!