Introduction

IPv6 (Internet Protocol version 6) is the most recent version of the Internet Protocol (IP) that provides an identification and location system for computers on networks and routes traffic across the Internet.

IPv6 was developed to deal with the problem of running out of available IPv4 address space and is intended to replace IPv4 (IPv6 is 7.9×1028 times bigger than the 4.3 billion addresses provided by IPv4!).

IPv6 addresses are represented as eight groups of four hexadecimal (0-9, a-f) characters with the groups being separated by colons, for example:

2607:f170:0054:0012:0000:0000:0000:0bf0

 

Luckily, IPv6 addresses can and should be written in simplified form (abbreviated/compressed), which is faster and easier to read.

Taking the example above we can strip out all leading zeros and abbreviate consecutive groups of zeros with double colons. Much easier to read.

2607:f170:54:12::bf0

 

How do I enable IPv6 for a Cloud Server

You have two options to enable IPv6 for a Cloud Server; either during server creation or from the server details page. Both options will allocate 16 IPv6 addresses for use on that particular Cloud Server with no reboot necessary.

The 16 IPv6 address range will be presented to users in our Cloud Portal like this:

2607:f170:54:12::bf0 – 2607:f170:54:12::bff

 

You’ll notice that only the last character changed, we did this to try to simplify things for our users (taking advantage of the hexidecimal range of 16 characters: 0-9, a-f).

Here is the whole list of 16 IPv6 addresses from the above example:

2607:f170:54:12::bf0
2607:f170:54:12::bf1
2607:f170:54:12::bf2
2607:f170:54:12::bf3
2607:f170:54:12::bf4
2607:f170:54:12::bf5
2607:f170:54:12::bf6
2607:f170:54:12::bf7
2607:f170:54:12::bf8
2607:f170:54:12::bf9
2607:f170:54:12::bfa
2607:f170:54:12::bfb
2607:f170:54:12::bfc
2607:f170:54:12::bfd
2607:f170:54:12::bfe
2607:f170:54:12::bff

 

Options to enable IPv6 on a Cloud Server:

1) While creating a Cloud Server, check the “Enable IPv6” box and your Cloud Server will:

– have 16 IPv6 addresses allocated for use on that Cloud Server
– configure the first IPv6 address on that Cloud Server

 

 

2) From the Cloud Server details page, click the “Enable IPv6” and your Cloud Server will:
– have 16 IPv6 addresses allocated for use on that Cloud Server, but you will have to manually configure your Cloud Server’s network settings to use the IPv6 addresses.

 

 

How to configure IPv6 on a Server

If you selected “Enable IPv6” when your Cloud Server was created then your first IPv6 address will already have been configured for you. If you would like to configure an IPv6 address for a Cloud Server that you enabled IPv6 for after it was originally created or would like to configure additional IPv6 address for your Cloud Server, the below examples will show you how to do so for various operating systems. After configuring the changes it is recommended that you reboot your server to ensure the changes take full effect.

First, visit your Cloud Server details page to get the IPv6 information for your server

 

 

Ubuntu 14.04, 16.04

Edit your /etc/network/interfaces configuration file to add the appropriate information using the below sample as a reference.

[email protected]:~# cat /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        hwaddress ether 00:00:d0:75:57:99
        address 208.117.87.153
        netmask 255.255.255.0
        gateway 208.117.87.1

# dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers 209.208.127.65 209.208.25.18

 
# Primary IPv6 Address
iface eth0 inet6 static
        address 2607:f170:54:12::bf0/64
        gateway 2607:F170:54:12::1
        dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844

# Additional IPv6 Address
iface eth0 inet6 static
        address 2607:f170:54:12::bf1/64

 

Ubuntu 18.04

Edit your /etc/netplan/01-netcfg.yaml configuration file to add the appropriate information using the below sample as a reference.

[email protected]:~# cat /etc/netplan/01-netcfg.yaml 

# This file describes the network interfaces available on your system
# For more information, see netplan(5).

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      addresses:
        - 208.117.87.153/24
        - 2607:f170:54:12::bf0/64  # IPv6 Primary Address
        - 2607:f170:54:12::bf1/64  # Additional IPv6 Address
      gateway4: 208.117.87.1
      gateway6: 2607:F170:54:12::1  # IPv6 Gateway
      nameservers: 
        addresses:
          - 209.208.127.65
          - 209.208.25.18
          - 2001:4860:4860::8888  # IPv6 DNS Address
          - 2001:4860:4860::8844  # IPv6 DNS Address

 

CentOS, Fedora

