Introduction
IPv4 est saturé depuis longtemps. IPv6 apporte :
- Un espace d'adressage virtuellement infini (340 undécillions d'IPs)
- Pas de NAT (chaque service public a sa propre IP)
- Meilleure efficacité réseau (header simplifié, autoconfig)
- Connectivité native vers les ~40% du trafic mondial déjà en IPv6
En 2026, ne pas supporter IPv6 c'est exclure une partie de vos utilisateurs. Heureusement c'est simple à configurer.
Prérequis
- VPS Linux avec IPv6 alloué par l'hébergeur (Netrix VeryCloud fournit du /64 par défaut)
- Accès root
- Notes : votre IPv6 et le gateway IPv6 fournis par VeryCloud
Étape 1 : Vérifier l'IPv6 actuel
ip -6 addr show
ip -6 route show
ping6 -c 4 google.com
Si vous voyez une adresse 2a0c:... ou 2001:... (autres que fe80:: link-local), IPv6 est partiellement actif. Si pas de réponse au ping6, il manque la config gateway.
Étape 2 : Configuration statique IPv6 (Netplan - Ubuntu/Debian récents)
sudo nano /etc/netplan/01-netcfg.yaml
network:
version: 2
ethernets:
eth0:
dhcp4: true
dhcp6: false
addresses:
- 2a0c:b641:abcd::100/64
routes:
- to: ::/0
via: 2a0c:b641:abcd::1
nameservers:
addresses:
- 2606:4700:4700::1111
- 2606:4700:4700::1001
- 2001:4860:4860::8888
Appliquez :
sudo netplan apply
Vérifiez :
ip -6 addr show eth0
ping6 -c 4 2606:4700:4700::1111
ping6 -c 4 ipv6.google.com
Étape 3 : Configuration via ifupdown (Debian classique)
sudo nano /etc/network/interfaces
iface eth0 inet6 static
address 2a0c:b641:abcd::100
netmask 64
gateway 2a0c:b641:abcd::1
dns-nameservers 2606:4700:4700::1111 2606:4700:4700::1001
sudo ifdown eth0 && sudo ifup eth0
Étape 4 : Tester la connectivité IPv6
Tests basiques
# DNS
host google.com
host -t AAAA google.com
# Ping
ping6 -c 4 ipv6.google.com
# HTTP via IPv6
curl -6 https://ifconfig.co
# Doit retourner votre adresse IPv6
Test complet en ligne
Visitez https://test-ipv6.com depuis votre VPS (en SSH avec curl et links) ou depuis votre navigateur : vous devriez avoir 10/10.
Étape 5 : Configurer le firewall UFW pour IPv6
UFW gère IPv4 et IPv6 ensemble par défaut. Vérifiez :
sudo nano /etc/default/ufw
IPV6=yes
sudo ufw reload
sudo ufw status verbose
Vous voyez deux entrées par règle (v4 et v6).
Règles spécifiques IPv6
# Autoriser une IP IPv6 spécifique
sudo ufw allow from 2a0c:b641:abcd::100 to any port 22
# Bloquer une plage IPv6
sudo ufw deny from 2a01:cb05::/32
# Allow HTTPS depuis n'importe où (IPv4 + IPv6)
sudo ufw allow 443/tcp
Étape 6 : Configurer le firewall iptables (si pas UFW)
sudo apt install -y iptables-persistent
Règles IPv6 minimales
# Politique par défaut : DROP
sudo ip6tables -P INPUT DROP
sudo ip6tables -P FORWARD DROP
sudo ip6tables -P OUTPUT ACCEPT
# Loopback
sudo ip6tables -A INPUT -i lo -j ACCEPT
# Sessions établies
sudo ip6tables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# ICMPv6 (ESSENTIEL, ne pas bloquer !)
sudo ip6tables -A INPUT -p ipv6-icmp -j ACCEPT
# SSH
sudo ip6tables -A INPUT -p tcp --dport 22 -j ACCEPT
# HTTP/HTTPS
sudo ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo ip6tables -A INPUT -p tcp --dport 443 -j ACCEPT
# Sauvegarder
sudo ip6tables-save | sudo tee /etc/iptables/rules.v6
⚠️ Ne bloquez JAMAIS tout ICMPv6 : il sert à la découverte voisinage (équivalent ARP en IPv4), à la PMTU discovery, etc. Bloquer ICMPv6 casse IPv6.
Étape 7 : Faire écouter vos services en IPv6
Nginx
sudo nano /etc/nginx/sites-available/site.conf
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name votre-domaine.fr;
# ...
}
sudo nginx -t && sudo systemctl reload nginx
Vérifiez :
ss -tlnp | grep ':80\|:443'
# Devrait montrer des lignes avec :::80 et :::443 (= écoute IPv6)
Apache
sudo nano /etc/apache2/ports.conf
Listen 80
Listen 443
# Apache écoute par défaut sur IPv4 + IPv6 (configurer Listen 0.0.0.0:80 force v4 only)
SSH
sudo nano /etc/ssh/sshd_config
ListenAddress 0.0.0.0
ListenAddress ::
Ou commentez les deux pour écouter sur tout.
Postfix
sudo postconf -e "inet_protocols = all"
sudo systemctl restart postfix
Étape 8 : DNS - configurer les enregistrements AAAA
Pour que votre site soit accessible en IPv6, ajoutez des enregistrements AAAA chez votre registrar/DNS.
Chez Cloudflare, Gandi, OVH, etc. :
| Type | Name | Value |
|---|---|---|
| A | votre-domaine | 82.26.157.10 |
| AAAA | votre-domaine | 2a0c:b641:abcd::100 |
| AAAA | www | 2a0c:b641:abcd::100 |
| AAAA | 2a0c:b641:abcd::101 |
Vérifiez la propagation :
dig AAAA votre-domaine.fr
host -t AAAA votre-domaine.fr
Étape 9 : reverse DNS (PTR) IPv6
Le reverse DNS est crucial pour les serveurs mail. Sur l'espace Netrix VeryCloud :
- Section rDNS / Reverse DNS
- Sélectionnez votre IPv6
- Entrez :
mail.votre-domaine.fr
Testez :
host 2a0c:b641:abcd::100
# Doit retourner : mail.votre-domaine.fr
Étape 10 : Désactiver IPv6 (cas inverse)
Parfois on veut désactiver IPv6 (compatibilité, debug). Temporaire :
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.eth0.disable_ipv6=1
Permanent :
echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.d/99-disable-ipv6.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.d/99-disable-ipv6.conf
sudo sysctl --system
Étape 11 : SLAAC vs DHCPv6
Deux modes d'autoconfig IPv6 :
- SLAAC (StateLess Address AutoConfiguration) : le client génère son IP à partir du préfixe annoncé par le routeur (RA). C'est le mode par défaut sur VPS.
- DHCPv6 : un serveur DHCP distribue les IPs (plus rare sur VPS, plus courant en entreprise).
Sur les VPS VeryCloud, SLAAC est généralement actif si vous laissez dhcp6: false mais accept-ra: yes dans Netplan :
network:
ethernets:
eth0:
accept-ra: true
Étape 12 : Privacy Extensions (RFC 4941)
Par défaut, votre IPv6 SLAAC est dérivée de la MAC → traçable. Sur un serveur, ce n'est pas un problème (IP statique de toute façon). Sur un client (laptop, mobile), activez les privacy extensions :
sudo sysctl -w net.ipv6.conf.all.use_tempaddr=2
sudo sysctl -w net.ipv6.conf.default.use_tempaddr=2
Étape 13 : Monitoring IPv6
Trafic IPv6
sudo apt install -y iftop
sudo iftop -i eth0 -F 2a0c:b641:abcd::/64
Sessions IPv6 actives
ss -6 -tn
Vérifier les serveurs DNS IPv6
cat /etc/resolv.conf
nslookup google.com 2606:4700:4700::1111
Dépannage
ping6 timeout vers internet
Le gateway est probablement faux. Vérifiez :
ip -6 route show
Vous devez avoir une route default ::/0 via <gateway>. Comparez avec ce que VeryCloud vous a fourni.
Site accessible en IPv4 mais pas IPv6
Le serveur web n'écoute peut-être pas sur IPv6 :
ss -tlnp | grep 443
Vous devez voir LISTEN 0 ... :::443 ... (avec :::). Si seulement 0.0.0.0:443, le service est IPv4-only. Adaptez la config (étape 7).
ICMPv6 bloqué
Test :
ping6 fe80::1%eth0 # link-local gateway
Si pas de réponse, ICMPv6 est bloqué dans iptables. Vérifiez :
sudo ip6tables -L INPUT -n -v | grep icmpv6
MTU IPv6 trop élevé
Sur des liens encapsulés (VPN, etc.), réduisez la MTU :
sudo ip link set eth0 mtu 1480
Pour persister, modifiez Netplan.
"No IPv6 connectivity"
Souvent c'est un problème de RA non reçu :
sudo sysctl -w net.ipv6.conf.eth0.accept_ra=2
sudo rdisc6 eth0
rdisc6 (paquet ndisc6) montre si le routeur annonce bien des RAs.
Commandes utiles
# IPs IPv6
ip -6 addr show
# Routes IPv6
ip -6 route show
# Neighbor table (équivalent ARP)
ip -6 neigh show
# Ping avec interface spécifique
ping6 -I eth0 ipv6.google.com
# Test port en IPv6
nc -6 -zv 2606:4700:4700::1111 80
# Voir les routes vers une IP
ip -6 route get 2606:4700:4700::1111
# Traceroute IPv6
traceroute6 ipv6.google.com
# Sniffer paquets IPv6
sudo tcpdump -i eth0 ip6
# Stats interface
ip -6 -s link show eth0
Conclusion
Avec IPv6 configuré :
- Votre site est accessible aux ~40% du trafic IPv6 mondial
- Vous évitez NAT/CGN aux endroits qui le supportent
- Vous êtes prêt pour les réseaux mobiles IPv6-only (Verizon, T-Mobile, Free Mobile)
- Vos clients en IPv6 ont une latence légèrement meilleure (pas de NAT64)
Pour aller plus loin :
- Configurez DNS64 + NAT64 si vous devez accéder à des services IPv4-only depuis un réseau IPv6 pur
- Activez MPTCP IPv6 pour combiner WiFi + cellulaire
- Mettez en place Happy Eyeballs côté client pour préférer IPv6 quand dispo
Ressources
- RFC 4291 - IPv6 Addressing : https://datatracker.ietf.org/doc/html/rfc4291
- Documentation Linux IPv6 : https://www.kernel.org/doc/Documentation/networking/ipv6.txt
- Test IPv6 : https://test-ipv6.com
- Tuto VeryCloud — Setup Debian :
/docs/article/debian-setup - Tuto VeryCloud — Tuning Kernel :
/docs/article/kernel-tuning


















