fragen stichworte

Wie kann ich den IPv4-Stack von Linux vollständig und dynamisch deaktivieren?

Wie kann ich den IPv4 -Stack von Linux aus deaktivieren? Ich möchte das dynamisch tun, d. H. Manchmal möchte ich, dass es aktiviert ist, und manchmal möchte ich nur IPv6 -Stack. Gibt es einen tragbaren Weg, dies zu tun? Wenn Sie wissen, wie man das in jeder Distribution macht, wird mir das auch sehr helfen.

antworten

Nun, nach einem kleinen Chat im IRC besteht die allgemeine Meinung darin, dass der Linux-Kernel Code zwischen ipv4 und ipv6 freigibt, was dazu führen kann, dass ipv4 vollständig deaktiviert wird. Sie können versuchen, den Kernel ohne die ipv4-Parts zu kompilieren, aber ipv6 kann in diesem Fall möglicherweise nicht kompiliert werden (aber nichts hält Sie davon ab!).

Sie können die IPv4-Adressen von Schnittstellen entfernen, AFAIK, aber ich denke nicht, dass es zurzeit möglich ist, IPv4 vollständig zu deaktivieren.

EDIT: Nach einer kurzen Überprüfung von make menuconfig im Kernel 2.6.36 konnte ich keine Möglichkeit finden, ipv4 zu deaktivieren, ohne den gesamten TCP/IP-Stack (und damit ipv6) zu deaktivieren.

Ich glaube nicht, dass es möglich ist, IPv4 vollständig zu deaktivieren. Abhängig von Ihrem Ziel kann es jedoch ausreichen, den gesamten IPv4-Verkehr mit iptables zu löschen, oder?

So etwas sollte funktionieren. Ich habe es auf keinem Rechner getestet, da ich über IPv4 darauf zugreife.

sudo iptables -I INPUT -j DROP
sudo iptables -O OUTPUT -j DROP

Wenn dies für Entwickler ist, dann könnte "library interposition" verwendet werden, mit LD_PRELOAD eine manipulierte Bibliothek mit Stub-Funktionen, die einfach Fehler zurückgeben (oder die echten abhängig vom Wochentag oder einem anderen externen Kriterium aufrufen) .

Meistens sollten Sie Ihren Kernel ohne ipv4-Module neu kompilieren. fedora

Sie können es nicht vollständig deaktivieren, da das System die Loopback-Schnittstelle 127.0.0.1 verwendet.
Sie können jedoch einige IPV4-Funktionen mit dem Befehl if-cfg deaktivieren.