Edit your /etc/sysconfig/network-scripts/ifcfg-eth0 configuration file to add the appropriate information using the below sample as a reference.

[[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

# Virtio Network Device Public Interface
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:00:d0:75:57:99
ONBOOT=yes
IPADDR=208.117.87.153
NETMASK=255.255.255.0
GATEWAY=208.117.87.1
DNS1=209.208.127.65
DNS2=209.208.25.18
 
#IPv6 Configuration
IPV6INIT=yes
IPV6ADDR=2607:f170:54:12::bf0/64
IPV6_DEFAULTGW=2607:F170:54:12::1
DNS1=2001:4860:4860::8888
DNS2=2001:4860:4860::8844

# Additional IPv6 Addresses separated by spaces
IPV6ADDR_SECONDARIES="2607:f170:54:12::bf1/64 2607:f170:54:12::bf2/64"

 

Debian

Edit your /etc/network/interfaces configuration file to add the appropriate information using the below sample as a reference.

[email protected]:~# cat /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        hwaddress ether 00:00:d0:75:57:99
        address 208.117.87.153
        netmask 255.255.255.0
        gateway 208.117.87.1

# Primary IPv6 Address 
iface eth0 inet6 static
        address 2607:f170:54:12::bf0/64
        gateway 2607:F170:54:12::1
        dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844

# Additional IPv6 Address 
iface eth0 inet6 static
        address 2607:f170:54:12::bf1/64

 

FreeBSD

Edit your /etc/rc.conf configuration file to add the appropriate information using the below sample as a reference.

[email protected]:~ # cat /etc/rc.conf

# Disable crash dumps by default
dumpdev="NO"

# Public Networking
hostname="FreeBSD"
ifconfig_vtnet0="inet 208.117.87.153 netmask 255.255.255.0"
defaultrouter="208.117.87.1"

# IPv6 Networking
ipv6_activate_all_interfaces="yes"
ifconfig_vtnet0_ipv6="inet6 2607:f170:54:12::bf0 prefixlen 64" # Primary IPv6 Address
ifconfig_vtnet0_alias1_ipv6="inet6 2607:f170:54:12::bf1 prefixlen 64" # Additional IPv6 Address
ipv6_defaultrouter="2607:F170:54:12::1"
 
# Private Networking (Please check the Cloud Control Panel for information on your Private IP range)
#ifconfig_vtnet1="inet <private-ip-addres> netmask <private-netmask>"
#static_routes="net1"
#route_net1="-net <private-network> <private-gateway>"

# System Configuration
sshd_enable="YES"
ntpd_enable="YES"

 

Arch Linux

Edit your /etc/netctl/eth0 configuration file to add the appropriate information using the below sample as a reference.

[[email protected] ~]# cat /etc/netctl/eth0 

Description='Public ethernet connection'
Interface=eth0
Connection=ethernet
IP=static
Address=('208.117.87.153/24')
Gateway='208.117.87.1'
DNS=('209.208.127.65' '209.208.25.18')

## For IPv6 static address configuration
IP6=static
# Primary IPv6 Address and Additional IPv6 Addresses separated by spaces
Address6=('2607:f170:54:12::bf0/64' '2607:f170:54:12::bf1/64')
Gateway6='2607:F170:54:12::1'

 

Windows Server

Open the Network Settings for your Main Ethernet Adapter

Windows Server 2008
– Right-click on the Network Icon in the bottom right tray of your Windows Server
– Click “Open Network and Sharing Center”
– Click “Local Area Connection”
– Click “Properties”

Windows Server 2012 and 2016
– Right-click on the Network Icon in the bottom right tray of your Windows Server
– Click “Open Network and Sharing Center”
– Click “Ethernet”
– Click “Properties”

Windows 2019
– Right-click on the Network Icon in the bottom right tray of your Windows Server
– Click “Open Network & Internet Settings”
– Click on “Change Adapter Options”
– Right-click on Ethernet
– Click “Properties”

Configure the Primary IPv6 Address

Select “Internet Protocol Version 6 (TCP/IPv6) and click “Properties”

Configure the Primary IPv6 Address and DNS and click “OK”, “OK”

You can now check your settings by clicking “Details…”

 

Configure Additional IPv6 Addresses

Click “Advanced…” to configure Additional IPv6 Addresses

Click “Add…” under the “IP Addresses” section

Configure the Additional IPv6 Address and click “Add” and then “OK”

Click “OK”, “OK” and “OK”again

You can now check your settings by clicking “Details…”

 

 

You should now have your IPv6 addresses configured as desired.