Auf meinem Ubuntu-Rechner /etc/sysctl.conf
habe ich in der Datei Optionen zum Filtern umgekehrter Pfade, die standardmäßig folgendermaßen auskommentiert sind:
#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1
aber in /etc/sysctl.d/10-network-security.conf
ihnen sind (wieder, standardmäßig) nicht auskommentiert:
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
Ist die Umkehrpfadfilterung also aktiviert oder nicht? Welcher Konfigurationsort hat Priorität? Wie überprüfe ich die aktuellen Werte dieser und anderer Kerneloptionen?
quelle
sysctl -e
zum Bearbeiten undsysctl -f
zum Ausführen der Konfiguration?Diese Art von Dingen befindet sich normalerweise in der
/proc
und / oder der/sys
Kernel-Oberfläche (denken Sie zuerst daran, dass nichts in diesen Verzeichnissen eine reguläre Festplattendatei ist, sie sind alle direkte Leitungen zum Kernel).Also zB:
Anscheinend habe ich rp_filter für em1, wlan0 und "default" eingestellt. Sie können sie festlegen oder deaktivieren, indem Sie einfach in das Datei-Handle schreiben:
Wie bereits erwähnt, handelt es sich um eine direkte Kommunikation mit dem Kernel, die sofort wirksam wird. Dies sind keine Konfigurationsdateien. Wenn Sie versuchen, etwas falsch zu machen:
Das heißt natürlich nicht, dass man es auf diese Weise nicht vermasseln kann. Und lesen Sie unbedingt die folgenden Kommentare.
quelle
sysctl -a
...sysctl
(seeman 2 sysctl
), dies ist jedoch nicht für die meisten anderen Sprachen portiert (es ist in einigen Sprachen der Fall), und in diesen Fällen besteht die beste Option darin, in proc zu lesen oder zu schreiben. Es kann durchaus sein, dass bashsecho
fehlschlägt, da ich sagen kann, dass die in C und anderen Sprachen verfügbaren High-Level-Stream-E / A-Funktionen dies können. Das niedrige Lese- / Schreibniveau wird es jedoch nicht. In jedem Fall ist es wichtig, über die Proc-Schnittstelle Bescheid zu wissen. Deshalb habe ich sieUm die vollständige Antwort akzeptiert , während es stimmt, dass die
/etc/sysctl.conf
Einstellungen in Vorrang vor denen nehmen/etc/sysctl.d/
, die beispielsweise in der ursprünglichen Frage ausgesetzt zeigt zwei auf Kommentar Variablen in/etc/sysctl.conf
:und die gleichen Variablen nicht auskommentiert in
/etc/sysctl.d/10-network-security.conf
:Dies kann irreführend sein, da ein Kommentar keine Einstellung ist, sondern nur eine Bemerkung darüber, was eine Einstellung sein könnte.
In dieser Situation werden die Variablen tatsächlich beide auf 1 gesetzt, obwohl sie in der stärkeren Konfigurationsdatei auskommentiert sind.
Wenn
/etc/sysctl.conf
wir in hatten:dann würden die Variablen schließlich auf 0 gesetzt.
quelle