Configurer une adresse IPv6 statique sur un VPS Linux

3 min
Hébergement VPS/VDS

Si votre serveur ne répond pas encore en IPv6, l'adresse est probablement attribuée mais pas configurée dans le système. Ce guide montre comment la définir de façon statique sur Ubuntu, Debian et AlmaLinux, tester la connectivité et la protéger avec un pare-feu. Il s'applique à tout VPS Linux Infrawire disposant d'une allocation IPv6.

📋 Prérequis

  • Un VPS avec accès root en SSH, sous Ubuntu 24.04, Debian 12 ou AlmaLinux 9 / Rocky 9. Votre espace client vous donne l'IP et le mot de passe root.
  • Votre adresse IPv6, la longueur du préfixe et la passerelle, notées ci-dessous VPS_IPV6, PREFIX (souvent 64) et IPV6_GATEWAY.
  • Le nom de l'interface (eth0 dans ces exemples) :
Bash
ip -br link ip -6 addr show ip -6 route show

Gardez une seconde session SSH ouverte pendant que vous modifiez les fichiers réseau, afin qu'une erreur ne vous enferme pas dehors.

🟠 Ubuntu 24.04 : Netplan

Les fichiers Netplan se trouvent dans /etc/netplan/. Sur les images cloud, le fichier est souvent généré par cloud-init et peut être écrasé au redémarrage : désactivez d'abord sa gestion du réseau.

Bash
sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
YAML
network: {config: disabled}

Modifiez ensuite votre fichier Netplan (par exemple /etc/netplan/50-cloud-init.yaml) et ajoutez l'adresse et la route IPv6. Conservez vos lignes IPv4 existantes :

YAML
1network: 2 version: 2 3 ethernets: 4 eth0: 5 addresses: 6 - VPS_IP/IPV4_PREFIX 7 - VPS_IPV6/PREFIX 8 routes: 9 - to: default 10 via: IPV4_GATEWAY 11 - to: default 12 via: IPV6_GATEWAY 13 nameservers: 14 addresses: [1.1.1.1, 2606:4700:4700::1111]
Bash
sudo chmod 600 /etc/netplan/*.yaml sudo netplan try

netplan try annule automatiquement après 120 secondes si vous ne confirmez pas, ce qui vous protège d'une mauvaise configuration. Validez avec Entrée, ou utilisez sudo netplan apply quand vous êtes sûr.

🔴 Debian 12 : /etc/network/interfaces

Bash
sudo nano /etc/network/interfaces

Ajoutez un bloc pour la même interface :

INI
iface eth0 inet6 static address VPS_IPV6/PREFIX gateway IPV6_GATEWAY dns-nameservers 2606:4700:4700::1111

La ligne dns-nameservers ne fonctionne que si le paquet resolvconf est installé ; sinon, placez le résolveur dans /etc/resolv.conf. Appliquez la modification :

Bash
sudo systemctl restart networking

Redémarrer le service peut couper la connexion un instant. Si l'interface est en DHCP pour l'IPv4 et que vous voulez seulement ajouter l'IPv6, vous pouvez aussi lancer sudo ifdown eth0 && sudo ifup eth0 depuis la console.

🔵 AlmaLinux 9 / Rocky 9 : nmcli

NetworkManager gère l'interface. Listez d'abord les noms de connexion :

Bash
nmcli connection show

Utilisez le nom affiché (CON_NAME, par exemple System eth0 ou cloud-init eth0) :

Bash
sudo nmcli connection modify 'CON_NAME' ipv6.method manual \ ipv6.addresses VPS_IPV6/PREFIX \ ipv6.gateway IPV6_GATEWAY \ ipv6.dns 2606:4700:4700::1111 sudo nmcli connection up 'CON_NAME'

La modification est enregistrée dans le profil de connexion et survit aux redémarrages.

✅ Tester la connexion

Bash
ip -6 addr show dev eth0 ip -6 route show default ping -6 -c 3 IPV6_GATEWAY ping -6 -c 3 2606:4700:4700::1111 curl -6 -I https://www.debian.org

Sur les systèmes anciens, ping6 fait la même chose que ping -6. Vérifiez aussi depuis une autre machine disposant d'IPv6, avec l'adresse de votre VPS :

Bash
ping -6 -c 3 VPS_IPV6 ssh root@VPS_IPV6

🔥 Pare-feu pour IPv6

Une règle qui n'existe qu'en IPv4 laisse le côté IPv6 ouvert. Avec UFW, vérifiez que la prise en charge d'IPv6 est activée :

Bash
grep IPV6 /etc/default/ufw # doit afficher IPV6=yes sudo ufw allow 22/tcp sudo ufw allow 80,443/tcp sudo ufw enable sudo ufw status verbose

Chaque règle apparaît alors deux fois, dont une avec (v6). Sous AlmaLinux, firewalld couvre les deux familles avec les mêmes commandes :

Bash
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload

🛠️ Dépannage

L'adresse est présente mais le ping vers la passerelle échoue. Vérifiez la longueur du préfixe et la passerelle. Certains réseaux utilisent une passerelle link-local comme fe80::1 ; dans ce cas, utilisez cette valeur et ajoutez dev eth0 à la route si votre outil le demande.

Ça fonctionne jusqu'au prochain redémarrage. Un autre outil réécrit la configuration : cloud-init sur Ubuntu (voir la première section), ou une commande ip -6 addr add isolée qui n'a jamais été reportée dans les fichiers de configuration. Les commandes passées avec ip sont temporaires.

L'IPv6 répond au ping mais pas pour les sites web. Le pare-feu ou le service n'écoute qu'en IPv4. Vérifiez avec ss -tlnp : un serveur web doit afficher [::]:80, pas seulement 0.0.0.0:80. Dans nginx, ajoutez listen [::]:80; au bloc server.


🚀 Votre VPS parle maintenant IPv6 : publiez un enregistrement AAAA et vos services seront joignables sur les deux protocoles.

Restez à jour avec les dernières offres, réductions et promotions spéciales.

Voir les promotions

Nous utilisons des cookies

Nous utilisons des cookies analytiques pour améliorer votre expérience sur notre site. Aucune donnée n'est revendue à des tiers. En savoir plus dans notre politique de confidentialité.