Deaktivieren IPv6 auf DebianEs kann bei der Fehlersuche helfen, beispielsweise bei Servern, die ihre DNS-Namen falsch auflösen, veralteten Anwendungen, die auf dem falschen Server-Stack laufen, oder falsch konfigurierten Routing-Anbietern. Ich würde es aber nicht als ersten Schritt verwenden. Wenn das Problem von einem defekten DNS-Server oder einer fehlenden Route herrührt, verschleiert die Deaktivierung von IPv6 nur das eigentliche Problem.
In diesem Artikel werden wir zunächst prüfen, ob IPv6 tatsächlich die Ursache ist, das Routing und die DNS-Auflösung testen und dann sehen, wie man es vorübergehend oder dauerhaft deaktiviert und dabei einen Weg zurück offen hält.

Bevor Sie IPv6 deaktivieren, prüfen Sie, ob der Rechner es tatsächlich nutzt.
Beginnen Sie mit der Betrachtung der IPv6-Adressen und des Routings. Unter Debian bleibt der am besten lesbare Befehl: IP :
ip -6 addr show
IP-6-Route anzeigen
Wenn Sie eine globale Adresse sehen, oft in 2xxx: Oder 3xxx:und eine Standardroute zu ::/0Das Gerät kann wahrscheinlich IPv6 ausgeben. Wenn Sie nur… sehen fe80::Sie haben hauptsächlich lokale Linkadressen. Das ist nicht die gleiche Situation.
Überprüfen Sie als Nächstes, welche Option das System bei der Namensauflösung auswählt:
getent ahosts debian.org
resolvectl query debian.org
Wenn IPv6-Antworten zuerst eintreffen, die IPv6-Verbindung aber nicht folgt, kann es zu Verlangsamungen, Timeouts oder Fehlern kommen, die einem Anwendungsproblem ähneln. In diesem Fall hilft Ihnen die Anleitung zu diesem Thema weiter. DNS-Caching unter Linux kann auch dazu beitragen, lokalen Cache, Auflösung und tatsächliche Konnektivität zu trennen.
IPv4 und IPv6 separat testen
Bevor Sie eine Netzwerkkonfiguration ändern, führen Sie einen einfachen Test durch, indem Sie jeden Stack erzwingen:
ping -4 -c 3 debian.org
ping -6 -c 3 debian.org
Mit LockenDies gilt umso mehr für Webanwendungen:
curl -4 -I https://www.debian.org/
curl -6 -I https://www.debian.org/
Wenn IPv4 schnell antwortet und IPv6 blockiert, haben Sie ein brauchbares Signal. Überprüfen Sie auch die Schnittstelle, die die Route transportiert, insbesondere auf einem Server mit mehreren Netzwerkkarten:
ip route get 1.1.1.1
ip -6 route get 2606:4700:4700::1111
Nehmen Sie auf einem Remote-Server keine Konfigurationsänderungen vor, wenn Sie keine Backup-Konsole, KVM, IPMI, Provider-Zugang oder zumindest eine offene SSH-Sitzung haben. Eine Netzwerkänderung, die Ihre einzige Verbindung unterbricht, kann schnell eintreten.
IPv6 vorübergehend mit sysctl deaktivieren
Für einen kurzen Test verwenden Sie sysctlDadurch können Sie feststellen, ob das Symptom verschwindet, ohne die Konfigurationsdateien sofort ändern zu müssen.
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
Bei manchen Maschinen überprüfe ich auch die entsprechende Schnittstelle. Ersetzen eth0 durch den tatsächlichen Namen Ihrer Schnittstelle, sichtbar mit IP-Link :
IP-Link
sudo sysctl -w net.ipv6.conf.eth0.disable_ipv6=1
Starten Sie anschließend Ihre Tests neu:
ip -6 addr show
ping -6 -c 3 debian.org
curl -6 -I https://www.debian.org/
Um sofort zurückzukehren:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.eth0.disable_ipv6=0
Ich bevorzuge diesen temporären Schritt stets, bevor ich die Änderung endgültig vornehme. Dadurch wird vermieden, dass ein Server mit einer noch nicht vollständig validierten Konfiguration neu gestartet werden muss.
Die Deaktivierung unter Debian dauerhaft machen
Wenn der Test bestätigt, dass Ihr Server tatsächlich ohne IPv6 laufen muss, erstellen Sie eine separate Datei in /etc/sysctl.dVermeiden Sie es, Systemdateien willkürlich und ohne vorherige Datensicherung zu verändern.
printf '%sn'
'net.ipv6.conf.all.disable_ipv6 = 1'
'net.ipv6.conf.default.disable_ipv6 = 1'
| sudo tee /etc/sysctl.d/99-disable-ipv6.conf
Als Nächstes wenden Sie die Einstellungen an:
sudo sysctl --system
Überprüfen Sie das Ergebnis:
sysctl net.ipv6.conf.all.disable_ipv6
sysctl net.ipv6.conf.default.disable_ipv6
ip -6 addr show
IP-6-Route anzeigen
Wenn Sie zum vorherigen Zustand zurückkehren möchten, löschen Sie die Datei und setzen Sie die Werte zurück auf nulldann sysctl neu laden:
sudo rm /etc/sysctl.d/99-disable-ipv6.conf
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.eth0.disable_ipv6=0
sudo sysctl --system
Auf einem Server mit statischer IP-Adresse sollten Sie auch die Debian-Netzwerkkonfiguration überprüfen. Eine falsch konfigurierte Route, ein fehlerhaftes Gateway oder ein fehlerhafter DNS-Server können den Eindruck erwecken, IPv6 sei das Problem, obwohl die Basiskonfiguration lediglich unvollständig ist. Ich habe diesen Aspekt im Artikel ausführlich beschrieben. die feste IP-Adresse unter Debian.
Überwachungsdienste nach der Änderung
Nach einer IPv6-Umstellung sollten Sie sich nicht allein auf einen Ping verlassen. Überprüfen Sie, welche Dienste auf dem Server aktiv sind:
sudo ss -ltnp
systemctl --fehlgeschlagen
journalctl -p warning..alert -b --no-pager
Achten Sie besonders auf die Dienste, die zugehört haben. Reverse-Proxys, Monitoring-Agenten, VPNs, Container und Firewalls. Weitere Informationen zu dieser Steuerung finden Sie im Artikel unter Ports unter Linux mit ss und netstat öffnen ist eine gute Ergänzung.
Falls ein Dienst nicht ordnungsgemäß neu gestartet werden kann, sollten Sie die Protokolle konsultieren, bevor Sie Änderungen am Netzwerk-Stack vornehmen:
journalctl -u service-name -b --no-pager
journalctl -b -p warning..alert --no-pager
Der Leitfaden zu journalctl und die Protokolle vom letzten Start wird Ihnen dabei helfen, festzustellen, was sich seit dem letzten Neustart geändert hat.
Wenn ich IPv6 aktiv lasse
Ich deaktiviere IPv6 nur, wenn ein eindeutiger Test zeigt, dass es den erwarteten Dienst beeinträchtigt oder die Netzwerkumgebung es nicht ordnungsgemäß unterstützt. Auf einem modernen Rechner, einem VPS, einem Reverse-Proxy, einem Mailserver, einem VPN oder einer Cloud-Infrastruktur kann IPv6 von mehr Komponenten genutzt werden, als man vielleicht denkt.
Bevor Sie es endgültig abschneiden, beachten Sie bitte folgende Reihenfolge:
- Überprüfen Sie Adressen mit
ip -6 addr show; - Überprüfen Sie die Route mit
IP-6-Route anzeigen; - DNS und Konnektivität testen mit
getent,auflösen,Ping -6UndLocken -6; - vorübergehend deaktivieren mit
sysctl -w; - Kontrolldienste und Häfen;
- Erst dann wird die Einstellung dauerhaft gespeichert.
Nützliche Quellen: Debian Wiki IPv6-Dokumentation, sysctl-Handbuch, Linux-Kernel IPv6-Netzwerkeinstellungen, Debian ip-route-Handbuch Und Debian resolvectl-Handbuch.