Kernel – Variablen: Unterschied zwischen den Versionen
(→Fazit) |
(→Vorab) |
||
| (4 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 | ||
| − | |||
| − | |||
| − | |||
=== 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 == | ||
| Zeile 62: | Zeile 65: | ||
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. | 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. | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
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.