The IPv6 ON Button: How to Enable IPv6 on Web Sites

You’ve decided you want IPv6 on your web site. Here’s how.

Step 1. Find your web host below and follow the instructions.

Step 2. Update DNS–create a AAAA record with a test name (www6) pointing to your IPv6 address.

Step 3. Test the site from your machine, your phone, and https://ipv6-test.com/validate.php

Step 4. Update the test name to your web site name.

You should follow up to make sure your web logs tools don’t get confused, and if you’re monitoring the site, make sure to monitor separately for the IPv4 and IPv6 addresses, or users will have a bad experience if one is unavailable.

That’s it!  Usually done in ten minutes.

CloudFlare

Nothing to do, it’s on by default.

If you’re with another cloud company and they don’t have good IPv6 support, CloudFlare will front-end IPv6 for you.

https://www.cloudflare.com/ipv6/

Akamai

EDIT:

For the last several years, IPv6 (dual stack) has been on by default for new sites.

If your page predates that change or you turned it off,  look for IP Version settings for your “Edge Hostname” (which you may recognize as your CNAME).

https://developer.akamai.com/blog/2020/05/04/enable-ipv6-your-edge-hostnames

Amazon Web Services (AWS)

Assuming you’re running your own server on EC2 in a VPC, you’ll need to start by adding IPv6 to the VPC. From the VPC Console, Actions > Edit CIDRs > Add IPv6 CIDR.

Then go to the EC2 console and find which Subnet your EC2 instance is on and add IPv6 to it. In the EC2 Console view, the Subnet ID will be on the bottom right. Subnet ID > Actions > Edit > Add IPv6 CIDR > any two-digit hex string, like 00.

Then update the Route Tables to route all IPv6 traffic from the subnet to the Internet Gateway. From the Route Tables console, Actions > Edit Routes > add 0::/0 with Target your IGW.

Then update your Security Groups to allow traffic from ::0/0. Security Groups Console > Actions > Edit Inbound Rules > Add Rule > then mirror your IPv4 policy. If you allow from “Anywhere,” then make sure that’s selected and includes ::/0.

Then edit your instance to assign an IPv6 address from it. Console > Actions > Networking > Manage IP Addresses > Add IPv6 Address.

If you’ve configured the server yourself (Apache or nginx) you may need to update your “listen” statements.

https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html

Fastly

Enable IPv6 simply by prefixing your CNAME in DNS with “dualstack.” For example:

dualstack.g.shared.global.fastly.net

If you have a custom host name, follow the link to email Fastly Support saying, “I want to add IPv6 to my server www.example.com.”

https://docs.fastly.com/guides/basic-setup/ipv6-support

Softlayer

Server instances can be configured for IPv6 according to their operating system, but IPv6 support for web servers hosted on Softlayer CDN only get IPv6 via Akamai.

https://cloud.ibm.com/docs/infrastructure/CDN?topic=CDN-faqs#is-internet-protocol-version-6-ipv6-supported-with-the-ibm-cloud-content-delivery-network-service-how-does-it-work-

IBM Cloud CDN

Change to a different CDN or use CloudFlare (above).

https://cloud.ibm.com/docs/infrastructure/CDN?topic=CDN-faqs#is-internet-protocol-version-6-ipv6-supported-with-the-ibm-cloud-content-delivery-network-service-how-does-it-work-

Microsoft Azure

You’ll need a Basic Load Balancer or VNet to get IPv6. (Microsoft’s documentation does not state whether Standard Load Balancer supports IPv6).

The Load Balancer option comes with a lot of troubling limitations:

You can’t add IPv6 to your existing VM. You’ll have to create a new one behind your Load Balancer. Your Network Security Group policies won’t apply to IPv6. You can’t do it in the GUI–you have to use the CLI or PowerShell. I’d suggest changing to a different cloud or CDN or adding CloudFlare (above). https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-ipv6-overview

The Virtual Network instructions say you can upgrade in place, but they are less clear about security, but the CLI or PowerShell is still the only way to do it. https://docs.microsoft.com/en-us/azure/virtual-network/ipv6-overview

Rackspace

Rackspace gives pretty good examples on using Neutron to configure a port and using cURL to configure a port.

Google Cloud

You’ll need to configure Load Balancing. There are several ways to configure Load Balancing to support IPv6, given at the links from https://cloud.google.com/load-balancing/docs/ipv6

Note that Google charges for using a static IPv6 address: “Reserved IPv6 addresses are charged at existing rates regardless of whether they are in use or not.” (“Existing rates” currently $0.01/hour for unused addresses, but since Google charges “regardless of whether they are in use or not” they’ll charge, so something like $7.20/month).

The better option is to find another cloud or CDN, or add CloudFlare (above).

Dreamhost

If you have a dedicated server or virtual private server, you’ll pay $5.95/month to reserve an IPv6 address. Find a different host or use CloudFlare (above).

https://help.dreamhost.com/hc/en-us/articles/215279658

https://help.dreamhost.com/hc/en-us/articles/215280058

Others

This list isn’t anywhere near exhaustive. If your provider isn’t listed, search for them by name plus “IPv6.”

I can update this post as I learn of corrections or additions. I’ve also created a common Google Sheet where people can add comments and I’ll update the sheet.

 

Finally, you may have heard that I’m also working for IPv4.Global, powered by HilcoStreambank. As you can see above, IPv6 deployment is very easy, but some people still need IPv4 addresses, and I’m happy to help find them.

Join the IPv6 conversation on Twitter

3 thoughts on “The IPv6 ON Button: How to Enable IPv6 on Web Sites

Comments are closed.