Kernel – Variablen: Unterschied zwischen den Versionen
(→Fazit) |
|||
| Zeile 12: | Zeile 12: | ||
sysctl -w fs.file-max=100000 | sysctl -w fs.file-max=100000 | ||
| − | |||
| − | |||
| − | |||
=== Einige wichtige Kernel-Variablen === | === Einige wichtige Kernel-Variablen === | ||
Version vom 24. Juni 2023, 10:29 Uhr
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.