Ubuntu 17.10: IPv6 wieder aktivieren

Ubuntu 17.10: IPv6 wieder aktivieren

Nach erfolgreicher Deaktivierung von IPv6 mit diesem Skript:

echo  'net.ipv6.conf.all.disable_ipv6 = 1'  >> /etc/sysctl.conf
echo  'net.ipv6.conf.default.disable_ipv6 = 1'  >> /etc/sysctl.conf
echo  'net.ipv6.conf.lo.disable_ipv6 = 1'  >> /etc/sysctl.conf
sysctl -p

Ich versuche, es mit diesem Skript wieder zu aktivieren:

sed  -i "/net.ipv6.conf.all.disable_ipv6/d" /etc/sysctl.conf
sed  -i "/net.ipv6.conf.default.disable_ipv6/d" /etc/sysctl.conf
sed  -i "/net.ipv6.conf.lo.disable_ipv6/d" /etc/sysctl.conf
sysctl -p

Ich habe überprüft, dass das Aktivierungsskript die Deaktivierungszeilen aus der Datei sysctl.conf entfernt.

Das Ergebnis überprüfe ich jeweils hiermit:

cat /proc/sys/net/ipv6/conf/all/disable_ipv6

wobei „1“ deaktiviert und „0“ nicht bedeutet.

Das erneute Aktivieren funktioniert nicht.

In jedem Fall lädt der Befehl sysctl -p die Datei /etc/sysctl.conf neu. Es scheint jedoch, dass das Neuladen einfach in den Puffer zieht, anstatt ihn vollständig zu überschreiben, sodass die deaktivierenden Eigenschaften nicht entfernt werden.

Ist diese Analyse richtig?

Wenn ja, sehe ich keine Option zum Löschen des sysctl.conf-Cache. Gibt es eine? Oder gibt es eine Strategie für diese Anforderung?

Antwort1

Die Einträge in /etc/sysctl.confund alle darin enthaltenen Dateien geben an, welche Sysctl-Einstellungen beim Booten oder beim Ausführen von angewendet werden sudo sysctl -p. Das Fehlen eines Eintrags in dieser Datei bedeutet jedoch, dass ein solches Sysctl (von denen es Tausende gibt)wird nicht geändertvon dem Wert, den es derzeit hat.

Sie haben die Sysctl-Einträge, die IPv6 deaktiviert haben, aus dieser Datei entfernt, aber es scheint nicht so, als hätten Sie die Sysctl-Einstellungen selbst geändert. Durch das Ausführen sudo sysctl -pwurden sie nicht geändert, weil sie nicht in waren /etc/sysctl.conf.

Um diese Einträge auf ihre Standardwerte zurückzusetzen, können Sie entweder Ihr System neu starten oder sysctlsie explizit festlegen. Beispiel:

sudo sysctl net.ipv6.conf.all.disable_ipv6=0
sudo sysctl net.ipv6.conf.default.disable_ipv6=0
sudo sysctl net.ipv6.conf.lo.disable_ipv6=0

verwandte Informationen