Configuration IPv6 pour une Dedibox sous CentOS 7

Rédigé par Nicolas Sulek Aucun commentaire
Classé dans : Services réseaux, Système Mots clés : IPv6, kernel, CentOS, firewallD, iptables
La configuration d'IPv6 pour utiliser le réseau d'online.net n'est pas vraiment triviale, notamment sous CentOS 7. La documentation officielle d'online manquant un peu de détails, voici comment procéder avec une Dedibox SC gen 2.
Pour info, sur la Dedibox SC gen 2, eth0 est renommée enp2s0 sous CentOS 7.

Désactivation de NetworkManager et retour de network

Tout d'abord, il faut désactiver NetworkManager et repasser au bon vieux network. C'est un choix personnel, il doit être tout à fait possible d'utiliser NetworkManager.
systemctl disable NetworkManager
systemctl enable network

Configuration du noyau Linux

Il est nécessaire de modifier certains paramètres du noyau afin de pouvoir notamment récupérer la passerelle au travers de paquets Router Advertisement en ajoutant un fichier /etc/sysctl.d/custom.conf :
net.ipv6.conf.enp2s0.autoconf = 0
net.ipv6.conf.enp2s0.accept_ra = 1
Puis en chargeant ces nouveaux paramètres avec :
sysctl -p /etc/sysctl.d/custom.conf

Autoriser les communications DHCPv6

Ne pas oublier d'ouvrir le port UDP 546 correspondant à dhcpv6-client.

Avec FirewallD :
firewall-cmd --permanent --zone=public --add-service=dhcpv6-client
systemctl restart firewalld
Avec iptables, éditer le fichier /etc/sysconfig/ip6tables
-A INPUT -p udp -m state --state NEW -m udp --destination fe80::/64 --dport 546 -j ACCEPT

Installation et configuration de dibbler

Compilation et installation

Malheureusement, dhclient, le client DHCPv6 standard de CentOS, a un fonctionnement erratique. Du coup, il faut passer par dibbler, un autre client DHCPv6, mais non disponible en RPM. Toutefois, la procédure est relativement simple pour en créer un. Il faut récupérer l'archive tar.gz, la décompresser, puis
mkdir -p ~/rpmbuild/SOURCES/
cp ../dibbler-1.0.0.tar.gz ~/rpmbuild/SOURCES/
Sur la version 1.0.0 que j'ai utilisée, il y a un petit bug dans la version affichée du RPM. Il faut éditer le fichier scripts/fedora/dibbler.spec et remplacer
Version: 1.0.0RC1
par
Version: 1.0.0
et on peut lancer la création du paquet RPM avec
 rpmbuild -ba scripts/fedora/dibbler.spec
et l'installer :
rpm -i ~/rpmbuild/RPMS/x86_64/dibbler-1.0.0-1.x86_64.rpm 

Configuration et DUID

Afin d'avoir notre adresse IPv6 attribuée et activée, il faut "authentifier" la Dedibox sur le réseau online.net à l'aide du DHCP Unique Identifier (DUID), visible dans la console d'administration dans l'onglet IPv6.
Pour le renseigner dans dibbler, il faut créer le fichier /var/lib/dibbler/client-duid avec comme contenu le fameux DUID, par exemple :
echo "01:02:03:04:05:06:07:08:09:10" > /var/lib/dibbler/client-duid
Il ne reste plus qu'à configurer dibbler dans /etc/dibbler/client.conf
 duid-type duid-ll
 log-level 7
 inactive-mode

 iface "enp2s0" {
 ia pd
 option dns-server
 option domain

}

iface "enp3s0" no-config
Pour exécuter dibbler, on peut le lancer en console avec
dibbler-client run
ou créer un fichier unit pour systemd :
[Unit]
Description=Dibbler
After=network.target

[Service]
Type=simple
ExecStart=/usr/sbin/dibbler-client start
ExecStop=/usr/sbin/dibbler-client stop
PrivateTmp=true
NonBlocking=yes

[Install]
WantedBy=multi-user.target

Les commentaires sont fermés.