Désactiver IPv6 sur l'interface dans Debian Wheezy?


10

Je travaille sur Debian Wheezy:

$ uname -a
Linux openstack1 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux

J'ai configuré deux réseaux pour VirtualBox:

# Public network vboxnet0 (10.1.0.0/16)
VBoxManage hostonlyif create
VBoxManage hostonlyif ipconfig vboxnet0 --ip 10.1.0.254 --netmask 255.255.0.0

# Private network vboxnet1 (10.2.0.0/16)
VBoxManage hostonlyif create
VBoxManage hostonlyif ipconfig vboxnet1 --ip 10.2.0.254 --netmask 255.255.0.0
...

# VirtualBox Network
VBoxManage modifyvm openstack1 --nic1 nat \
  --nic2 hostonly --hostonlyadapter2 vboxnet0 \
  --nic3 hostonly --hostonlyadapter3 vboxnet1

Dans la machine virtuelle, j'ai les éléments suivants dans /etc/network/interfaces:

# The loopback network interface
auto lo
iface lo inet loopback

# Primary network interface
auto eth0
iface eth0 inet dhcp

# Public network (OpenStack)
auto eth1
iface eth1 inet static
    address 10.1.0.10
    netmask 255.255.0.0
    network 10.1.0.0
    broadcast 10.1.255.255

# Private network (OpenStack)
auto eth2
iface eth2 inet static
    address 10.2.0.10
    netmask 255.255.0.0
    network 10.2.0.0
    broadcast 10.2.255.255

Lorsque j'examine la configuration de l'interface, IPv6 est activé:

$ sudo ifconfig
[sudo] password for openstack: 
eth0      Link encap:Ethernet  HWaddr 08:00:27:6f:c5:38  
          inet addr:172.16.1.23  Bcast:172.31.255.255  Mask:255.240.0.0
          inet6 addr: fe80::a00:27ff:fe6f:c538/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:614 errors:0 dropped:0 overruns:0 frame:0
          TX packets:120 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:61279 (59.8 KiB)  TX bytes:13336 (13.0 KiB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:79:99:40  
          inet addr:10.1.0.10  Bcast:10.1.255.255  Mask:255.255.0.0
          inet6 addr: fe80::a00:27ff:fe79:9940/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:35 errors:0 dropped:0 overruns:0 frame:0
          TX packets:55 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5288 (5.1 KiB)  TX bytes:8485 (8.2 KiB)

eth2      Link encap:Ethernet  HWaddr 08:00:27:f1:7b:f5  
          inet addr:10.2.0.10  Bcast:10.2.255.255  Mask:255.255.0.0
          inet6 addr: fe80::a00:27ff:fef1:7bf5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:35 errors:0 dropped:0 overruns:0 frame:0
          TX packets:55 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:5288 (5.1 KiB)  TX bytes:8690 (8.4 KiB)

man 5 interfacesne décrit pas comment désactiver IPv6 sur une interface. Le projet Debian IPv6 ne spécifie pas comment désactiver IPv6 pour Wheezy (uniquement au niveau du noyau pour Squeeze).

En l'absence de documentation, j'ai essayé d'ajouter un offet disableà eth1et eth2, mais cela a entraîné une erreur:

iface eth1 inet6 off

(Apparemment, la strophe ci-dessus a complètement rompu le réseautage parce que je n'en tire rien ifconfiget pingne fonctionne pas. De plus, eth0et losont en panne même s'ils n'ont pas été modifiés.).

À quoi dois-je ajouter pour /etc/network/interfacesdésactiver IPv6 sur les interfaces que j'ai configurées?



Merci Michael. C'est proche, mais pas tout à fait. Je cherche à le désactiver pour l'interface que j'ai configurée, et non pour le noyau.
jww

2
Si vous êtes satisfait du blocage d'IPv6 (pas de désactivation), vous pouvez utiliser ip6tablespour bloquer complètement l'entrée et la sortie d'IPv6, mais l'interface sera toujours à l'écoute d'IPv6.
VL-80

Autre solution possible: selon le Linux IPv6 HOWTO, il est possible de supprimer une adresse IPv6 avec la commande # /sbin/ifconfig <interface> inet6 del <ipv6address>/<prefixlength>. J'ai désactivé IPv6 dans mon noyau, je n'ai donc pas pu le tester. Quoi qu'il en soit, essayez-le et faites-le nous savoir.
VL-80

1
Merci Michael. "Pourquoi essayez-vous de désactiver IPv6 sur une interface" - mon petit laboratoire ne fournit que IPv4, donc il n'y a pas besoin d'IPv6. IP v6 utilise des ressources supplémentaires et augmente la surface d'attaque. De plus, il crée beaucoup de bruit pendant les traces de wirehark. Je suppose que je pourrais le reprendre sur le net: pourquoi les gens courraient-ils quelque chose qu'ils ne veulent pas ou dont ils n'ont pas besoin?
jww

Réponses:


13

Selon cette réponse , les éléments suivants /etc/sysctl.confdevraient désactiver IPv6 sur toutes les interfaces:

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

Edit: pour une seule interface, ce qui suit devrait faire l'affaire (remplacer <interface>par le nom de l'interface):

net.ipv6.conf.<interface>.disable_ipv6 = 1

Vous devrez peut-être exécuter sudo sysctl -paprès avoir apporté les modifications ci-dessus. (Ou, alternativement, vous pouvez redémarrer.)
mpb
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.