How to Enable IPv6 on Droplets

You can enable IPv6 on a Droplet when you create it or after creation.

If you enable IPv6 when a Droplet is created, all the related configuration will be done for you. We recommend this option because it’s faster and simpler, and there’s no chance to make manual configuration errors.

You can still enable IPv6 on an existing Droplet. To do so, you’ll need to power down the Droplet, enable IPv6 in the Control Panel, and then configure the interface on the Droplet itself.

IPv6 communication requires that IPv6 is enabled and configured at both ends of the connection, and not all ISPs offer IPv6 addresses for customers, so you might not be able to use an IPv6 address directly from your local machine.

Enable IPv6 During Droplet Creation

To create a Droplet with IPv6 enabled, open the Create menu from your DigitalOcean Control Panel and select Droplets.

Screenshot of Droplet on the Create menu

This takes you to the Create Droplet page. In the Additional Options section, check IPv6.

Screenshot of IPv6 box checked

When you’ve selected all your options, click the Create button at the bottom.

Once the Droplet is created, its IPv6 address is displayed in the header. You can also click the Droplet’s name, then visit its Networking link in the side navigation to view more IPv6 network information.

Screenshot of IPv6 Information

At this point, you’re ready to use your new address.

Enable IPv6 on Existing Droplets

Your Droplet needs to be powered down to enable IPv6. This safest way to do this is by logging into your Droplet and using the shutdown command with the h flag:

sudo shutdown -h now

Once the Droplet is off, the next step is to enable IPv6 from the Control Panel. This will give you the address information you need to then configure it on the Droplet itself.

On the Droplets page, click the name of the Droplet, then select Networking from the side navigation. In the Public IPv6 network section, click the Enable button.

Screenshot of the Droplet View page with IPv6 "Enable" button highlighted

The page will update automatically and list the IPv6 network information assigned to the Droplet:

DigitalOcean IPv6 config info

When you’re done, click the OFF button to switch the Droplet back ON.

DigitalOcean power on Droplet

You’ll know the Droplet is booted when the switch turns green and the label says ON.

Screenshot of the Droplet powered back on with

When you enable IPv6 after the Droplet is created, you need to manually configure the IPv6 network on the Droplet itself as well. This involves adding a block to the a network configuration file that block assigns the static address, disables automatic configuration, and adds IPv6 nameservers.

The file you edit and the block you add depends on which Linux distribution your Droplet is running.

On Debian or Ubuntu, you’ll need to edit the /etc/network/interfaces file with sudo or as the root user and add the following block:

iface eth0 inet6 static
        address primary_ipv6_address
        netmask 64
        gateway ipv6_gateway
        autoconf 0
        dns-nameservers 2001:4860:4860::8844 2001:4860:4860::8888 209.244.0.3

On CentOS or Fedora, you’ll need to edit the /etc/sysconfig/network-scripts/ifcfg-eth0 with sudo or as the root user and add the following block:

IPV6INIT=yes
IPV6ADDR=primary_ipv6_address/64
IPV6_DEFAULTGW=ipv6_gateway
IPV6_AUTOCONF=no
DNS1=2001:4860:4860::8844
DNS2=2001:4860:4860::8888
DNS3=209.244.0.3

Make sure to substitute in your specific IPv6 address and gateway.

Regardless of which distribution you run, you’ll need to reboot the server for the changes to take effect.

reboot

Once your Droplet comes back up, you can test its connection. From the Droplet, try reaching the Google IPv6 name server using its IPv6 address.

ping6 2001:4860:4860::8888

If IPv6 is working correctly, you’ll see output like this, which means the Droplet can communicate across the Internet with other sites and servers that have IPv6 enabled.

PING 2001:4860:4860::8888(2001:4860:4860::8888) 56 data bytes
64 bytes from 2001:4860:4860::8888: icmp_seq=1 ttl=57 time=3.16 ms
64 bytes from 2001:4860:4860::8888: icmp_seq=2 ttl=57 time=2.79 ms
64 bytes from 2001:4860:4860::8888: icmp_seq=3 ttl=57 time=2.85 ms
64 bytes from 2001:4860:4860::8888: icmp_seq=4 ttl=57 time=2.83 ms
64 bytes from 2001:4860:4860::8888: icmp_seq=5 ttl=57 time=2.88 ms

To exit, press q.

You might see output that says the network is unreachable.

PING 2001:4860:4860::8888(2001:4860:4860::8888) 56 data bytes
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable

In this case, check the changes you made to the configuration file for errors. Once you identify and correct the problem, reboot and test again.