Kernel – Variablen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
=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 und sysctl ==
 
+
*Kernel-Variablen sind wichtige Parameter, die das Verhalten und die Leistung des Betriebssystemkernels steuern.  
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.
+
*Sie können mithilfe des `sysctl`-Dienstprogramms geändert werden, um das Systemverhalten anzupassen und die Systemleistung zu optimieren.
  
 
=== sysctl ===
 
=== 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.  
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.
+
*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 ===
 
=== 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:
+
*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
 
sysctl -w fs.file-max=100000
 
perl
 
Copy code
 
  
 
=== Einige wichtige Kernel-Variablen ===
 
=== Einige wichtige Kernel-Variablen ===
Zeile 27: Zeile 31:
  
 
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.
 
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 ==
 
== Weitere Kernel Variablen und Funktionen ==

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.