Wie kann ich die IPv6-Unterstützung unter Linux vollständig deaktivieren?

7

Derzeit richten wir einige lokale Netzwerkserver für die Ausführung in einem vollständigen IPv4-Netzwerk ein. Ich kann sicher sein, dass dieses Netzwerk keine IPv6-Unterstützung bietet und dies niemals tun wird.

Daneben,

  • teilweise aufgrund eines Befehls von höheren Organisationsebenen,
  • teilweise, weil wir garantieren müssen, wird es niemals Störungen verursachen,

Wir müssen die IPv6-Unterstützung auf den Kerneln der Linux-Server irgendwie vollständig deaktivieren.

Ja, ich kann nach einigen Sysctl-Einstellungen googeln, aber es hat nicht gereicht. Zum Beispiel /etc/hostshabe ich in den Standardeinstellungen von auch einige IPv6-Einträge gefunden. Ich werde nicht zulassen, dass es in Zukunft Ärger macht.

Was genau muss getan werden, um die gesamte IPv6-Unterstützung vollständig von einem neu installierten Debian zu entfernen? Die besten waren eine Checkliste / ToDo-Liste, aber jede andere Form war auch in Ordnung.

Ich habe die Konfigurationsdateien häufig überprüft /etc, kann aber nicht sicher sein, ob ich alles gefunden habe.

Irgendwelche besseren Ideen? Gibt es eine "Checkliste", was muss eingerichtet werden?


quelle
5
Gute Frage, schlechtes Management. Es ist 2015; Das Deaktivieren von IPv6 ohne zwingende Gründe ist unverantwortlich und dumm. Und ich habe noch nie einen zwingenden Grund gehört. Wenn Sie sich nicht wundern möchten, wenn plötzlich globale IPv6-Adressen eingehen, müssen Sie auch das Netzwerk ausschalten.
Michael Hampton
Was ich Leuten sagen würde, die solche fehlgeleiteten Anfragen stellen, ist Folgendes: Ich kann nicht garantieren, dass eine Dual-Stack-Bereitstellung keine Probleme verursacht. Ich kann jedoch garantieren, dass das vollständige Deaktivieren von IPv6 einige Probleme verursachen wird.
Kasperd
Der einzige Grund, warum eine Dual-Stack-Bereitstellung Probleme verursachen würde, die ich mir vorstellen kann, ist ein 6to4-Problem, das durch die private Verwendung öffentlicher IP-Adressen verursacht wird
Jim B

Antworten:

7

Entweder die sysctl-Zeilen in /etc/sysctl.conf

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

und / oder die GRUB-Leitung in /etc/default/grub

GRUB_CMDLINE_LINUX="ipv6.disable=1"

deaktiviert die IPv6-Unterstützung auf Systemebene und sollte ausreichen. Wenn Ihre Anwendungen weiterhin versuchen, eine Verbindung über IPv6 herzustellen, ist dies der Fehler der Anwendung und muss mit dem Hersteller besprochen werden.

Der /etc/hostsDateieintrag ist nicht relevant.

Hyppy
quelle
2
Verlassen Sie sich jedoch nicht darauf, dass Anwendungen ohne IPv6 funktionieren, wenn das von Ihnen verwendete Betriebssystem / die verwendete Distribution mit aktiviertem IPv6 ausgeliefert wird. Niemand wird diese Konfiguration getestet haben, daher müssen Sie Ihre eigenen Tests und Qualitätssicherungen durchführen.
Sander Steffann
3
PS: Wenn Sie auch Windows-Boxen in diesem Netzwerk haben: Microsoft hat ausdrücklich angegeben, dass das Deaktivieren von IPv6 eine nicht getestete und nicht unterstützte Konfiguration ist.
Sander Steffann
Es ist nicht der "Anwendungsfehler". Programme können das Modul weiterhin wie gewünscht laden. Sie können dies überprüfen, indem Sie lsmod oder modprobe -l ausführen. Das Kernelmodul ipv6.ko wird weiterhin angezeigt. Dadurch können Programme im Benutzermodus auf das Kernelmodul in ihrem Code zugreifen. Wenn ein Administrator dies tatsächlich tun wird, hat er seine eigene Instabilität eingeführt.
Jim B
Sysctl.conf benötigte einen Neustart (Debian Stretch / Sid), funktionierte aber anders. (Musste IPv6 ausschalten, da ich HTTPS auf IPv4 brauchte und Apache nur 443 auf TCP6 beanspruchte)
MSalters