IPv6 isn’t a new thing, nor is it really a wave of the future at this point. It’s been in development since the late 90’s when the inherent flaw of IPv4 was finally considered important. However, over the last few years it has made great strides in trying to take over it’s older brother. But, even to this day, while you’re assigned an IPv6 address, it doesn’t necessarily mean you can reach out to the IPv6-accessible websites. A good way to test this is by trying to go to http://ipv6.google.com. If it works, you’ll be welcomed to the standard Google search page. If it doesn’t, you’ll typically see a DNS lookup-related error. This is because IPv6 is not accessible via IPv4.
Recently I took up the position of trying to get IPv6 to play nicely with my home network. I don’t use anything fancy, and ultimately this costed me a grand total of $0.00. But, there are endless possibilities once you do this.
First, I’m going to assume you have Linux installed and you know how to use your distro’s repos. We will be installing some software. I’m using Arch Linux 64-bit, but I’m 99% certain the steps are similar for others out there as well. Just might need some tweaks here and there.
Now, what you need to do is install iproute2. If your system allows you to run this command: “ip addr” (without quotes) then you already have it installed. Wikipedia has a good enough article about iproute2 here: http://en.wikipedia.org/wiki/Iproute2
Once you have that installed, you will need to register for an IPv6 address. You’ll probably have one locally, but this is used externally. While there’s a few “tunnel brokers” out there that offer this functionality, I use Hurricane Electric’s http://tunnelbroker.net/. I have a VPS rented out from them too so I already knew their network was decent. This is simple to do, you just need to click on the “Register” button, fill out the information and submit it.
Now, from here you need to add a tunnel. This threw me off at first, so I’m going to assume you’re being a router here. Having a private IP address and everything. If not, then the step still applies.
Once you’re logged in, go to the “User Functions” section on the left side, and click on “Regular Tunnel”. From there, fill out the info. Now, it’s all pretty self-explanatory, but what threw me off at first was the “IPv4 Endpoint”. This is actually your network’s public-facing IP. So if your ISP gave you an IP of 18.104.22.168, you would put in there 22.214.171.124. It’ll also suggest the closest DC to route you from based on your IP’s geographical location.
Once your tunnel is created, you’ll be faced with a tunnel info page. What you need to do is click on the “Example Configurations” page and choose your method (i.e.: Linux-route2). It’ll give you a list of commands to put into your shell (as root or via sudo). Once you do that, run ping6 -c 1 ipv6.google.com and you should be able to ping Google.
Note that while this allows you to have IPv6 availability, you can still browse IPv4 websites just fine.