Linux - Kernel Parameter (sysctl)
Der Befehl sysctl wird in Linux verwendet um Kernel-Parameter zur Laufzeit auszulesen und zu ändern.
Auflisten aller Kernel Parameter
sysctl -a
Auslesen eines Kernel Parameters
sysctl net.ipv6.conf.all.disable_ipv6
Temporäres ändern eines Kernel Parameters
sysctl net.ipv6.conf.all.disable_ipv6 = 1
Permanentes ändern von kernel Parametern
Um Kernel Parameter permanent zu ändern legt man eine Datei mit den gewünschten Kernel Parametern im Verzeichnis /etc/sysctl.d an:
nano /etc/sysctl.d/100-mykernelparameters.conf
Die Zahl (Prefix) gibt die Reihenfolge der Ausführung an. Ein Wert in einer Datei mit niedrigem Prefix (z. B. 10) würde durch den Wert in einer Datei mit höherem Prefix (z. B. 100) überschrieben werden!
Beispiel
# Kernel security settings
kernel.core_uses_pid = 1
kernel.dmesg_restrict = 1
kernel.kexec_load_disabled = 1
kernel.kptr_restrict = 2
kernel.sysrq = 0
kernel.yama.ptrace_scope = 1
# IPv4 settings
net.ipv4.tcp_timestamps = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.log_martians = 1
net.ipv4.tcp_syncookies = 1
# disable IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
# disable IPv6 redirects
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0