Provided by: manpages-de_4.13-4_all 

BEZEICHNUNG
sysctl.d - Kernel-Parameter beim Systemstart konfigurieren
ÜBERSICHT
/etc/sysctl.d/*.conf
/run/sysctl.d/*.conf
/usr/lib/sysctl.d/*.conf
Schlüssel.Name.unter.proc.sys = ein Wert
Schlüssel/Name/unter/proc/sys = ein Wert
Schlüssel/mittel.Teil.mit.Punkten/foo = 123
Schlüssel.mittel/Teil/mit/Punkten.foo = 123
-Schlüssel.der.nicht.fehlschlagen.wird = Wert
Schlüssel.Muster.*.mit.Glob = irgendwas
-Schlüssel.Muster.ausgeschlossen.mit.Glob
Schlüssel.Muster.außerkraftgesetzt.mit.Glob = angepasst
BESCHREIBUNG
Beim Systemstart liest systemd-sysctl.service(8) Konfigurationsdateien aus den obigen Verzeichnissen, um
sysctl(8)-Kernelparameter zu konfigurieren.
KONFIGURATIONSFORMAT
Die Konfigurationsdateien enthalten eine Liste von durch Zeilenumbrüchen getrennten Variablenzuweisungen.
Leere Zeilen und Zeilen, deren erstes von Leerraumzeichen verschiedenes Zeichen ein »#« oder »;« ist,
werden ignoriert.
Beachten Sie, dass entweder »/« oder ».« als Trenner innerhalb von Sysctl-Variablennamen benutzt werden
kann. Falls der erste Trenner ein Schrägstrich ist, werden die restlichen Schrägstriche und Punkte
unverändert gelassen. Falls der erste Trenner ein Punkt ist, werden Punkte und Schrägstriche
ausgetauscht. »kernel.domainname=foo« und »kernel/domainname=foo« sind äquivalent und führen dazu, dass
»foo« nach /proc/sys/kernel/domainname geschrieben wird. Sowohl »net.ipv4.conf.enp3s0/200.forwarding« als
auch »net/ipv4/conf/enp3s0.200/forwarding« beziehen sich auf
/proc/sys/net/ipv4/conf/enp3s0.200/forwarding. Zum Schreiben des gleichen Wertes in alle passenden
Schlüssel kann ein glob(7)-Muster benutzt werden. Schlüssel, für die ein explizites Muster existiert,
werden von sämtlichen Glob-Vergleichen ausgeschlossen. Zusätzlich kann das Setzen eines Schlüssels
explizit ausgeschlossen werden, indem der Schlüsselname mit vorangestelltem »-« angegeben wird und ihm
kein »=« folgt, siehe ÜBERSICHT.
Sämtliche Berechtigungsfehler und Versuche, Variablen zu schreiben, die auf dem lokalen System nicht
vorhanden sind, werden auf der Debug-Stufe protokolliert, führen aber nicht zum Fehlschlag des Dienstes.
Andere Fehlertypen beim Setzen von Variablen werden mit höherer Priorität protokolliert und führen dazu,
dass der Dienst am Ende einen Fehlschlag zurückliefert (nachdem andere Variablen verarbeitet wurden).
Wird einer Variablenzuweisung ein einzelnes »-«-Zeichen vorangestellt, so werden abweichend davon Fehler
aus beliebigen Gründen, die Variable zu setzen, auf der Stufe »debug« protokolliert und dies wird nicht
zu einem Fehlschlag des Dienstes führen.
Die mit den sysctl.d-Dateien konfigurierten Einstellungen werden früh während des Systemstarts angewandt.
Die Netzwerkschnittstellen-spezifischen Optionen werden auch individuell auf jede Netzschnittstelle
angewandt, wenn diese im System auftaucht. (Genauer net.ipv4.conf.*, net.ipv6.conf.*, net.ipv4.neigh.*
and net.ipv6.neigh.*).
Viele Sysctl-Parameter werden nur verfügbar, wenn bestimmte Kernelmodule geladen werden. Module werden
normalerweise bei Bedarf geladen, z.B. wenn bestimmte Hardware eingesteckt oder das Netz aktiviert wird.
Dies bedeutet, dass systemd-sysctl.service(8), das während der frühen Systemstartphase läuft, solche
Parameter nicht konfigurieren wird, nachdem es ausgeführt wurde. Um solche Parameter zu setzen, wird
empfohlen, eine udev(7)-Regel hinzuzufügen, um diese Parameter zu setzen, wenn diese verfügbar werden.
Alternativ ist eine leicht einfachere und weniger effiziente Option, die Module zu modules-load.d(5)
hinzuzufügen, wodurch diese statisch geladen werden, bevor die Sysctl-Einstellungen angewandt werden
(siehe Beispiel unten).
KONFIGURATIONSVERZEICHNISSE UND RANGFOLGE
Konfigurationsdateien werden aus Verzeichnissen in /etc/, /run/, /usr/local/lib/ und /lib/, in dieser
Rangfolge, gelesen, wie im Abschnitt ÜBERSICHT oben aufgeführt. Dateien müssen die Endung ».conf« haben.
Dateien in /etc/ setzen Dateien mit dem gleichen Namen in /run/, /usr/local/lib/ und /lib/ außer Kraft.
Dateien in /run/ setzen Dateien mit dem gleichen Namen unter /usr/lib/ außer Kraft.
Alle Konfigurationsdateien werden in lexikographischer Reihenfolge sortiert, unabhängig davon, in welchem
Verzeichnis sie sich befinden. Falls mehrere Dateien die gleiche Option angeben, wird der Eintrag in der
Datei mit dem lexikographisch letzten Namen Vorrang erhalten. Daher kann die Konfiguration in einer
bestimmten Datei entweder komplett ersetzt werden (indem eine Datei mit dem gleichen Namen in einem
Verzeichnis mit höherer Priorität abgelegt wird) oder einzelne Einstellungen können geändert werden
(indem zusätzliche Einstellungen in einer Datei mit einem anderen Namen, der später angeordnet ist,
angegeben werden).
Pakete sollten ihre Konfigurationsdateien in /usr/lib/ (Distributionspakete) oder /usr/local/lib/ (lokale
Installationen) installieren. Dateien in /etc/ sind für den lokalen Administrator reserviert, der diese
Logik verwenden kann, um die durch die Lieferantenpakete bereitgestellten Konfigurationsdateien außer
Kraft zu setzen. Es wird empfohlen, allen Dateinamen eine zweistellige Zahl und einen Bindestrich
voranzustellen, um die Sortierung der Dateien zu vereinfachen.
Falls der Administrator eine vom Lieferanten bereitgestellte Konfigurationsdatei deaktivieren möchte,
wird empfohlen, einen Symlink im Konfigurationsverzeichnis in /etc/ mit dem gleichen Dateinamen wie die
des Lieferanten auf /dev/null zu setzen. Falls die Lieferantendatei im Initrd-Image enthalten ist, muss
das Image neu erstellt werden.
BEISPIELE
Beispiel 1. Den YP-Domain-Namen des Kernels setzen
/etc/sysctl.d/domain-name.conf:
kernel.domainname=example.com
Beispiel 2. Einstellungen nur anwenden, wenn ein bestimmtes Modul geladen ist (Methode eins)
/etc/udev/rules.d/99-bridge.rules:
ACTION=="add", SUBSYSTEM=="module", KERNEL=="br_netfilter", \
RUN+="/lib/systemd/systemd-sysctl --prefix=/net/bridge"
/etc/sysctl.d/bridge.conf:
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
Diese Methode wendet die Einstellungen an, wenn das Modul geladen wird. Bitte beachten Sie, dass über
Bridges weitergeleitete Pakete durch Netfilter nicht gefiltert werden, außer das Modul »br_netfilter« ist
geladen (seit Kernel 3.18), daher reicht es aus, das Modul einfach nicht zu laden, um das Filtern zu
vermeiden.
Beispiel 3. Einstellungen nur anwenden, wenn ein bestimmtes Modul geladen ist (Methode zwei)
/etc/modules-load.d/bridge.conf:
br_netfilter
/etc/sysctl.d/bridge.conf:
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
Diese Methode erzwingt, dass das Modul immer geladen wird. Bitte beachten Sie, dass über Bridges
weitergeleitete Pakete durch Netfilter nicht gefiltert werden, außer das Modul »br_netfilter« ist geladen
(seit Kernel 3.18), daher reicht es aus, das Modul einfach nicht zu laden, um das Filtern zu vermeiden.
Beispiel 4. Setzen von Netzwerk-Routing-Eigenschaften für alle Schnittstellen
/etc/sysctl.d/20-rp_filter.conf:
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.*.rp_filter = 2
-net.ipv4.conf.all.rp_filter
net.ipv4.conf.hub0.rp_filter = 1
Der Schlüssel rp_filter wird für alle Schnittstellen außer »hub0« auf »2« gesetzt. Wir setzen zuerst
net.ipv4.conf.default.rp_filter, damit alle später hinzugefügten Schnittstellen diesen Wert erhalten
(dies deckt auch alle während des Betriebs erkannten Schnittstellen ab). Der Glob passt auf alle früher
erkannten Schnittstellen. Der Glob passt auch auf net.ipv4.conf.all.rp_filter, der überhaupt nicht
gesetzt werden soll und daher explizit ausgeschlossen wird. Und »hub0« ist von dem Glob ausgeschlossen,
da er eine explizite Einstellung hat.
SIEHE AUCH
systemd(1), systemd-sysctl.service(8), systemd-delta(1), sysctl(8), sysctl.conf(5), modprobe(8)
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
Mailingliste der Übersetzer.
systemd 250 SYSCTL.D(5)