Comment désactiver IPv6 sur Ubuntu ou Linux Mint

Comment désactiver IPv6 sur Ubuntu ou Linux Mint

Dans ce guide, vous trouverez plusieurs solutions pour désactiver temporairement ou de manière permanente les connexions IPv6 sur Ubuntu, Linux Mint et autres dérivés de ces dernières ainsi que comment les réactiver si vous changez d’avis.

Qu’est-ce que IPv6 ?

IPv6 (Internet Protocol version 6) est la dernière version du protocole internet (IP) qui permet de faire communiquer des systèmes sur un réseau. Il est une évolution du protocole IPv4. Il améliore les performances et la sécurité, mais surtout qui permet d’avoir un plus grand nombre d’adresses. En effet, une adresse IPv6 est sur 128 bits, ce qui permet d’avoir plus de 340 sextillions (2132) d’adresses possibles. Le protocole IPv4, avec des adresses 32 bits, n’en permet qu’un peu plus de quatre milliards (232).

Pourquoi désactiver IPv6 ?

Si vous utilisez un VPN pour sécuriser vos connexions internet, la plupart des fournisseurs recommandent de désactiver IPv6. En effet, ce protocole est très mal pris en charge par ses derniers. Sous Windows, le client qu’ils proposent d’installer, généralement, s’en charge pour vous, mais sous Linux, quand il en existe, il le fait rarement automatiquement…

Aussi, certains services de filtrage comme OpenDNS FamilyShield (filtrage DNS qui bloque les contenus pour adultes) ne le prennent pas en charge et ne seront donc pas appliqués si vous utilisez une adresse IPv6.

Prérequis

  • Avoir un compte avec des droits administrateurs

Nous allons utiliser des lignes de commande et modifier des fichiers systèmes, alors, si vous êtes débutants, attention à ce que vous faites.

Comment vérifier si IPv6 est activé sur Ubuntu ?

Pour vérifier si IPv6 est activé, ouvrez un terminal. Puis faites :

ip address

ou

ip a

Cela vous affichera la configuration de vos différentes interfaces réseau. Si vous avez des lignes avec inet6, le protocole IPv6 est actif.

config réseau avec IPv6 sur Ubuntu
Interfaces réseau avec IPv6

Désactiver IPv6 temporairement sur Ubuntu, Linux Mint, ou autres dérivés

Pour désactiver temporairement IPv6, nous allons utiliser dans un terminal la commande Sysctl. Sysctl permet de configurer des paramètres du noyau à chaud qui seront conservés uniquement jusqu’au prochain redémarrage de système.

Ouvrez un terminal et exécutez les trois commandes suivantes :

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.lo.disable_ipv6=1
Désactivation temporaire IPv6
Commandes pour désactiver temporairement IPv6

Ensuite, vous vérifiez avec la commande vu précédemment. Les lignes inet6 ne devraient plus être présentes.

config réseau sans IPv6 sur Ubuntu.
Interfaces réseau sans IPv6 (désactivé)

Après le redémarrage de votre ordinateur, IPv6 sera à nouveau actif.

Désactiver IPv6 de manière permanente sur Ubuntu, Linux Mint, etc.

Plusieurs méthodes sont possibles. À vous de choisir celles qui vous convient.

Méthode 1 : désactiver de manière permanente IPv6 avec Sysctl

En plus de pouvoir appliquer des modifications à chaud, Sysctl applique au démarrage du système les configurations présentes dans le fichier /etc/sysctl.conf ou dans les fichiers .conf du dossier /etc/sysctl.d/.

Alors, pour désactiver de manière permanente IPv6, vous pouvez créer un fichier /etc/sysctl.d/10-disable-ipv6.conf qui contiendra les lignes suivantes :

net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1

Cela peut se faire dans un terminal avec la commande suivante (à copier/coller tel quel) :

echo 'net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1' | sudo tee /etc/sysctl.d/10-disable-ipv6.conf

Puis, vous pouvez appliquer directement la désactivation avec la commande suivante :

sudo sysctl -p /etc/sysctl.d/10-disable-ipv6.conf
Désactivation permanente IPv6 avec sysctl
Commandes pour désactiver IPv6 de manière permanente

Mais, je recommande de redémarrer pour vérifier que IPv6 est bien désactivé après.

S’il ne l’est pas, créez, avec des droits administrateur, le fichier /etc/rc.local avec le contenu suivant :

#!/bin/bash
# /etc/rc.local

/etc/sysctl.d
/etc/init.d/procps restart

exit 0

Vous pouvez faire cela avec la commande suivante :

echo '#!/bin/bash
# /etc/rc.local

/etc/sysctl.d
/etc/init.d/procps restart

exit 0' | sudo tee /etc/rc.local

Et, modifiez les droits de ce fichier pour le rendre exécutable :

sudo chmod 755 /etc/rc.local
création fichier rc-local
Commandes pour créer le fichier /etc/rc.local

Méthode 2 : désactiver de manière permanente IPv6 avec GRUB

Une méthode alternative consiste à configurer GRUB pour transmettre les paramètres de désactivation du noyau au démarrage. Pour cela, il faut éditer avec des droits administrateur le fichier /etc/default/grub.

Vous pouvez faire cela avec l’éditeur de texte Nano :

sudo nano /etc/default/grub

Puis modifiez les lignes GRUB_CMDLINE_LINUX_DEFAULT et GRUB_CMDLINE_LINUX comme indiqué ci-dessous pour désactiver IPv6 :

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"

En suite, appliquez ces changements de configuration à GRUB avec la commande :

sudo update-grub

Redémarrez et vérifiez que IPv6 est bien inactif.

Réactiver IPv6 sur Ubuntu, Linux Mint, etc.

Pour réactiver IPv6 temporairement (jusqu’au prochain redémarrage) ou le rétablir après une désactivation temporaire, exécutez les trois commandes suivantes :

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0

Pour réactiver IPv6 désactivé de manière permanente avec Sysctl, supprimez le fichier /etc/sysctl.d/10-disable-ipv6.conf

sudo rm /etc/sysctl.d/10-disable-ipv6.conf

Puis, vous pouvez appliquer directement ce changement avec :

sudo sysctl -p

ou redémarrez.

Enfin, pour réactiver IPv6 désactivé de manière permanente avec GRUB, supprimez les options précédemment ajoutées au fichier /etc/default/grub :

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"

Et redémarrez.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

6 Commentaires

    1. Bonjour jpdc91,

      La plupart des protocoles VPN (OpenVPN, WireGuard, IPSec,…) prennent en charge IPv6. Ce sont juste les fournisseurs de VPN qui ne l’implémentent pas dans leurs solutions. J’imagine qu’un jour, ils le feront…

      Cordialement