Wie kann ich ipv6 unter Linux auf einer bestimmten Oberfläche deaktivieren?

24

Kann mir jemand sagen, wie ich die automatische IPv6-Konfiguration auf einer bestimmten Netzwerkschnittstelle in CentOS deaktivieren kann?

Die aktuelle Situation ist:

Ein PC verfügt über zwei Netzwerkadapter eth0 und eth1, die mit demselben LAN verbunden sind. In diesem Fall kündigt der IPv6-Router ein IPv6-Präfix mit NDRA-Paketen (Neighbor Discovery Router Advertisements) an. Infolgedessen konfigurieren sowohl eth0 als auch eth1 die IPv6-Adresse mit diesem Präfix automatisch.

Aber ich möchte nur ipv6 auf eth1 aktivieren und es auf eth0 deaktivieren. Ich habe die folgenden Methoden ausprobiert, aber sie funktionieren nicht.

1. / etc / sysconfig / network

NETWORKING_IPV6=no
IPV6_AUTOCONF=no

Dadurch wird ipv6 sowohl auf eth0 als auch auf eth1 deaktiviert.

2. / etc / sysconfig / network-scripts / ifcfg-eth0

IPV6INIT=no
IPV6_AUTOCONF=no

Dann klappt es nicht. Ich habe den Netzwerkdienst bereits neu gestartet. Ich bin etwas verwirrt über dieses Problem. Danke im Voraus.

Yves Messi
quelle
1
sysconfig.txt impliziert definitiv, dass das, was Sie getan haben, IPv6 auf einer bestimmten Schnittstelle deaktivieren sollte. Es scheint jedoch, dass diese Flags ignoriert werden. Es gibt zwei Fehlerberichte, die ebenfalls ignoriert wurden. Siehe bugzilla.redhat.com/show_bug.cgi?id=982740 & bugzilla.redhat.com/show_bug.cgi?id=496444
Stefan Lasiewski

Antworten:

41

Sie können es in /etc/sysctl.conf mit dieser Zeile deaktivieren:

net.ipv6.conf.eth0.disable_ipv6 = 1

Schauen Sie sich / proc / sys / net / ipv6 / conf / eth0 an. Es gibt viele Optionen, die Sie in diesem Verzeichnis festlegen können, z. B. das Aktivieren von IPv6, das Deaktivieren der automatischen Konf. Usw.

Sander Steffann
quelle
4
Zur Info für diejenigen, die alle und nicht nur eine Schnittstelle deaktivieren möchten, ersetzen Sie einfach "eth0" durch "all"
Peter
1
Eigentlich statt modifizierende /etc/sysctl.conf, erstellen Sie eine Datei in /etc/sysctl.dzum Beispiel des Namen 00_ipv6_off.confmit den oben genannten Inhalten. ifconfigAnschließend werden Schnittstellen ohne IPv6-Funktionalität angezeigt.
David Tonhofer
In einer Zeile:echo "net.ipv6.conf.eth0.disable_ipv6 = 1" > /etc/sysctl.d/00_ipv6_off.conf
David Tonhofer
11
$ sudo sysctl -w net.ipv6.conf.eth0.disable_ipv6=1

veraltet

# echo 1 > /proc/sys/net/ipv6/conf/eth0/disable_ipv6

Um sicherzustellen, dass diese Änderung auch nach einem Neustart erhalten bleibt, fügen Sie Ihrer /etc/sysctl.confDatei die folgende Zeile hinzu :

net.ipv6.conf.eth0.disable_ipv6=1

Beachten Sie, dass die Verwendung der /etc/sysconfig/network-scripts/ifcfg-eth0Datei nicht portierbar ist.

cjac
quelle
3

Sie sollten root sein, um die folgenden Netzwerkparameter einzustellen:

echo 1 > /proc/sys/net/ipv6/conf/wlan0/disable_ipv6
mgundes
quelle
Dies funktioniert auch in Installern, wenn ein Debian-Installer bei der Erkennung von Netzwerkeinstellungen stecken bleibt. Gehen Sie zur Konsole (Alt + 2) und geben Sie diesen Befehl ein. Kehren Sie zum Installationsprogramm zurück. Drücken Sie Strg + C, um die Erkennung zu beenden und die Erkennung des Netzwerks neu zu initialisieren.
lsu_guy
1

Die Verwendung der folgenden Variablen in ifcfg-eth0 oder ifcfg-eth1:

IPV6INIT=no
IPV6_AUTOCONF=no

Sollte den Trick machen. Wiederholen:

/ etc / sysconfig / network

NETWORKING_IPV6=yes
IPV6_AUTOCONF=yes

/ etc / sysconfig / network-scripts / ifcfg-eth0

IPV6INIT=no
IPV6_AUTOCONF=no

/ etc / sysconfig / network-scripts / ifcfg-eth0

IPV6INIT=yes
IPV6_AUTOCONF=yes

Stellen Sie dann sicher, dass Sie den Netzwerkdienst neu starten:

% /etc/init.d/network restart

Wenn Sie ausführen ifconfig, sollten Sie inet6 auf dem Ethernet-Gerät (entweder eth0 oder eth1) sehen, auf dem ipv6 aktiviert ist.

% ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 01:26:BD:85:CA:30  
          inet addr:192.168.1.20  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::226:c7ff:fe85:a720/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2497072 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2253781 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2004576667 (1.8 GiB)  TX bytes:1296051472 (1.2 GiB)
slm
quelle
Ja, es ist ein bisschen komisch. Das Setzen von "net.ipv6.conf.eth0.disable_ipv6 = 1" ist eine gute Lösung. Danke für deine Antwort.
Yves Messi
1
Hmmmm, habe auf meinem System kein Squat ausgeführt (RH 6.5 X86_64 in einer virtualisierten Umgebung). Gut zu wissen, welche für die Systeme, auf denen es funktioniert.
Luis.espinal