So deaktivieren Sie die automatische Konfiguration von IPv6 in Linux

52417
Grumbel

Wie kann ich die automatische Konfiguration von IPv6 in Linux dauerhaft deaktivieren? Wenn ich versuche, eine Adresse manuell von einer Schnittstelle zu löschen, mit:

ip -6 addr del 2001:0db8:85a3:0000:0000:8a2e:0370:7334/64 dev eth1

Ein paar Sekunden später wird es wieder angezeigt. Ich möchte, dass es dauerhaft verschwunden ist, jedoch ohne IPv6 alle zu deaktivieren.

20

4 Antworten auf die Frage

20
Grumbel

Die automatische Konfiguration kann für eth1 vorübergehend deaktiviert werden:

sudo sysctl -w net.ipv6.conf.eth1.autoconf=0
sudo sysctl -w net.ipv6.conf.eth1.accept_ra=0

oder für alle Schnittstellen mit:

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

Die erneute Aktivierung erfolgt durch Verwendung von 1 anstelle von 0 im Anruf.

Deaktivieren Sie es dauerhaft mit einem Eintrag zu /etc/sysctl.conf. Bei Debian Etch (wahrscheinlich auch bei neueren accept_raVersionen fe80..) wird das System ohne Einstellung von automatisch mit dem Link local address ( ) konfiguriert.

Wie von Gart erwähnt, werden die automatische Adressenkonfiguration und die Routersuche deaktiviert, wenn der Host selbst ein Router ist und accept_ranicht 2, z

net.ipv6.conf.<iface|all|default>.forwarding=1

und

net.ipv6.conf.<iface|all|default>.accept_ra=0 oder net.ipv6.conf.<iface|all|default>.accept_ra=1.

Wo ifaceist deine Schnittstelle?

Die automatische Adressenkonfiguration und Routererkennung wird ebenfalls deaktiviert, wenn der Host selbst ein Router ist, dh "net.ipv6.conf.all.forwarding = 1" ist gesetzt. Gart vor 12 Jahren 3
4
Mark S

net.ipv6.conf.all.accept_ra = 0 sollte nicht ausgeführt werden, da RAs für die Angabe von On-Link und Off-Link für das Präfix (gemäß RFC5942) sowie für die automatisierte Konfiguration einer Reihe anderer erforderlich sind Parameter wie MTU, Neighbor Discovery Timeouts usw.

Wenn Sie die Autokonfiguration deaktivieren möchten, deaktivieren Sie entweder die Autokonfiguration sysctl wie oben oder deaktivieren Sie das A (Autokonfigurationsbit) in der Prefix Information Option (PIO) in der RA.

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

Bei Debian Wheezy hat das nicht funktioniert. Nach der Untersuchung von /etc/sysctl.conf musste ich verwenden

sudo sysctl -w net.ipv6.conf.default.autoconf=0 
2
Jeroen Vermeulen - MageHost

Bei sysctlUbuntu 18.04 Bionic hat die Lösung für uns nicht funktioniert. Wir haben es gelöst durch:

Bearbeiten /etc/netplan/01-netcfg.yaml, konfigurieren:

network: ... ethernets: eth0: ... dhcp6: no accept-ra: no 

Möglicherweise müssen Sie Ihren Schnittstellennamen anstelle von verwenden eth0. Nachdem Sie die Datei gespeichert haben, führen Sie Folgendes aus:

netplan apply oder reboot

Wenn Sie bereits eine IPv6-IP von der Autokonfiguration erhalten haben und diese ohne Neustart entfernen möchten, können Sie Folgendes ausführen:

ip -6 addr del 1111:2222:1:0:aaaa:bbbb:cccc:dddd/64 dev eth0 

Natürlich müssen Sie die IP und das Gerät in diesem Befehl ersetzen.

Dies hat mich gerade dazu veranlasst, dass ich seit einigen Monaten meinen Kopf daran kratzte: D anthonysomerset vor 5 Jahren 0
Normalerweise kratze ich nur Google, bis ich es finde. Jeroen Vermeulen - MageHost vor 5 Jahren 1
Dies funktionierte, als ich es ausprobierte, aber das Problem ist das Deaktivieren von Accept-Ra ist ziemlich gefährlich, wie von Mark S erwähnt - es scheint zu funktionieren, aber später werden Sie feststellen, dass Pakete fehlen, weil sie einen Fragmentierungspunkt oder einen Failover-Router treffen wird eingesetzt. Es bricht auch Pings. Der Grund, warum ich dies versuchte, bestand darin, meinen SPF-Datensatz in ausgehender Mail zuverlässig abzugleichen, aber dann wurde mir klar, dass ich stattdessen eine Netzmaske in dem Datensatz verwenden sollte, da in IPv6 tatsächlich ein Adressbereich zu einer Maschine gehört, nicht zu einer einzelnen Adresse . Phil McKerracher vor 5 Jahren 1