Jan 202012
Spend 30 minutes with IPv6 every Friday!

This week, a new global project was launched by the Internet Society. The Internet Society are behind a lot of things on the Internet, among them the work done in the Internet Engineering Task Force. Last year, they announced the World IPv6 Day and got a lot of web site owners involved in one day of testing dual stack on their web servers. This year, web site owners will launch dual stacks on their web servers June 6th – and keep it active. Now I dare you: Are you willing to join this effort?

 June 6 is not only the National Swedish Holiday but the World IPv6 Launch day! Spend 30 minutes today considering what needs to be done, get your plan together and set it into action!

What is the World IPv6 Launch?

The World IPv6 Launch is a project where a lot of ISPs and web sites are turning on IPv6 for good. Not testing, not playing around – this time it’s for real. And they invite you to join the effort. Among the participants you will find Facebook, Google, Microsoft Bing, AT&T, Cisco, D-link and many more.

Your plan in short:

  1. Get IPv6 to your external network or the hosting center that runs your web site
  2. Get IPv6 to two of your DNS servers – or add slave DNS servers from someone else that can publish your zones over IPv6
  3. Activate IPv6 on your web site
  4. Test, test, test and fix issues with IPv6 on the site
  5. Celebrate your IPv6 Launch on June 6th (and eat some meatballs at Ikea to celebrate Sweden!)

The longer version:

  • In order to get IPv6 you need to start with asking your Internet Service Provider. If he can’t deliver IPv6 in time, ask someone else and consider switching. If you can’t, get a tunnel. Regardless of how you do it, you will get plenty of addresses to work with.
  • Get real IPv6 or a tunnel to a lab network. Set up a separate subnet that ONLY runs IPv6 and one that runs dual stack. You need this for testing.
  • Set up a test web server on a dual stack connection (or if you dare, add an IPv6 address to your live site, but do not announce it in DNS until you are ready).
  • If you do not add the IPv6 address in DNS, add an entry to /etc/hosts on the web browser test system for your web site
  • Test the web site and all scripts you run there from an IPv6 only machine and from the dual stack machine
  • Check for plugins or javascripts that doesn’t work or take a long timeout before it exits. All external sites that you integrate, like reCaptcha, Google Analytics or Twitter will have to work. If they don’t, you will have to go back to the web site developers and ask them to create a solution that behaves nicely.
  • Test the backend systems. If you run GeoIP to analyze the web logs – does it support IPv6. Does the statistics software you use understand IPv6? If your database logs IP address when people submit forms or interact with the web service – can the database store IPv6 addresses? There’s a lot of small issues to resolve and test.
  • The firewalls and the load balancers that are placed in front of your web need to handle dual stacks. If not, can you add separate solutions for IPv6 ? Remember that you do not have to route it the same route to the web site. After all, it’s a different protocol.
  • If you monitor the web site with systems like Icinga or Nagios – make sure you add tests for IPv6 reachability to the web site and from the web site to the router, like you do with IPv4.

Why do I have to test from a IPv6 only network?

IPv6 Only - are you crazy? No, all web site and application developers need to test that!When you enable dual stack on the client you are actually still using both protocols. Even if you fetch the main HTML code over IPv6, content like pictures or third-party content picked up by javascript in the browser may use either stack. So you do not really know if your site is accessible over IPv6.
Yesterday I turned off IPv4 in my Mac – that’s easily done in the network settings. Testing a web form using reCaptcha i discovered that the reCaptcha was gone and that I could not submit any form data over IPv6. I will have to find some other form validation solution while waiting for reCaptcha to support IPv6. On another site, they used a Twitter plugin that just failed to load. If I had not disabled IPv4 I would not have discovered these issues.

Needed: A Javascript that detects if the connection is IPv6 or IPv4

In order to make it easier for web site developers, I need a Javascript library so that the client side is aware of the connection and can select content based on that. The scripts need to know whether the client is connected with dual stack or single stack and make the page behave properly. If this already exists, please give me feedback and I’ll update this page.

The WordPress IPv6 Detector pluginWordPress plugin: IPv6 Detector

For those of you that use WordPress, there is an IPv6 detector plugin by Andres Altamirano you can use to show users how they are connected. While testing with modern web browsers you will see that when using dual stack systems, your connection will switch between the protocols and stabilize on the best. Without placing yourself on an IPv6 only network or disabling IPv4 in your system, you can not truly test IPv6 compatibility.

Summary: Join the World IPv6 Launch effort now!

During 2012 more and more systems will be IPv6 enabled and the amount of traffic that use IPv6 will still be a small amount, but a growing amount. If you start adding IPv6 now, you will have time to work on it and make it work properly. The important thing is that you start now. Otherwise it will be a massive and expensive project a few years from now when your boss realize that you are loosing business because customers in some parts of the world have troubles reaching your service. Besides making your management happy, I’m sure you’re going to enjoy celebrating with the Swedish meatballs at Ikea on June 6th!


Related to the World IPv6 Launch: