Désactiver IPv6 sur une seule interface

9

Je suis légèrement dérangé par le fait qu'Ubuntu ne traitera pas DHCP ipv4 à moins que vous ne le lui disiez explicitement, mais prendra volontiers les RA ipv6 à moins que vous ne le lui disiez. Existe-t-il un moyen de modifier le comportement par défaut en «ne rien faire à moins que je ne l'active explicitement»?

(Note aux répondeurs: je ne cherche pas à désactiver globalement ipv6, ou à désactiver complètement autoconf. Je cherche à désactiver autoconf par défaut (comme dans, je ne veux pas ipv6 sauf si je le dis dans / etc / network / interfaces, de la même manière que je n'obtiens pas seulement une adresse v4 à moins que j'aie explicitement activé dhcp.) Ce qui se passe, c'est que, pour toute interface qui fonctionne - par exemple, a une configuration ipv4 - une adresse v6 a tendance sur l'interface également, malgré le fait que je ne l'ai pas activé explicitement. Les solutions à ce jour sont très bien dans la mesure où elles vont, mais si je désactive v6 ou autoconf globalement, je ne peux pas réactiver v6 sur une interface par interface avec une simple commande dans / etc / network / interfaces. Je suis presque sûr que je demande la lune sur un bâton, attention.)

ijw
la source
1
Voici un lien sur la façon de désactiver ipv6. Je ne l'ai pas essayé moi-même. Faites-moi savoir si cela fonctionne: Comment désactiver IPV6 dans Ubuntu
BiggJJ
3
C'est probablement le cas, mais je ne veux pas désactiver ipv6, il suffit d'empêcher la configuration automatique sur les interfaces, sauf si je les souhaite spécifiquement configurées automatiquement.
ijw

Réponses:

9

Autoconf en partie des fonctionnalités de base d'IPv6. Les annonces RA ne sont pas DHCP et le serveur RA n'attribue pas d'adresses. RA est beaucoup plus proche de la configuration automatique IPv4 effectuée sur la plage IP 169.254.0.0/16. Si la confidentialité est activée, votre adresse IPv6 changera au fil du temps. Votre ancienne adresse sera retirée et éventuellement supprimée.

Vous pouvez désactiver facilement la configuration automatique d'ipv6 avec la commande:

sudo sysctl -w net.ipv6.conf.all.autoconf=0

Remplacez allpar le nom de l'interface pour désactiver une interface. Remplacez autoconfpar disable_ipv6pour désactiver IPv6. Créez un fichier /etc/sysctl.davec les affectations de variables dans lesquelles vous souhaitez appliquer le paramètre au démarrage.

Pour trouver tous les paramètres liés à ipv6, exécutez la commande:

sudo sysctl -a | grep ipv6 | less
BillThor
la source
4

Pour vérifier si IPv6 est activé ou désactivé

$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6

0 signifie qu'il est activé et 1 est désactivé.

Pour désactiver IPv6

$ su -
# nano /etc/sysctl.conf

et ajoutez ces lignes au fichier sysctl.conf

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

Enregistrez le fichier sysctl.conf avec une nouvelle configuration, puis redémarrez votre système

# reboot

Vérifiez à nouveau votre système

$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6

Maintenant, vous devriez voir «1» signifie que IPv6 a été désactivé sur votre système.

Depuis http://namhuy.net/1419/disable-ipv6-ubuntu-linux-mint.html


la source
A travaillé pour moi. Sur Centos au moins, vous pouvez exécuter "sudo sysctl -p" pour recharger sans redémarrer
Code Wiget
2

Semblable à, mais différente de l'une des autres réponses, j'ai essayé cela avec beaucoup de joie:

Ajoutez un fichier sysctl dans /etc/sysctl.d pour désactiver ipv6 - pas universellement, cependant, tout comme l'état par défaut de l'interface:

net.ipv6.conf.default.disable_ipv6=1

Ensuite, dans le fichier d'interfaces et uniquement pour les interfaces sur lesquelles vous souhaitez avoir ipv6, ajoutez:

iface eth0 inet dhcp # .. or whatever
up sysctl -w net.ipv6.conf.$IFACE.disable_ipv6=0

... ainsi, les interfaces n'obtiennent pas d'adresses IPv6 lorsqu'elles apparaissent (comme actuellement) mais peuvent être persuadées de les avoir dans des cas spécifiques. Vous pouvez sans doute désactiver les RA avant d'activer ipv6 si c'est ce que vous vouliez aussi.

NB: Je suppose que vous rencontrerez des problèmes avec les interfaces nommées VLAN (par exemple eth0.100) et devrez le préciser dans la commande 'up' en tant que 'eth0 / 100' plutôt que $ IFACE, qui aura le mauvais format - Je n'ai pas testé, mais cela semble être la façon dont sysctl voit le monde.

ijw
la source