IPv6 auf der Schnittstelle in Debian Wheezy deaktivieren?


10

Ich arbeite an Debian Wheezy:

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

Ich habe zwei Netzwerke für VirtualBox eingerichtet:

# 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

In der virtuellen Maschine habe ich Folgendes in /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

Wenn ich die Schnittstellenkonfiguration überprüfe, ist IPv6 aktiviert:

$ 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 interfaceswird nicht erläutert, wie IPv6 auf einer Schnittstelle deaktiviert wird. Das Debian IPv6-Projekt gibt nicht an, wie IPv6 für Wheezy deaktiviert werden soll (nur Kernel-Level für Squeeze).

In Ermangelung einer Dokumentation habe ich versucht, ein offund disablezu eth1und hinzuzufügen eth2, aber es kam zu einem Fehler:

iface eth1 inet6 off

(Offenbar vollständig die oben Strophe brach Vernetzung , weil ich nichts raus ifconfigund pingnicht funktioniert. Darüber hinaus eth0und loist nach unten , obwohl sie nicht verändert wurden.).

Was füge ich hinzu, /etc/network/interfacesum IPv6 auf den von mir konfigurierten Schnittstellen zu deaktivieren?



Danke Michael. Es ist nah, aber nicht ganz. Ich möchte es für die von mir konfigurierte Schnittstelle und nicht für den Kernel deaktivieren.
JWW

2
Wenn Sie mit dem Blockieren von IPv6 zufrieden sind (nicht deaktivieren), können Sie die ip6tablesEingabe und Ausgabe von IPv6 vollständig blockieren, die Schnittstelle hört jedoch weiterhin IPv6.
VL-80

Eine weitere mögliche Lösung: Gemäß Linux IPv6 HOWTO besteht die Möglichkeit, eine IPv6-Adresse mit einem Befehl zu entfernen # /sbin/ifconfig <interface> inet6 del <ipv6address>/<prefixlength>. Ich habe IPv6 in meinem Kernel deaktiviert, daher konnte ich es nicht testen. Wie auch immer, probieren Sie es aus und lassen Sie es uns wissen.
VL-80

1
Danke Michael. "Warum versuchen Sie, IPv6 auf einer Schnittstelle zu deaktivieren?" - Mein kleines Labor bietet nur IPv4 an, sodass IPv6 nicht erforderlich ist. IP v6 verwendet zusätzliche Ressourcen und erhöht die Angriffsfläche. Außerdem verursacht es bei Wireshark-Spuren viel Lärm. Ich denke, ich könnte es über das Netz zurückwerfen: Warum sollten die Leute etwas laufen lassen, das sie nicht wollen oder brauchen?
JWW

Antworten:


13

Nach dieser Antwort , die folgenden in /etc/sysctl.confsollte deaktivieren IPv6 auf allen Interfaces:

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

Bearbeiten: Für nur eine Schnittstelle sollte Folgendes der Trick sein (durch <interface>den Namen der Schnittstelle ersetzen ):

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

Möglicherweise müssen Sie ausgeführt werden, sudo sysctl -pnachdem Sie die oben genannten Änderungen vorgenommen haben. (Oder alternativ können Sie neu
starten
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.