IPv6 sur un dédié Online/Scaleway (sans dhclient)

Post rapide, car la doc d'Online/Scaleway indique toujours de faire usage de dhclient pour avoir de l'IPv6 sur son serveur, et dhclient c'est le mal.

Heureusement, il existe un client DHCP qui a le mérite de ne pas avoir besoin de bricoler un service systemd à l'arrache pour qu'il fonctionne : dhcpcd

En pratique :


Dans mon setup, j'utilise dhcpcd seulement en ipv6 sur une base debian/proxmox avec une interface physique (enp1s0f0) et un bridge virtuel (vmbr0).

Également, je ne découpe pas mon /48, car j'en ai pas utilité pour le moment, si vous le découpez, il faudra noter le DUID du bloc que vous voulez utiliser et non celui du /48 et pensez à adapter les confs.

Pour commencer, on règle /etc/network/interfaces avec ce qu'il nous faut.

# /etc/network/interfaces

auto lo
iface lo inet loopback

iface enp1s0f0 inet manual

iface enp1s0f1 inet manual

auto vmbr0
iface vmbr0 inet static
        address 163.172.54.X/24
        gateway 163.172.54.1
        bridge-ports enp1s0f0
        bridge-stp off
        bridge-fd 0

iface vmbr0 inet6 static
        address 2001:0bc8:XXXX::1/48
        accept_ra 1

Ensuite, on s'assure d'avoir ifupdown2 et dhcpcd d'installés.

apt install dhcpcd ifupdown2

Ensuite, on peut se créer un fichier /var/lib/dhcpcd/duid avec l'éditeur de son choix et coller le DUID directement dedans.

Après, on peut configurer dhcpcd comme suit :

# /etc/dhcpcd.conf

dhcp6

denyinterfaces enp* veth* tap* ens* eth*
allowinterfaces vmbr0

interface vmbr0
static ip_address=163.172.54.XXX/24
static routers=163.172.54.1
static domain_name_servers=1.1.1.1
ipv6_rs
ia_pd 1 vmbr0/0

duid
persistent
vendorclassid
option classless_static_routes
option interface_mtu
option host_name
option rapid_commit
require dhcp_server_identifier
slaac private
La partie static IPv4 c'est juste au cas où, je changerait ptet un jour.

Et c'est tout bon, vous pouvez systemctl enable dhcpcd dans votre console et ensuite :
- ou vous redémarrez le système
- ou bien passer un coup de ifreload -a ; systemctl start dhcpcd

Normalement dhcpcd vous fournira une route par défaut fournie par le serveur dhcpv6 de Scaleway (vérifiable via ip -6 r).