Announcing IPv6 support for Cloud IPs

Today I’m very pleased to announce IPv6 support for Cloud IPs. So now you can instantly move IPv6 IP addresses between Cloud Servers, Load Balancers and Cloud SQL instances as well as IPv4 addresses.

Cloud IPs are one of the foundational features of Brightbox Cloud and enable you to treat your servers like “cattle not pets” by decoupling your public facing IP addresses from your back-end systems. Just build new instances and re-point your Cloud IPs - no DNS updates necessary!

Unlike some more basic “floating IP” implementations, Brightbox Cloud IPs work seamlessly across both our UK datacentres. So you can instantly move an IP address from a server in one datacentre to a server in another without any reconfiguration. And when mapped to a Load Balancer, they’re available from both datacentres at once with automatic fail-over if there is a problem.

We’ve had “static” IPv6 support within Brightbox Cloud since way back in 2012, where IPv6 addresses were tied to the cloud servers. This meant a more traditional approach to handling migrations between servers, which usually means updating DNS and waiting.

It always made a lot of sense for Cloud IPs to support IPv6, but the technical solution wasn’t as straightforward as IPv4 (we had to add support to the Netfilter conntrack tools, as an example!) - which is why we believe this is a first of its kind!

How do they work?

Cloud IPs use NAT (Network Address Translation), which IPv6 has sought to avoid (for some good reasons) so it’s been tricky adding support for this. Announcing this feature on Halloween might be a nod to every network administrator having a scary NAT story to tell!

But IPv6 never managed to come up with a good client-side way to avoid interruptions so NAT remains a good fit here.

The compromise is that, unlike IPv4 Cloud IP addresses, IPv6 Cloud IPs are used only for incoming connections, so your outgoing IPv6 connections still use your Cloud Server’s own static IPv6 addresses. So unless you specifically choose to use the addresses, by exposing them in DNS records for example, they won’t affect any of your existing IPv6 traffic. It stays out the way unless you need it.

How do I use them?

Rather than give you a whole new type of Cloud Resource to manage separately, we’ve just added an associated IPv6 address to every Cloud IP. So when you map a Cloud IP, the IPv6 address goes along with it automatically. You can find the IPv6 address of your Cloud IPs using our API (via our CLI or our web-based Brightbox Manager), or simply using the Cloud IP’s DNS record which now has a AAAA entry:

$ host cip-dcdx0.gb1.brightbox.com cip-dcdx0.gb1.brightbox.com has address 109.107.35.197 cip-dcdx0.gb1.brightbox.com has IPv6 address 2a02:1348:ffff:ffff::6d6b:23c5

Those fluent in base16 should have noticed that our IPv4 Cloud IP addresses are embedded within our IPv6 address space :)

So just stick your Cloud IPv6 address in your DNS along with the IPv4 address and you’ll start getting incoming IPv6 (most modern network services listen on IPv4 and IPv6, but make sure before you update your DNS).

Load Balancers

Since our Load Balancers are also Cloud IP enabled, they now support IPv6! Just publish your Load Balancer’s Cloud IPv6 address in your DNS and you’re good to go. Our Load Balancers continue to use your Cloud Servers’ private IPv4 addresses for the backend connections so you don’t even need to worry about their IPv6 configuration. Incoming IPv6 connections go out to the backend as private IPv4, so nothing changes from the perspective of your backend (well, except if you’re using HTTP listeners, the X-Forwarded-For header will be an IPv6 source address of course).

DNS

The new IPv6 address also now appears in the public.srv-xxxxx.gb1.brightbox.com hostname:

$ host public.srv-6x1w3.gb1.brightbox.com public.srv-6x1w3.gb1.brightbox.com has address 109.107.35.157 public.srv-6x1w3.gb1.brightbox.com has IPv6 address 2a02:1348:ffff:ffff::6d6b:239d

And ipv6.srv-xxxxx.gb1.brightbox.com remains unchanged and still resolves to the server’s own IPv6 address.

The DNS reference page has been updated with all the new records so take a look there to see what’s changed.

World first?

Know of any other providers offering movable IPv6 addresses like this? We think this might be a world first. OpenStack seem to be working on it but it’s early days. Let us know if we’re missing someone!

Get started

I’ve personally needed this feature for years for my own projects, but it took this long to convince the team that NAT wasn’t evil, at least not in this case!!

I hope you find it useful too.

You can sign up for Brightbox Cloud in just a couple of minutes and get a £50 free credit to play with IPv6.