Have you heard of IP addresses and IPv6? An Internet Protocol address (IP address) is a numerical label for identifying and locating networked devices. Each device connected to any computer network that uses the Internet Protocol for communication will have an IP address.
Its primary purposes are to identify the device's network interface, and to specify the host's location in the network, thus establishing a path to that host. If you can read this text, you know your computer must have an IP-address.
The Internet Engineering Task Force (IETF) and IANA first deployed the original version of the Internet Protocol in 1983, and called it Internet Protocol v4 (IPv4). Each IPv4 address has 32 bits, limiting the address space to 4,294,967,296 available addresses. This may seem like a lot, and back in 1983 it certainly appeared to be plenty for the needs of all internet users. But by the late 1990s, as internet use grew and grew, it was becoming apparent that this was not the case and many Internet Service Providers saw the rapid exhaustion of their available IPv4 addresses.
More and more services appeared on the Internet and the Internet usage of households changed. Whilst a shared IP-pool was sufficient for a large number of users that were connected only a few hours per day using dial-up connections, this changed as broadband connections became more and more widespread. Being connected 24-hours per day, each subscriber now required a dedicated IP address.
This all prompted the creation of a new version of the Internet Protocol to deal with these problems. The new version of the protocol was developed and released in 1998, and named Internet Protocol v6 (IPv6). The size of an IPv6 address is 128 bits and its address space has therefore about 340,282,366,920,938,000,000,000,000,000,000,000,000 unique IP addresses available. Or written in numbers: 340 trillion, 282 billion, 366 million, 920 thousand, 938 — followed by 24 zeroes. Enough to provide every atom on the Earth’s surface an IP address. Let's assume that these will last us for a while.
After several years of testing, the new protocol became more widespread during the years 2000. As the last available /8 IPv4 block was assigned in April 2018, we are now in a situation where current IPv4 needs can only be fulfilled by recuperating unused subnets or exchanging IP addresses between service providers. As the Internet grows each day, complete IPv4 exhaustion, with no more addresses to trade or subnets to exploit, is not far away. That's why at Scaleway, we encourage the usage of IPv6 on your production systems. In this blog post, we will explain how to use IPv6 on various Scaleway products.
At Scaleway Elements and Scaleway Dedibox, all Virtual Instances and dedicated servers are IPv6 compatible, and IPv6 connectivity is provided free of any additional costs.
IPv6 at Scaleway Elements Virtual Instances
Scaleway Elements Virtual Instances come with an /64 IPv6 subnet each. The subnet is routed statically to the Virtual Instance, and one IPv6 address is configured on each of your instances by default. You can see the configured IPv4 and IPv6 addresses of your Instance, as well as the netmask and information of your subnet on the Instance Information page of each Virtual Instance:
Note: The subnet is allocated to the physical host of your Virtual Instance. When you archive and restart it, it may boot on another physical host, and your subnet may change.
IPv6 in Scaleway Private Networks on Virtual Instances
A Private Network on Scaleway Elements is a LAN-like layer two ethernet network. A new network interface with a unique media access control address (MAC address) is configured on each Instance in a Private Network. They are virtual but completely private local networks that securely connect your instances without necessarily exposing them publicly. Each Private Network is fully IPv6 compliant. To configure IPv6 in your Private Network, you should always use a /64
subnet, and we recommend using an fc00::/7
unique local address (ULA) range. ULA IPv6 address generators are widely available for generating a personalized range.
Note: The Public Gateway for Private Networks currently supports only IPv4. IPv6 support will be coming soon.
IPv6 on Scaleway Load Balancers
Scaleway Managed Load Balancers are highly available and fully managed instances that distribute workloads among your servers. Currently, the public frontend of Load Balancers supports IPv4, with support for IPv6 coming soon. However, you can already use IPv6 connections to communicate between the Load Balancer and your backend servers. This allows you to deploy your compute instances without the need for a public IPv4, so you can still help avoid IPv4 exhaustion..
IPv6 at Scaleway Dedibox
In an effort to fight against the complete exhaustion of available IPv4 addresses, each customer can request a free /48
IPv6 subnet from the Scaleway Dedibox console. This provides a theoretical maximum of 18,446,744,073,709,551,616 IPv6 addresses.
Different than IPv4, IPv6 does not have a subnet mask. Instead, a Prefix Length, or "Prefix", for short, is used. The IPv6 Prefix Length works similarly to CIDR (Classless Inter-Domain Routing) on IPv4. It determines how many bits of the address define the network in which it exists. The Prefix Length may have any value from 1 to 128, but the most common prefixes used on IPv6 networks are multiples of four.
To use your IPv6 subnet on multiple dedicated servers, you can split this subnet into smaller prefixes with the following restrictions:
- As many
/56
prefixes as you have dedicated servers
- As many
/64
prefixes as you have failover IPs
Although it is technically possible to use smaller subnets, they are impractical for Ethernet-based networks, as 64 bits are required for SLAAC (stateless address autoconfiguration). SLAAC automatically generates a 64-bit interface identifier based on the existing MAC address of the network interface. As each MAC address is unique, the generated interface identifier is unique, too. These automatically generated 64-bit interface identifiers are globally valid for addressing and uniquely identifying each network interface on the Internet.
Note: The IPs from your IPv6 network block can be used on all of your Dedibox servers. However, it is not possible to configure the IPs of this block on your Scaleway Elements services.
You can request your free IPv6 subnet from the Scaleway Dedibox Console. Click the Order A Free /48 Block button to get your free subnet:
The subnet configuration on your Dedibox is done using a DHCPv6 client and the subnet's DUID (DHCP unique identifier). The DUID is your "key" for the subnet, and the DHCP server allocates the subnet to your machine by comparing the DUID with its database. If a matching combination is found, it delivers configuration data (address, lease times, DNS servers, etc.) to the client.
For more information how to configure IPv6 on your Dedibox server, including on various Linux distributions and Windows, refer to our dedicated documentation.
IPv6 Stateless Address Autoconfiguration on Dedibox Servers
On several Dedibox dedicated servers, you can also use Stateless Address Autoconfiguration (SLAAC), allowing your server to obtain an IPv6 address automatically. When using SLAAC, the server sends a router request to get a globally routable IPv6 prefix that generates the complete IPv6 address, based on the interface identifier aka EUI-64 of the network interface. This is done through a Router Solicitation -> Router Advertisement exchange. The RA permits configuration of the default route and allows you to obtain a permanently assigned static IPv6 for your Dedibox without any manual configuration. You can enable this feature directly from your Console by clicking on the corresponding button:
For more information on IPv6 at Scaleway Dedibox, refer to our documentation page on the subject.
Note: If your server supports SLAAC, you should enable it, even when you want to use IP addresses from your /48 subnet.
Scaleway Bare Metal Cloud Servers come with a /128 IPv6 subnet and allow you to use one IPv6 address on your server. This IP address is configured automatically during the machine's installation, and each Bare Metal Cloud Server is IPv6-ready without the need for additional configuration.