67 votes

Comment désactiver IPv6 de façon permanente ?

Comment désactiver IPv6 à l'échelle du système via les commandes du terminal ?

J'ai lu l'édition /etc/modprobe.d/aliases et le remplacement :

alias net-pf-10 ipv6

avec :

alias net-pf-10 off
alias ipv6 off

Est-ce que cela peut être appliqué en toute sécurité et est-ce que cela désactive ipv6 de façon permanente lors des redémarrages ?

85voto

Eric Carvalho Points 51571

J'ai réussi à désactiver IPv6 en ajoutant les lignes suivantes /etc/sysctl.conf :

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

Exécutez également cette commande pour charger les changements

sudo sysctl -p

66voto

NullNoname Points 1271

Si votre PC ne charge pas /etc/sysctl.conf au démarrage (ce qui est mon cas), il faut désactiver IPv6 à partir de Grub. Le noyau Linux possède une option de démarrage nommée "ipv6.disable=1" qui désactive IPv6 au démarrage.

Pour modifier les options de démarrage, éditez "/etc/default/Grub" avec n'importe quel éditeur de texte en tant qu'utilisateur root :

sudo nano /etc/default/grub

Trouvez la ligne qui contient "GRUB_CMDLINE_LINUX_DEFAULT" :

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Ajoutez "ipv6.disable=1" à l'option de démarrage, puis enregistrez votre fichier Grub :

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet splash"

Enfin, mettez à jour Grub :

sudo update-grub

9voto

mchid Points 36939

Voici comment vérifier si ipv6 est activé sur votre ordinateur

test -f /proc/net/if_inet6 && echo "Running kernel is IPv6 ready"

Si vous voyez

Running kernel is IPv6 ready

il est activé.

Si vous ne voyez aucune sortie, ce n'est pas le cas.

Pour désactiver ipv6 si les autres réponses de cette page ne fonctionnent pas pour vous, blacklistez ipv6 tout court. Pour ce faire, utilisez la commande suivante :

echo 'blacklist ipv6' | sudo tee -a '/etc/modprobe.d/blacklist.local' >/dev/null 

Ceci pourrait également vous aider :

echo 'install ipv6 /bin/true' | sudo tee -a '/etc/modprobe.d/blacklist.local' >/dev/null

Redémarrez pour que les changements prennent effet. Pour vérifier s'il est activé après le démarrage, exécutez à nouveau cette commande :

test -f /proc/net/if_inet6 && echo "Running kernel is IPv6 ready"

Il ne devrait pas y avoir de sortie.

Cliquez ici pour savoir comment désactiver IPV6 au démarrage.

9voto

polynomial_donut Points 229

Réponse de Carvalho, y compris le commentaire sur le fait de devoir courir. sudo sysctl -p m'a le plus aidé.

Cependant, dans mon cas du moins :

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.<mydevice>.disable_ipv6 = 1

et il semble que la deuxième ligne était nécessaire.

Peut-être est-ce dû au fait que j'utilise le TP-Link Archer T2U, pour lequel j'ai dû créer un pilote personnalisé à partir de la source.

Mon hypothèse est qu'en conséquence, <mydevice> ne compte pas comme un des " all ".

Donc, en résumé, si vous avez ajouté un pilote réseau (personnalisé), net.ipv6.conf.all.disable_ipv6 = 1 peut ne pas être suffisant pour désactiver le réseau IPv6.

Je dois admettre que je n'ai pas essayé la ligne. net.ipv6.conf.default.disable_ipv6 = 1 .

8voto

user10550 Points 191

Si vous utilisez une version moderne (je suis sur 16.04 LTS) d'Ubuntu, vous pouvez utiliser cette solution simple :

Créer /etc/sysctl.d/60-ipv6-disable.conf contenant le texte suivant :

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

Ejecutar service procps start

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X