Préfixe IPv6 /48

Si vous n'avez pas encore commandé votre bloc, vous pouvez le faire directement depuis votre console.

À cause de bug identifié dans dibbler-client, nous ne recommandons plus ce client dhcpv6

Configurer le client DHCPv6

Nous utiliserons ici dhclient.

Il vous faudra modifier le fichier /etc/dhcp/dhclient6.conf :

interface "eth0" {
   send dhcp6.client-id DUID;
}

Il vous faudra adapter le nom de l'interface (eth0) et le DUID disponible dans votre console.

Démarrage du client DHCPv6 avec SystemD

Une fois le client configuré, il vous faudra créer un service SystemD en adaptant le nom de l'interface (eth0) pour lancer le dhclient qui permettra l'utilisation de votre DUID (pour votre identification sur le réseau) à chaque démarrage.

Créez le fichier /etc/systemd/system/dhclient.service :

[Unit]
Description=dhclient for sending DUID IPv6
Wants=network.target
Before=network.target

[Service]
Type=forking
ExecStart=/usr/sbin/dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v eth0

[Install]
WantedBy=multi-user.target
Le chemin du dhclient peut changer selon votre OS. Pour connaître le chemin exacte à utiliser, utilisez la commande which dhclient

Puis, activez-le au démarrage : systemctl enable dhclient.service.

Configuration du réseau sous Ubuntu 16 / Debian 8

Les commandes présentées ci-dessous sont à utiliser en root ou avec sudo

Commencez par éditer le fichier /etc/network/interfaces comme suit :

iface eno1 inet6 static
    address IPV6ADDRESS
    netmask PREFIXLEN

Il vous faudra remplacer eno1 par le nom de votre interface.
Sous Debian et les anciennes versions de Ubuntu, elle se nomme généralement eth0.

Configuration alternative pour les autre système d'INIT

Si vous n'utilisez pas SystemD pour démarrer vos services, vous pouvez configurer votre fichier /etc/network/interfaces comme suit :

iface eno1 inet6 static
    pre-up modprobe ipv6
    pre-up dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -d -v $IFACE
    address IPV6ADDRESS
    netmask PREFIXLEN

Toujours en adaptant le nom de l'inferface (eno1) à vos besoins. Il en va de même pour l'IPv6 et le Netmask.

Sous CentOS 7

Les commandes présentées ci-dessous sont à utiliser en root ou avec sudo

Sous CentOS7, après avoir configuré le dhclient et SystemD, il vous faudra configurer le fichier /etc/sysconfig/network-scripts/ifcfg-eth0 :

# Generated by parse-kickstart
UUID=xxxxx
DNS1=62.210.16.6
BOOTPROTO=none
DEVICE=eth0
ONBOOT=yes
TYPE=Ethernet
IPADDR=62.210.xx.xx
PREFIX=24
GATEWAY=62.210.xx.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6ADDR="IPV6ADDRESS/PREFIXLEN" 
IPV6_AUTOCONF=yes
NAME="System eth0" 

Une fois la configuration terminée, vous pouvez redémarrer pour vérifier que les services & la configuration soient bien appliquées au démarrage !

Il vous faudra autoriser dans votre pare-feu le port 546/UDP en entrant et le port 547/UDP en sortant.

Tester la configuration

Lancer le dhclient en ligne de commande :

dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v eth0

Pour vérifier que tout fonctionne correctement, un simple ping suffit :

ping6 ipv6.google.com

Debug

Si les configurations ne fonctionnent pas pour vous, vérifiez le nom de vos interfaces avec la commande suivante :

ifconfig -a

D'autre part, votre serveur doit être configuré pour accepter le RA (Router Advertisement).

Par défaut, votre serveur n'acceptera pas de forward des paquets d'une interface à une autre si il est configuré automatiquement (via DHCPv6).
Si vous avez besoin de forward des paquets tout en utilisant une configuration via DHCPv6, il vous faudra configurer votre sysctl net.ipv6.conf.all.accept_ra à 2 dans le fichier /etc/sysctl.conf.
C'est généralement utile pour les Hyperviseur comme Proxmox.

Les exemples sont donnés pour eth0/eno1, si l'interface principale s'appelle différemment il faudra donc modifier toutes les occurrences à cette dernière par le nom de la vôtre.

Limitation du trafic de vote client

Dans certains cas, certains client DHCPv6 ont malheureusement tendance à envoyer plusieurs requêtes par seconde (notamment dhcp6c).

Ce qui engendre un blocage de la part de nos protections automatique, puisque vous êtes alors vue comme une source de Flood UDP.

Pour circonvenir à ce problème nous vous invitons à limiter le trafic émis par votre dhclient6 au niveau de votre pare-feu directement.

Voici un exemple pour IPTABLES :

ip6tables -A OUTPUT -p udp --dport 547 -m limit --limit 10/min --limit-burst 5 -j ACCEPT
ip6tables -A OUTPUT -p udp --dport 547 -j DROP

En mode secours

Pour tester l'IPv6 de votre serveur en mode secours, lancez d'abord la machine en Ubuntu 14, le client dhclient est déjà installé dessus.

Créez le fichier qui contiendra le DUID (l'équivalent de la MAC Virtuelle) en vous aidant de la documentation ci-dessus et renseignez le DUID disponible dans votre console.

nano /etc/dhcp/dhclient6.conf

Puis, démarrez le client DHCPv6 :

dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v <interface>

Et pour terminer, configurez votre adresse IPv6 sur votre interface réseau :

/sbin/ifconfig <interface> inet6 add ADRESSEIPV6/TAILLEDUBLOCK

Test de l'IPv6 :

ping6 ipv6.google.com