Kernel – Variablen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
Zeile 2: Zeile 2:
 
*Die Kernelvariablen und die Kernelparameter sind 2 verschiedene Dinge.
 
*Die Kernelvariablen und die Kernelparameter sind 2 verschiedene Dinge.
 
*Die Kernelparamenter werden beim Booten übergeben.
 
*Die Kernelparamenter werden beim Booten übergeben.
*Wir besprechen dies später.
+
*Die Kernelvariablen sind auch im /proc Datei System sicht- und veränderbar.
*Die Kernelvariablen sind auch im /proc Datei System sicht und veränderbar.
+
*Das ist das nächste Kapitel.
 
  
 
== Kernel Variablen und sysctl ==
 
== Kernel Variablen und sysctl ==

Aktuelle Version vom 28. Juni 2023, 05:27 Uhr

Vorab

  • Die Kernelvariablen und die Kernelparameter sind 2 verschiedene Dinge.
  • Die Kernelparamenter werden beim Booten übergeben.
  • Die Kernelvariablen sind auch im /proc Datei System sicht- und veränderbar.


Kernel Variablen und sysctl

  • Kernel-Variablen sind wichtige Parameter, die das Verhalten und die Leistung des Betriebssystemkernels steuern.
  • Sie können mithilfe des `sysctl`-Dienstprogramms geändert werden, um das Systemverhalten anzupassen und die Systemleistung zu optimieren.

sysctl

  • Das `sysctl`-Dienstprogramm ist ein mächtiges Werkzeug, das es Administratoren ermöglicht, Kernel-Parameter während der Laufzeit zu lesen und zu ändern.
  • Die `sysctl`-Einstellungen können in zwei Arten gespeichert werden: temporär und permanent. Temporäre Änderungen werden bis zum nächsten Neustart beibehalten, während permanente *Änderungen in der Konfigurationsdatei `/etc/sysctl.conf` oder in den entsprechenden Dateien im Verzeichnis `/etc/sysctl.d/` gespeichert werden.

Kernel-Variablen bearbeiten mit sysctl

  • Zum Anzeigen der aktuellen Konfiguration kann man den Befehl `sysctl -a` oder `sysctl -A` verwenden.
  • Um eine spezifische Variable zu ändern, verwendet man `sysctl -w`. Zum Beispiel, um die maximale Anzahl von offenen Dateien zu ändern, könnte man folgenden Befehl verwenden:

sysctl -w fs.file-max=100000

Einige wichtige Kernel-Variablen

  • `vm.swappiness`: Bestimmt, wie aggressiv das System den Swap-Speicher nutzt.
  • `fs.file-max`: Legt die maximale Anzahl von Dateien fest, die gleichzeitig geöffnet sein können.
  • `net.ipv4.ip_forward`: Steuert, ob das System IP-Pakete zwischen Netzwerken weiterleiten kann.
  • `kernel.shmmax`: Bestimmt die maximale Größe eines gemeinsam genutzten Speichersegments.
  • `net.core.somaxconn`: Legt die Obergrenze für die Warteschlange eingehender Verbindungsanfragen fest.

Sicherheitsaspekte

Die Kernel-Variablen können auch aus Sicherheitsgründen angepasst werden. Zum Beispiel kann durch Deaktivieren von IP Forwarding (`net.ipv4.ip_forward`) das System vor bestimmten Arten von Netzwerkangriffen geschützt werden.

Weitere Kernel Variablen und Funktionen

kernel.domainname

Dies ist der NIS/YP-Domainname des Systems. Normalerweise nicht notwendig, außer das System ist Teil eines NIS-Domains.

kernel.printk

Dies steuert, welche Kernel-Meldungen auf die Konsole ausgegeben werden. Es kann verwendet werden, um den Informationsfluss zu reduzieren und nur wichtige Meldungen zu zeigen.

net.ipv4.conf.default.rp_filter und net.ipv4.conf.all.rp_filter

Diese Einstellungen aktivieren den Spoof-Schutz (Reverse-Path-Filter). Sie können dazu beitragen, einige Arten von Spoofing-Angriffen zu verhindern.

net.ipv4.tcp_syncookies

Diese Einstellung aktiviert TCP/IP SYN-Cookies, die dazu dienen, SYN-Flooding-Angriffe abzuwehren.

net.ipv4.ip_forward und net.ipv6.conf.all.forwarding

Diese Einstellungen steuern, ob das System IP-Pakete (IPv4 bzw. IPv6) weiterleiten kann. Das Aktivieren dieser Option deaktiviert die Stateless Address Autoconfiguration auf Basis von Routeranzeigen für diesen Host.

net.ipv4.conf.all.accept_redirects und net.ipv6.conf.all.accept_redirects

Diese Einstellungen steuern, ob das System ICMP-Redirects akzeptiert. Das Deaktivieren dieser Einstellung kann dazu beitragen, Man-in-the-Middle-Angriffe zu verhindern.

net.ipv4.conf.all.send_redirects

Diese Einstellung steuert, ob das System ICMP-Redirects sendet. Das Deaktivieren dieser Einstellung ist sinnvoll, wenn das System kein Router ist.

net.ipv4.conf.all.accept_source_route und net.ipv6.conf.all.accept_source_route

Diese Einstellungen steuern, ob das System IP-Quellroutenpakete akzeptiert. Das Deaktivieren dieser Einstellung ist sinnvoll, wenn das System kein Router ist.

net.ipv4.conf.all.log_martians

Diese Einstellung steuert, ob das System "martianische" Pakete protokolliert, d.h. Pakete mit unmöglichen Adressinformationen.

kernel.sysrq

Diese Einstellung steuert die SysRq-Funktion des Kernels, die eine Art "Notfall-Eingabe" für den Kernel bietet. Verschiedene Werte aktivieren verschiedene Funktionen, wie z.B. das Erzwingen eines Systemneustarts oder das Dumpen von Debug-Informationen.

Bitte beachten Sie, dass das Aktivieren oder Deaktivieren dieser Einstellungen erhebliche Auswirkungen auf das Verhalten und die Sicherheit des Systems haben kann. Jede Änderung sollte sorgfältig geprüft und getestet werden.