Knowledge base
1000 FAQs, 500 tutorials and instructional videos. Here, there are only solutions!
Check and configure DHCPv6 on your Cloud VPS
This guide explains how to check and configure DHCPv6 support on the operating system of your Infomaniak Cloud VPS.
Introduction
- During a planned operation requiring the migration of your Cloud VPS to another cluster, the assignment of the current IPv6 address will now rely on DHCPv6 in order to retain the address already assigned to the server.
- DHCPv6 is only used to automatically transmit this same IPv6 address to the operating system of the Cloud VPS.
- This change only concerns VPS Cloud where you manage the operating system yourself.
- This does not apply to managed Cloud Servers.
- If your operating system does not support DHCPv6, you can configure the IPv6 address statically in the operating system of your Cloud VPS.
- The IPv6 address to use is displayed in the dashboard of your Cloud VPS, accessible from the Infomaniak Manager.
Check that IPv6 is enabled
DHCPv6 cannot function if IPv6 is disabled on the system. Check the status of IPv6 using the following commands:
sysctl net.ipv6.conf.all.disable_ipv6
cat /proc/net/if_inet6
ip -6 addr showThe first command should return 0. The /proc/net/if_inet6 file must contain at least one IPv6 address.
Check that router advertisements are being accepted
Prerequisites
- Identify the name of the network interface in question, for example
eth0,ens3orenp1s0. - Replace
<interface>in the commands below with the name of this interface.
DHCPv6 triggering depends on the flags transmitted by router advertisements, called Router Advertisements (RA), and not only on the server's local configuration.
The router announces the following two indicators:
- M — Managed: use DHCPv6 to obtain the IPv6 address in stateful mode
- O — Other: use DHCPv6 only to obtain additional parameters, such as DNS servers, while the IPv6 address is assigned by SLAAC.
Verify that the interface accepts RA announcements:
sysctl net.ipv6.conf.<interface>.accept_raPossible values are:
0: RA ads are not allowed1: RA ads are allowed2: RA advertisements are accepted even when routing is enabled.
If the ndisc6 package is installed on Debian, Ubuntu, Fedora, or RHEL, display the received advertisements:
rdisc6 <interface>The following line indicates that the network is requesting the use of DHCPv6 to assign the IPv6 address:
Stateful address configuration: Yes
Configure DHCPv6 according to the network manager
The configuration to apply depends on the network manager used by the operating system of your Cloud VPS.
NetworkManager
NetworkManager is notably used by RHEL, Rocky Linux, AlmaLinux, CentOS Stream, Fedora, and frequently by Ubuntu Desktop.
Display the NetworkManager connections to identify the name of the one associated with the network interface:
nmcli connection showIn the following commands, replace <connection> with the name of this connection.
Display its IPv6 settings:
nmcli connection show "<connection>" | grep ipv6The key parameter is ipv6.method. It can contain the following values, among others:
auto: processes RA announcements and uses DHCPv6 when the router's transmitted indicators request it.dhcp: force the use of stateful DHCPv6manual: uses a manual IPv6 configurationdisabled: disables IPv6 for this connection
The auto value is recommended so that NetworkManager processes RA announcements and uses DHCPv6 when the network requests it.
To apply this configuration:
nmcli connection modify "<connection>" ipv6.method auto
nmcli connection up "<connection>"
Networking (Debian 11 Bullseye and earlier versions)
Debian versions up to Debian 11 (Bullseye) generally use the network manager.networking (ifupdown).
Check the network interface configuration:
cat /etc/network/interfacesMake sure that the relevant interface contains the following line:
iface <interface> inet6 dhcpThen, check that the networking service is active:
systemctl status networking
systemd-networkd (Debian 12 Bookworm and later)
Since Debian 12 (Bookworm), systemd-networkd is commonly used on server installations.
Check that the service is running:
systemctl status systemd-networkdNext, inspect the network configuration files:
cat /etc/systemd/network/*.networkThe file corresponding to the interface in question must contain one of the following configurations:
[Network]
DHCP=yes # enable DHCPv4 & DHCPv6or:
[Network]
DHCP=ipv6 # enable only DHCPv6You can then check the overall network status or the status of a specific interface:
networkctl status
networkctl status <interface>
Netplan
Netplan is notably used by Ubuntu since version 18.04. It is an overlay that generates a configuration for systemd-networkd or NetworkManager.
In the corresponding file under /etc/netplan/*.yaml, enable DHCPv6 for the interface in question:
network:
version: 2
ethernets:
eth0:
dhcp6: true
accept-ra: trueReplace eth0 with the name of the interface in question, then display the effective configuration and apply it:
netplan get
netplan apply
wicked
wicked is notably used by openSUSE and SUSE Linux Enterprise Server.
Check the DHCLIENT6_MODE setting in the file corresponding to the interface:
/etc/sysconfig/network/ifcfg-<interface>Then, check the status of the interface:
wicked show <interface>
Direct DHCPv6 client
The following commands allow you to perform a manual DHCPv6 test or use it directly, especially on Alpine Linux, Gentoo, and some Arch Linux installations.
With the ISC DHCP client:
dhclient -6 -v <interface>DHCPv6 leases are stored in:
/var/lib/dhcp/dhclient6.leasesWith dhcpcd:
dhcpcd -6 <interface>
Configure the IPv6 address statically
If the operating system of your Cloud VPS does not support DHCPv6, or if you cannot use it, configure the IPv6 address indicated in the dashboard of your Cloud VPS directly from the Infomaniak Manager.
The method depends on the network manager used by the operating system. In all cases, make sure to use the exact IPv6 address, prefix, and gateway provided for your Cloud VPS.
Link to this FAQ: https://faq.infomaniak.com/2914
Has this FAQ been helpful?