web-dev-qa-db-fra.com

Comment désactiver IPv6 de manière permanente?

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

J'ai lu l'édition / etc/modprobe.d/aliases et en remplaçant:

alias net-pf-10 ipv6

avec:

alias net-pf-10 off
alias ipv6 off

Est-ce sécuritaire d'appliquer et désactive-t-il définitivement ipv6 lors des redémarrages?

50
Tinfoilhats

J'ai désactivé avec succès IPv6 en mettant les lignes suivantes dans /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 modifications

Sudo sysctl -p
68
Eric Carvalho

Si votre PC ne charge pas /etc/sysctl.conf au démarrage (ce qui est le cas pour moi), il est nécessaire de désactiver IPv6 à partir de grub. Le noyau Linux a une option de démarrage nommée "ipv6.disable = 1" qui désactive IPv6 à partir du démarrage.

Pour éditer 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

Recherchez la ligne contenant "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
51
NullNoname

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

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

Si tu vois

Running kernel is IPv6 ready

c'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 vous conviennent pas, ouvrez une liste noire ipv6. Pour ce faire, utilisez la commande suivante:

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

Cela pourrait également aider:

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

Redémarrez pour que les modifications 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 y avoir aucune sortie.

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

7
mchid

La réponse de Carvalho, y compris le commentaire sur l'obligation d'exécuter Sudo sysctl -P, m'a le plus aidée.

Cependant, dans mon cas au 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 TPU Link Archer T2U, pour lequel je devais créer un pilote à partir de la source.
Mon hypothèse est que, par conséquent, <mydevice> ne compte pas comme l'un des "all".
En résumé, si vous avez ajouté un pilote de réseau (personnalisé), net.ipv6.conf.all.disable_ipv6 = 1 risque de 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

7
polynomial_donut

Si vous utilisez une version moderne (je suis sur 16.04 LTS) d’Ubuntu, vous pouvez utiliser cette solution ordonnée:

Créez /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

Exécutez service procps start

6
user10550