Scroll to navigation

SYSTEMD.LINK(5) systemd.link SYSTEMD.LINK(5)

BEZEICHNUNG

systemd.link - Konfiguration von Netzwerkgeräten

ÜBERSICHT

Link.link

BESCHREIBUNG

Eine einfache, init-artige Textdatei, die die Konfiguration für passende Netzwerkgeräte kodiert. Sie wird von systemd-udevd(8) und insbesondere dem eingebauten net_setup_link verwandt. Siehe systemd.syntax(7) für eine allgemeine Beschreibung der Syntax.

Die .link-Dateien werden aus den Dateien gelesen, die sich im Systemnetzwerkverzeichnis /lib/systemd/network und /usr/local/lib/systemd/network, dem flüchtigen Laufzeitnetzwerkverzeichnis /run/systemd/network und dem lokalen Administrationsnetzwerkverzeichnis /etc/systemd/network befinden. Alle Konfigurationsdateien werden gemeinsam sortiert und in alphanumerischer Reihenfolge verarbeitet, unabhängig davon, in welchem Verzeichnis sie sich befinden. Allerdings ersetzen sich Dateien mit gleichen Namen gegenseitig. Es wird empfohlen, dass jedem Dateinamen einen Zahl vorangestellt wird (z.B. 10-eth0.link). Andernfalls können die standardmäßigen .link-Dateien oder die von systemd-network-generator.service(8) erstellten Vorrang vor benutzerkonfigurierten Dateien haben. Dateien in /etc/ haben die höchste Priorität, Dateien in /run/ haben Vorrang vor Dateien mit dem gleichen Namen in /lib/. Dies kann bei Bedarf zum Außerkraftsetzen einer vom System bereitgestellten Link-Datei durch eine lokale Datei verwandt werden. Als Spezialfall deaktiviert eine leere Datei (Dateigröße 0) oder ein Symlink auf /dev/null die Konfigurationsdatei insgesamt (sie ist »maskiert«).

Zusammen mit der Link-Datei »foo.link« kann ein »Ergänzung«-Verzeichnis foo.link.d/ existieren. Alle Dateien mit der Endung ».conf« aus diesem Verzeichnis werden in alphanumerischer Reihenfolge zusammengeführt und ausgewertet, nachdem die Hauptdatei selbst ausgewertet wurde. Dies ist nützlich, um Konfigurationseinstellungen zu verändern oder hinzuzufügen, ohne die Hauptkonfigurationsdatei zu verändern. Jede Ergänzungsdatei muss geeignete Abschnittskopfzeilen aufweisen.

Zusätzlich zu /etc/systemd/network können Ergänzungs-».d«-Verzeichnisse in /lib/systemd/network- oder /run/systemd/network-Verzeichnissen abgelegt werden. Ergänzungsdateien in /etc/ haben Vorrang vor denen in /run/, die wiederum Vorrang vor denen in /lib/ haben. Ergänzungsdateien in jedem dieser Verzeichnisse haben Vorrang vor der Haupt-Link-Datei, woauchimmer sich diese befindet.

Die Link-Datei enthält einen Abschnitt »[Match]«, der festlegt, ob eine gegebene Link-Datei auf ein gegebenes Gerät angewandt werden darf. Desweiteren enthält sie einen Abschnitt »[Link]«, der festlegt, wie ein Gerät konfiguriert werden soll. Die erste (in lexikalischer Reihenfolge) der auf ein gegebenes Gerät passenden Link-Dateien wird angewandt. Beachten Sie, dass eine Vorgabedatei 99-default.link durch das System ausgeliefert wird. Daher sollte jede von Benutzern bereitgestellte .link einen lexikalisch vorherigen Namen haben, um überhaupt betrachtet zu werden.

Siehe udevadm(8) für die Diagnose von Problemen mit .link-Dateien.

[MATCH]-ABSCHNITT-OPTIONEN

Eine Link-Datei wird als auf eine Schnittstelle passend angesehen, falls alle im Abschnitt »[Match]« festgelegten Treffer erfüllt sind. Wenn eine Link-Datei keine gültigen Einstellungen im Abschnitt »[Match]« enthält, dann wird die Datei auf alle Schnittstellen passen und systemd-udevd eine Warnung ausgeben. Tipp: Um die Warnung zu vermeiden und klarer darzustellen, dass auf alle Schnittstellen entsprochen werden sollen, fügen Sie Folgendes hinzu:

OriginalName=*

Die erste (in alphanumerischer Reihenfolge) der Link-Dateien, die auf eine festgelegte Schnittstelle passt, wird angewandt und alle späteren Dateien werden ignoriert, selbst falls sie auch passen. Die folgenden Schlüssel werden akzeptiert:

MACAddress=

Eine Leerraum-getrennte Liste von Hardware-Adressen. Die akzeptablen Formate sind:

colon-delimited hexadecimal

Jedes Feld muss ein Byte sein. Z.B. »12:34:56:78:90:ab« oder »AA:BB:CC:DD:EE:FF«.

hyphen-delimited hexadecimal

Jedes Feld muss ein Byte sein. Z.B. »12-34-56-78-90-ab« oder »AA-BB-CC-DD-EE-FF«.

dot-delimited hexadecimal

Jedes Feld muss zwei Byte sein. Z.B. »1234.5678.90ab« oder »AABB.CCDD.EEFF«.

IPv4-Adressenformat

Z.B. »127.0.0.1« oder »192.168.0.1«.

IPv6-Adressenformat

Z.B. »2001:0db8:85a3::8a2e:0370:7334« oder »::1«.

Die Gesamtlänge jeder MAC-Adresse muss 4 (für IPv4-Tunnel), 6 (für Ethernet), 16 (für IPv6-Tunnel) oder 20 (für InfiniBand) sein. Diese Option kann mehr als einmal auftauchen, dann werden die Listen zusammengeführt. Falls der Option die leere Zeichenkette zugewiesen wird, wird die vorher definierte Liste der Hardware-Adressen zurückgesetzt. Standardmäßig nicht gesetzt.

PermanentMACAddress=

Eine Leerraum-getrennte Liste von dauerhaften Adressen der Hardware. Während MACAddress= auf die aktuelle MAC-Adresse des Gerätes passt, vergleicht dies die dauerhafte MAC-Adresse des Gerätes, die sich von der aktuellen unterscheiden kann. Verwendet vollständige Doppelpunkt-, Bindestrich- oder Punkt-begrenzte hexadezimale Notation oder das IPv4- oder IPv6-Format. Diese Option kann mehr als einmal auftauchen, dann werden die Listen zusammengeführt. Falls der Option die leere Zeichenkette zugewiesen wird, wird die vorher definierte Liste der Hardware-Adressen zurückgesetzt. Standardmäßig nicht gesetzt.

Path=

Eine Leerraum-getrennte Liste von Shell-artigen Globs, die auf dauerhafte Pfade, wie sie von der Udev-Eigenschaft ID_PATH offengelegt wird, passen.

Driver=

Eine Leerraum-getrennte Liste von Shell-artigen Globs, die auf den derzeit an das Gerät gebundenen Treiber passen, wie dieser durch die Udev-Eigenschaft ID_NET_DRIVER des übergeordneten Gerätes offengelegt wird oder, falls die nicht gesetzt ist, durch den Treiber selbst, wie dies durch ethtool -i offengelegt wird. Wird der Liste »!« vorangestellt, so wird der Test invertiert.

Type=

Eine Leerraum-getrennte Liste von Shell-artigen Globs, die auf den Gerätetyp, wie er durch networkctl list offengelegt wird, passen. Wird der Liste »!« vorangestellt, so wird der Test invertiert. Einige gültige Werte sind »ether«, »loopback«, »wlan«, »wwan«. Gültige Typnamen werden entweder von dem Udev-Attribut »DEVTYPE« oder den Makros »ARPHRD_« in linux/if_arp.h benannt. so dass diese Aufstellung nicht umfassend ist.

Kind=

Eine Leerraum-getrennte Liste von Shell-artigen Globs, die auf die Geräteart, wie sie durch networkctl status SCHNITTSTELLE oder ip -d link show SCHNITTSTELLE offengelegt wird, passen. Wird der Liste »!« vorangestellt, so wird der Test invertiert. Einige gültige Werte sind »bond«, »bridge«, »gre«, »tun«, »veth«. Gültige Arten werden durch das Attribut »IFLA_INFO_KIND« von Netlink angegeben, so dass diese Aufstellung nicht umfassend ist.

Property=

Eine Leerraum-getrennte Liste von Udev-Eigenschaftsnamen mit ihren Werten nach einem Gleichheitszeichen (»=«). Falls mehrere Eigenschaften angegeben sind, werden sie mit UND verbunden. Wird der Liste »!« vorangestellt, so wird der Test invertiert. Falls ein Wert Leerraum enthält, dann schließen Sie das gesamte Schlüssel-Wert-Paar bitte in englische Anführungszeichen ein. Falls ein Wert Anführungszeichen enthält, dann maskieren Sie bitte das Anführungszeichen mit »\«.

Beispiel: Falls eine .link-Datei

Property=ID_MODEL_ID=9999 "ID_VENDOR_FROM_DATABASE=Lieferantenname" "KEY=mit \"Zitat\""

enthält, dann passt eine .link-Datei nur, wenn eine Schnittstelle alle drei obigen Eigenschaften enthält.

OriginalName=

Eine Leerraum-getrennte Liste von Shell-artigen Globs, die auf den Gerätenamen, wie er durch die Udev-Eigenschaft »INTERFACE« offengelegt wird, passen. Dies kann nicht zum Vergleich mit Namen, die aus dem Anwendungsraum heraus bereits geändert wurden, verwandt werden. Kernel-zugewiesene Namen können sich bei Systemneustarts ändern, daher sollte beim Vergleich dieser Namen Vorsicht walten gelassen werden.

Host=

Passt auf den Rechnernamen oder die Maschinenkennung des Rechners. Siehe ConditionHost= in systemd.unit(5) für Details. Wird »!« vorangestellt, so wird das Ergebnis negiert. Wird eine leere Zeichenkette zugewiesen, dann wird der vorher zugewiesene Wert zurückgesetzt.

Virtualization=

Prüft, ob das System in einer virtualisierten Umgebung ausgeführt wird und testet optional, ob es eine bestimmte Implementierung ist. Siehe ConditionVirtualization= in systemd.unit(5) für Details. Das Ergebnis wird negiert, wenn ein Ausrufezeichen (»!«) vorangestellt wird. Falls eine leere Zeichenkette zugewiesen wird, dann wird der vorher zugewiesene Wert bereinigt.

KernelCommandLine=

Prüft, ob eine bestimmte Kernelbefehlszeilenoption gesetzt ist. Siehe ConditionKernelCommandLine= in systemd.unit(5) für Details. Das Ergebnis wird negiert, wenn ein Ausrufezeichen (»!«) vorangestellt wird. Falls eine leere Zeichenkette zugewiesen wird, dann wird der vorher zugewiesene Wert bereinigt.

KernelVersion=

Prüft, ob die Kernelversion (wie von uname -r gemeldet) auf einen bestimmten Ausdruck passt. Siehe ConditionKernelVersion= in systemd.unit(5) für Details. Das Ergebnis wird negiert, wenn ein Ausrufezeichen (»!«) vorangestellt wird. Falls eine leere Zeichenkette zugewiesen wird, dann wird der vorher zugewiesene Wert bereinigt.

Credential=

Prüft, ob die festgelegte Zugangsberechtigung an den Dienst systemd-udevd.service übergeben wurde. Siehe System- und Dienste-Zugangsberechtigungen[1] für Details. Das Ergebnis wird negiert, wenn ein Ausrufezeichen (»!«) vorangestellt wird. Falls eine leere Zeichenkette zugewiesen wird, dann wird der vorher zugewiesene Wert bereinigt.

Architecture=

Prüft, ob das System auf einer bestimmten Architektur läuft. Siehe ConditionArchitecture= in systemd.unit(5) für Details. Das Ergebnis wird negiert, wenn ein Ausrufezeichen (»!«) vorangestellt wird. Falls eine leere Zeichenkette zugewiesen wird, dann wird der vorher zugewiesene Wert bereinigt.

Firmware=

Prüft, ob das System auf einer Maschine mit der angegeben Firmware läuft. Siehe ConditionFirmware= in systemd.unit(5) für Details. Das Ergebnis wird negiert, wenn ein Ausrufezeichen (»!«) vorangestellt wird. Falls eine leere Zeichenkette zugewiesen wird, dann wird der vorher zugewiesene Wert bereinigt.

[LINK]-ABSCHNITT-OPTIONEN

Der Abschnitt »[LINK]« akzeptiert die folgenden Schlüssel:

Description=

Eine Beschreibung des Gerätes.

Alias=

Die Schnittstelleneigenschaft ifalias wird auf diesen Wert gesetzt.

MACAddressPolicy=

Die Richtlinie, gemäß der die MAC-Adresse gesetzt werden soll. Die verfügbaren Richtlinien sind:

persistent

Falls die Hardware eine dauerhafte MAC-Adresse hat, wie das die meiste Hardware haben sollte, und diese vom Kernel verwandt wird, dann passiert nichts. Andernfalls wird eine neue MAC-Adresse erstellt, für die garantiert wird, dass sie nach jedem Systemstart auf der angegebenen Maschine für das angegebene Gerät stets identisch, aber ansonsten zufällig ist. Diese Funktionalität basiert auf der Existenz der Eigenschaft ID_NET_NAME_* für den Link. Auf Hardware, auf der diese Eigenschaft nicht gesetzt ist, wird die Erstellung einer dauerhaften MAC-Adresse fehlschlagen.

random

Falls der Kernel eine zufällige MAC-Adresse verwendet, passiert nichts. Andernfalls wird bei jedem Auftauchen des Gerätes, typischerweise beim Systemstart, zufällig eine neue MAC-Adresse erstellt. Auf jeden Fall wird die zufällige Adresse die Bits »unicast« und »locally administered« gesetzt haben.

none

Behält die vom Kernel zugewiesene MAC-Adresse. Oder verwendet die in MACAddress= angegebene MAC-Adresse.

Die Zuweisung einer leeren Zeichenkette ist äquivalent zum Setzen von »none«.

MACAddress=

Die zu verwendende Schnittstellen-MAC-Adresse. Damit diese Einstellung wirksam wird, muss MACAddressPolicy= nicht gesetzt, leer oder »none« sein.

NamePolicy=

Eine sortierte, durch Leerzeichen getrennte Liste von Richtlinien, gemäß derer der Schnitstellenname gesetzt werden soll. NamePolicy= kann durch Angabe von net.ifnames=0 auf der Kernelbefehlszeile deaktiviert werden. Jeder dieser Richtlinien kann fehlschlagen und die erste erfolgreiche wird verwandt. Der Name wird nicht direkt gesetzt, sondern an Udev als Eigenschaft ID_NET_NAME exportiert, die standardmäßig von udev(7) zum Setzen von NAME verwandt wird. Die verfügbaren Richtlinien sind:

kernel

Falls der Kernel angibt, dass der von ihm für ein Gerät gesetzte Name vorhersagbar ist, dann erfolgt keine Umbenennung.

database

Der Name wird basierend auf den Einträgen in der Hardware-Datenbank von Udev mit dem Schlüssel ID_NET_NAME_FROM_DATABASE gesetzt.

onboard

Der Name wird basierend auf dem durch die Firmware für fest verbaute Geräte gelieferten Informationen, wie diese durch die Udev-Eigenschaft ID_NET_NAME_ONBOARD exportiert wird, gesetzt. Siehe systemd.net-naming-scheme(7).

slot

Der Name wird basierend auf dem durch die Firmware für hotplug-fähige Geräte gelieferten Informationen, wie diese durch die Udev-Eigenschaft ID_NET_NAME_SLOT exportiert wird, gesetzt. Siehe systemd.net-naming-scheme(7).

path

Der Name wird basierend auf dem physischen Ort des Gerätes, wie dieser durch die Udev-Eigenschaft ID_NET_NAME_PATH exportiert wird, gesetzt. Siehe systemd.net-naming-scheme(7).

mac

Der Name wird basierend auf der dauerhaften MAC-Adresse des Gerätes, wie diese durch die Udev-Eigenschaft ID_NET_NAME_MAC exportiert wird, gesetzt. Siehe systemd.net-naming-scheme(7).

keep

Falls das Gerät bereits im Anwendungsbereich einen Namen erhielt (als Teil der Erstellung des Gerätes oder einer Umbenennung), wird dieser beibehalten.

Name=

Den zu verwendenden Schnittstellennamen. Diese Option hat eine niedrigere Priorität als NamePolicy=. Damit also diese Einstellung wirksam wird, muss NamePolicy= entweder nicht gesetzt, leer, deaktiviert sein oder alle Richtlinien, die dies konfigurieren, müssen fehlschlagen. Schauen Sie sich auch das nachfolgende Beispiel mit »Name=dmz0« an.

Beachten Sie, dass es gefährlich ist, einen Namen anzugeben, den der Kernel für eine andere Schnittstelle verwendet (beispielsweise »eth0«), da die Namenszuweisung durch Udev mit der Zuweisung durch den Kernel in einen Wettlauf gelangen kann, und nur eine Schnittstelle den Namen verwenden darf. Abhängig von der Reihenfolge der Aktionen wird entweder Udev oder der Kernel gewinnen, wodurch der Name unvorhersagbar wird. Es wird empfohlen, ein anderes Präfix zu wählen, beispielsweise »internal0«/»external0« oder »lan0«/»lan1«/»lan3«.

Schnittstellennamen müssen eine minimale Länge von einem Zeichen und eine maximale Länge von 15 Zeichen haben. Sie dürfen aus jedem 7-bit-ASCII-Zeichen bestehen, die Ausnahme sind Steuerzeichen, »:«, »/« und »%«. Obwohl ».« ein erlaubtes Zeichen ist, wird empfohlen, es bei der Benennung von Schnittstellen zu vermeiden, da verschiedene Werkzeuge (wie resolvconf(1)) das Zeichen als Trennzeichen verwenden. Auch sind vollständig numerische Schnittstellennamen nicht erlaubt (um Mehrdeutigkeiten bei Schnittstellenspezifikationen durch numerische Indicies zu vermeiden). Auch die besonderen Zeichenketten ».«, »..«, »all« und »default« sind nicht erlaubt.

AlternativeNamesPolicy=

Eine Leerzeichen-getrennte Liste von Richtlinien, gemäß derer der alternative Name der Schnittstelle gesetzt werden soll. Jede der Richtlinien kann fehlschlagen und alle erfolgreichen Richtlinien werden verwandt. Die verfügbaren Richtlinien sind »database«, »onboard«, »slot«, »path« and »mac«. Falls der Kernel keine alternativen Namen unterstützt, dann wird diese Einstellung ignoriert.

AlternativeName=

Der zu verwendende alternative Schnittstellenname. Diese Option kann mehrfach angegeben werden. Falls der Option die leere Zeichenkette zugewiesen wird, wird die Liste zurückgesetzt und alle vorherigen Zuweisungen sind wirkungslos. Falls der Kernel keine alternativen Namen unterstützt, dann wird diese Einstellung ignoriert.

Alternative Schnittstellennamen können zur Identifizierung von Schnittstellen in verschiedenen Werkzeugen verwandt werden. Im Gegensatz zum Hauptnamen (wie er mit obigem Name= konfiguriert ist) kann es mehrere alternative Namen geben, die sich auf die gleiche Schnittstelle beziehen. Alternative Namen dürfen eine maximale Länge von 127 Zeichen haben, im Gegensatz zu den 15 Zeichen, die für den Hauptschnittstellennamen erlaubt sind, unterliegen aber ansonsten den gleichen Beschränkungen bei der Benennung.

TransmitQueues=

Legt die Anzahl der Übertragungswarteschlangen des Gerätes fest. Eine Ganzzahl im Bereich 1…4096. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

ReceiveQueues=

Legt die Anzahl der Empfangswarteschlangen des Gerätes fest. Eine Ganzzahl im Bereich 1…4096. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

TransmitQueueLength=

Legt die Länge der Übertragungswarteschlange des Gerätes (in der Anzahl der Pakete) fest. Eine vorzeichenlose Ganzzahl im Bereich 0…4294967294. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

MTUBytes=

Die für das Gerät zu setzende maximale Übertragungseinheit in Byte. Die normalen Endungen K, M, G werden als Einheiten zur Basis 1024 verstanden.

BitsPerSecond=

Die für das Gerät zu setzende Geschwindigkeit, der Wert wird auf die nächsten Mbit/s abgerundet. Die normalen Endungen K, M, G werden als Einheiten zur Basis 1000 verstanden.

Duplex=

Der für das Gerät zu setzende Duplex-Modus. Die akzeptierten Werte sind half und full.

AutoNegotiation=

Akzeptiert einen logischen Wert. Falls auf »yes« gesetzt, wird die automatische Aushandlung von Übertragungsparametern aktiviert. Bei der automatischen Aushandlung entscheiden sich zwei verbundene Ethernet-Geräte über die Übertragungsparameter, wie Geschwindigkeit, Duplex-Modus und Flusssteuerung. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

Beachten Sie, dass die Geschwindigkeits- und Duplex-Einstellungen nur lesbar sind, wenn automatische Aushandlung aktiviert ist. Falls dies deaktiviert ist, sind die Geschwindigkeits- und Duplex-Einstellungen schreibbar, falls der Treiber mehrere Link-Modi unterstützt.

WakeOnLan=

Die für das Gerät zu setzende Aufwachen-im-LAN-Richtlinie. Akzeptiert den besonderen Wert »off«, wodurch Aufwachen-im-LAN deaktiviert wird, oder eine durch Leerzeichen getrennte Liste der folgenden Wörter:

phy

Wacht bei PHY-Aktivität auf.

unicast

Wacht bei Unicast-Meldungen auf.

multicast

Wacht bei Multicast-Meldungen auf.

broadcast

Wacht bei Broadcast-Meldungen auf.

arp

Wacht bei ARP auf.

magic

Wacht bei Empfang eines magischen Pakets auf.

secureon

Aktiviert SecureOn-Passwörter für MagicPacket. Impliziert, wenn WakeOnLanPassword= festgelegt ist. Falls ohne die Option WakeOnLanPassword= festgelegt, dann wird das Passwort von der Zugangsberechtigung »LINK.link.wol.password« ausgelesen (z.B. »60-foo.link.wol.password« und falls die Zugangsberechtigung nicht gefunden wird, dann wird es aus »wol.password« gelesen. Siehe ImportCredential=/LoadCredential=/SetCredential= in systemd.exec(5) für Details. Das Passwort in der Zugangsberechtigung muss 6 byte im Hexadezimalformat umfassen, wobei jedes Byte durch einen Doppelpunkt (»:«), wie in einer Ethernet-MAC-Adresse, abgetrennt ist, z.B. »aa:bb:cc:dd:ee:ff«.

Standardmäßig nicht gesetzt und die Vorgabe des Geräts wird verwandt. Diese Einstellung kann mehrfach angegeben werden. Falls eine leere Zeichenkette zugewiesen wird, dann werden alle vorherigen Zuweisungen gelöscht.

WakeOnLanPassword=

Legt das SecureOn-Passwort für MagicPacket fest. Akzeptiert einen absoluten Pfad zu einer regulären Datei oder einem AF_UNIX-Datenstrom-Socket oder ein schlichtes Passwort. Wenn ein Pfad zu einer regulären Datei festgelegt wird, wird das Passwort daraus gelesen. Wenn ein AF_UNIX-Datenstromsocket festgelegt ist, wird zu ihm eine Verbindung aufgebaut und das Passwort daraus gelesen. Das Passwort muss 6 byte im Hexadezimalformat umfassen, wobei jedes Byte durch einen Doppelpunkt (»:«), wie bei einer Ethernet-MAC-Adresse, abgetrennt ist, z.B. »aa:bb:cc:dd:ee:ff«. Dies impliziert WakeOnLan=secureon. Standardmäßig nicht gesetzt und der aktuelle Wert wird nicht geändert.

Port=

Die Option »port« wird zur Auswahl des Geräte-Ports verwandt. Die unterstützten Werte sind:

tp

Eine Ethernet-Schnittstelle mit Twisted-Pair-Kabel als Medium.

aui

Attachment Unit Interface (AUI). Normalerweise in Hubs verwandt.

bnc

Eine Ethernetschnittstelle, die BNC-Stecker und koaxiales Kabel benutzt.

mii

Eine Ethernet-Schnittstelle, die Media Independent Interface (MII) benutzt.

fibre

Eine Ethernet-Schnittstelle, die Glasfaser als Medium benutzt.

Advertise=

Dies setzt die Ankündigungen der Geschwindigkeit und Duplexmodi für die automatische Aushandlung. Dies impliziert »AutoNegotiation=yes«. Die unterstützten Werte sind:

Tabelle 1. Unterstützte Ankündigungswerte

Ankündigung Geschwindigkeit (Mbit/s) Duplexmodus
10baset-full 10 full
10baset1l-full 10 full
10baset-half 10 halb
100basefx-full 100 full
100baset-full 100 full
100baset1-full 100 full
100basefx-half 100 halb
100baset-half 100 halb
1000basekx-full 1000 full
1000baset-full 1000 full
1000baset1-full 1000 full
1000basex-full 1000 full
1000baset-half 1000 halb
2500baset-full 2500 full
2500basex-full 2500 full
5000baset-full 5000 full
10000baser-fec 10000  
10000basecr-full 10000 full
10000baseer-full 10000 full
10000basekr-full 10000 full
10000basekx4-full 10000 full
10000baselr-full 10000 full
10000baselrm-full 10000 full
10000basesr-full 10000 full
10000baset-full 10000 full
20000basekr2-full 20000 full
20000basemld2-full 20000 full
25000basecr-full 25000 full
25000basekr-full 25000 full
25000basesr-full 25000 full
40000basecr4-full 40000 full
40000basekr4-full 40000 full
40000baselr4-full 40000 full
40000basesr4-full 40000 full
50000basecr-full 50000 full
50000basecr2-full 50000 full
50000basedr-full 50000 full
50000basekr-full 50000 full
50000basekr2-full 50000 full
50000baselr-er-fr-full 50000 full
50000basesr-full 50000 full
50000basesr2-full 50000 full
56000basecr4-full 56000 full
56000basekr4-full 56000 full
56000baselr4-full 56000 full
56000basesr4-full 56000 full
100000basecr-full 100000 full
100000basecr2-full 100000 full
100000basecr4-full 100000 full
100000basedr-full 100000 full
100000basedr2-full 100000 full
100000basekr-full 100000 full
100000basekr2-full 100000 full
100000basekr4-full 100000 full
100000baselr-er-fr-full 100000 full
100000baselr2-er2-fr2-full 100000 full
100000baselr4-er4-full 100000 full
100000basesr-full 100000 full
100000basesr2-full 100000 full
100000basesr4-full 100000 full
200000basecr2-full 200000 full
200000basecr4-full 200000 full
200000basedr2-full 200000 full
200000basedr4-full 200000 full
200000basekr2-full 200000 full
200000basekr4-full 200000 full
200000baselr2-er2-fr2-full 200000 full
200000baselr4-er4-fr4-full 200000 full
200000basesr2-full 200000 full
200000basesr4-full 200000 full
400000basecr4-full 400000 full
400000basecr8-full 400000 full
400000basedr4-full 400000 full
400000basedr8-full 400000 full
400000basekr4-full 400000 full
400000basekr8-full 400000 full
400000baselr4-er4-fr4-full 400000 full
400000baselr8-er8-fr8-full 400000 full
400000basesr4-full 400000 full
400000basesr8-full 400000 full
800000basecr8-full 800000 full
800000basedr8-2-full 800000 full
800000basedr8-full 800000 full
800000basekr8-full 800000 full
800000basesr8-full 800000 full
800000basevr8-full 800000 full
asym-pause    
aui    
autonegotiation    
backplane    
bnc    
fec-baser    
fec-llrs    
fec-none    
fec-rs    
fibre    
mii    
pause    
tp    

Standardmäßig ist dies nicht gesetzt, d.h. alle möglichen Modi werden angekündigt. Diese Option kann mehr als einmal angegeben werden, wodurch alle festgelegten Geschwindigkeiten und Modi angekündigt werden. Wird dieser Option eine leere Zeichenkette zugewiesen, dann wird die Liste zurückgesetzt und alle vorher gesetzten Zuweisungen haben keine Auswirkung.

ReceiveChecksumOffload=

Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird Abgabe der Prüfsummenprüfung von Ingress-Netzwerkpaketen an die Hardware aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

TransmitChecksumOffload=

Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird Abgabe der Prüfsummenprüfung von Egress-Netzwerkpaketen an die Hardware aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

TCPSegmentationOffload=

Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird »TCP Segmentation Offload (TSO)« aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

TCP6SegmentationOffload=

Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird »TCP6 Segmentation Offload« (tx-tcp6-Segmentierung) aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

GenericSegmentationOffload=

Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird »Generic Segmentation Offload (GSO)« aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

GenericReceiveOffload=

Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird »Generic Receive Offload (GRO)« aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

GenericReceiveOffloadHardware=

Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird hardwarebeschleunigtes »Generic Receive Offload (GRO)« aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

LargeReceiveOffload=

Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird »Large Receive Offload (LRO)« aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

ReceiveVLANCTAGHardwareAcceleration=

Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird Hardwarebeschleunigung für VLAN-CTAG-Empfang aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

TransmitVLANCTAGHardwareAcceleration=

Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird Hardwarebeschleunigung für VLAN-CTAG-Übertragung aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

ReceiveVLANCTAGFilter=

Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird Empfangsfilterung auf VLAN CTAGs aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

TransmitVLANSTAGHardwareAcceleration=

Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, wird Hardwarebeschleunigung für VLAN-STAG-Übertragung aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

NTupleFilter=

Akzeptiert einen logischen Wert. Falls auf wahr gesetzt, werden N-Tupel-Filter-Empfang und -Aktionen aktiviert. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

RxChannels=, TxChannels=, OtherChannels=, CombinedChannels=

Legt die Anzahl der Empfangs-, Übertragungs-, weiterer bzw. kombinierter Kanäle fest. Akzeptiert eine vorzeichenlose Ganzzahl im Bereich 1…4294967295 oder »max«. Falls auf »max« gesetzt, wird der von der Hardware beworbene maximale Wert verwandt. Wenn nicht gesetzt, wird die Anzahl nicht geändert. Standardmäßig nicht gesetzt.

RxBufferSize=, RxMiniBufferSize=, RxJumboBufferSize=, TxBufferSize=

Legt die maximale Anzahl von anhängenden Paketen in dem NIC-Empfangspuffer, dem Mini-Empfangspuffer, dem Jumbo-Empfangspuffer bzw. dem Übertragungspuffer fest. Akzeptiert eine vorzeichenlose Ganzzahl im Bereich 1…4294967295 oder »max«. Falls auf »max« gesetzt, wird der von der Hardware beworbene maximale Wert verwandt. Wenn nicht gesetzt, wird die Anzahl nicht geändert. Standardmäßig nicht gesetzt.

RxFlowControl=

Akzeptiert einen logischen Wert. Wenn gesetzt, wird Empfangsflusssteuerung, auch bekannt als Ethernet-Empfangs-PAUSE-Meldung, aktiviert (die Ethernet PAUSE-Frames erstellt und sendet). Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

TxFlowControl=

Akzeptiert einen logischen Wert. Wenn gesetzt, wird Sendeflusssteuerung, auch bekannt als Ethernet-Sende-PAUSE-Meldung, aktiviert (die auf gesandte Ethernet PAUSE-Frames reagiert). Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

AutoNegotiationFlowControl=

Akzeptiert einen logischen Wert. Wenn gesetzt, ermöglicht automatische Aushandlung der Schnittstelle, Zustandesankündigungen mit der verbundenen Gegenstelle auszutauschen, so dass die zwei Geräte sich auf eine Ethernet-PAUSE-Konfiguration einigen können. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

GenericSegmentOffloadMaxBytes=

Legt die maximale Größe eines »Generic Segment Offload«- (GSO-)Pakets fest, das das Gerät akzeptieren soll. Die normalen Endungen K, M, G werden als Einheiten zur Basis 1024 verstanden. Eine vorzeichenlose Ganzzahl im Bereich 1…65536. Standardmäßig nicht gesetzt.

GenericSegmentOffloadMaxSegments=

Legt die maximale Anzahl an »Generic Segment Offload«- (GSO-)Segmenten fest, die das Gerät akzeptieren soll. Eine vorzeichenlose Ganzzahl im Bereich 1…65535. Standardmäßig nicht gesetzt.

UseAdaptiveRxCoalesce=, UseAdaptiveTxCoalesce=

Logische Werte, die adaptive Rx/Tx-Zusammenführung aktivieren/deaktivieren, falls gesetzt und die Hardware dies unterstützt. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

RxCoalesceSec=, RxCoalesceIrqSec=, RxCoalesceLowSec=, RxCoalesceHighSec=, TxCoalesceSec=, TxCoalesceIrqSec=, TxCoalesceLowSec=, TxCoalesceHighSec=

Diese Eigenschaften konfigurieren die Verzögerung, bevor Rx/Tx-Interrupts nach dem Senden/Empfangen eines Pakets erstellt werden. Die Eigenschaft »Irq« wird wirksam, wenn der Rechner einen IRQ ausliefert. Die Eigenschaften »Low« und »High« werden wirksam, wenn die Paketrate unterhalb der Schwelle für niedrige Paketraten sinkt bzw. die Schwelle der hohen Paketrate übersteigt, falls adaptive Rx/Tx-Zusammenführung aktiviert ist. Wenn nicht gesetzt, wird die Vorgabe des Kernels verwandt.

RxMaxCoalescedFrames=, RxMaxCoalescedIrqFrames=, RxMaxCoalescedLowFrames=, RxMaxCoalescedHighFrames=, TxMaxCoalescedFrames=, TxMaxCoalescedIrqFrames=, TxMaxCoalescedLowFrames=, TxMaxCoalescedHighFrames=

Diese Eigenschaften konfigurieren die maximale Anzahl an Frames, die gesendet werden, bevor ein Rx/Tx-Interrupt erstellt wird. Die Eigenschaft »Irq« wird wirksam, wenn der Rechner einen IRQ ausliefert. Die Eigenschaften »Low« und »High« werden wirksam, wenn die Pakterate unterhalb der Schwelle für niedrige Paketraten sinkt bzw. die Schwelle der hohen Paketraten übersteigt, falls adaptive Rx/Tx-Zusammenführung aktiviert ist. Wenn nicht gesetzt, wird die Vorgabe des Kernels verwandt.

CoalescePacketRateLow=, CoalescePacketRateHigh=

Diese Eigenschaften konfigurieren den Schwellenwert für niedrige bzw. hohe Paketraten (ausgedrückt in Paketen pro Sekunde). Sie werden dazu verwandt, zu bestimmen, wann die entsprechenden Zusammenführungseinstellungen für niedrige und hohe Paketraten wirksam werden, falls adaptive Rx/Tx-Zusammenführung aktiviert ist. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

CoalescePacketRateSampleIntervalSec=

Konfiguriert, wie oft die für adaptive Rx/Tx-Zusammenführung verwandte Paketrate beprobt werden soll. Diese Einstellung kann nicht Null sein. Die niedrigste, von dieser Eigenschaft unterstützte Zeitstückelung ist Sekunden. Teilsekunden werden aufgerundet, bevor sie an den Kernel weitergegeben werden. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

StatisticsBlockCoalesceSec=

Wie lange die speicherinternen Treiber-Statistik-Blockaktualisierungen verzögert werden sollen. Falls der Treiber keinen speicherinternen Statistikblock hat, wird diese Eigenschaft ignoriert. Diese Einstellung kann nicht Null sein. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

MDI=

Legt den Modus der »mittleren abhängigen Schnittstelle« (MDI) für die Schnittstelle fest. Ein MDI beschreibt die Schnittstelle von der Ebene der physischen Implementierung bis zum physischen Medium, das die Übertragung durchführt. Akzeptiert eines der folgenden Wörter: »straight« (oder äquivalent: »mdi«), »crossover« (oder äquivalent: »mdi-x«, »mdix«) und »auto«. Falls »straight«, dann wird der direkte Durchgangsmodus von MDI verwandt. Wenn »crossover«, dann wird der Überkreuzmodus (MDI-X) verwandt. Wenn »auto«, dann wird der MDI-Status automatisch erkannt. Standardmäßig nicht gesetzt und die Vorgabe des Kernels wird verwandt.

SR-IOVVirtualFunctions=

Legt die Anzahl der SR-IOV virtuellen Funktionen fest. Akzeptiert eine Ganzzahl im Bereich 0…2147483647. Standardmäßig nicht gesetzt und automatisch aus den in der Einstellung VirtualFunction= gesetzten Werten in den Abschnitten [SR-IOV] bestimmt.

[SR-IOV]-ABSCHNITT-OPTIONEN

Der Abschnitt »[SR-IOV]« akzeptiert die folgenden Schlüssel. Geben Sie mehrere Abschnitte [SR-IOV] an, um mehrere SR-IOVs zu konfigurieren. SR-IOVs ermöglichen die Fähigkeit, eine einzelne physische PCI-Ressource in virtuelle PCI-Funktionen einzuteilen, die dann in eine VM eingeschleust werden können. Im Falle von Netzwerk-VFs verbessern SR-IOV die Nord-Süd-Netzwerkleistung (d.h. Datenverkehr mit Endpunkten außerhalb des Rechners), indem dem Datenverkehr erlaubt wird, den Netzwerkstapel des Rechners zu umgehen.

VirtualFunction=

Legt eine Virtuelle Funktion (VF) fest. Dies ist eine leichtgewichtige PCIe-Funktion, die nur zum Herein- oder Hinausschieben von Daten entwickelt wurde. Akzeptiert eine Ganzzahl im Bereich 0…2147483646. Diese Option ist verpflichtend.

VLANId=

Legt die VLAN-Kennung der virtuellen Funktion fest. Akzeptiert eine Ganzzahl im Bereich 1…4095.

QualityOfService=

Legt die Dienstequalität der virtuellen Funktion fest. Akzeptiert eine Ganzzahl im Bereich 1…4294967294.

VLANProtocol=

Legt das VLAN-Protokoll der virtuellen Funktion fest. Akzeptiert »802.1Q« oder »802.1ad«.

MACSpoofCheck=

Akzeptiert einen logischen Wert. Steuert die MAC-Fälschungsüberprüfung. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

QueryReceiveSideScaling=

Akzeptiert einen logischen Wert. Schaltet die Fähigkeit ein oder aus, die Konfiguration der Empfangsseitenskalierung (RSS) der virtuellen Funktion (VF) abzufragen. Die VF-RSS-Informationen wie RSS-Hash-Schlüssel können auf einigen Geräten, auf denen diese Informationen von VF und den physischen Funktionen (PF) gemeinsam benutzt wird, als vertrauenswürdig angesehen werden. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

Trust=

Akzeptiert einen logischen Wert. Ermöglicht das Setzen des Vertrauensmodus der virtuellen Funktion (VF). Falls gesetzt, können VF-Benutzer eine bestimmte Funktionalität setzen, die die Sicherheit oder Leistung beeinflussen kann. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

LinkState=

Ermöglicht das Setzen des Link-Zustandes der virtuellen Funktion (VF). Akzeptiert einen logischen oder einen besonderen Wert »auto«. Setzen auf »auto« bedeutet eine Reflexion des Link-Zustandes der physischen Funktion (PF), »yes« lässt die VF mit anderen VF auf diesem Rechner kommunizieren, selbst wenn der PF-Linkzustand unten ist und »no« führt dazu, dass die Hardware alle von VF gesandten Pakete verwirft. Falls nicht gesetzt, wird die Vorgabe des Kernels verwandt.

MACAddress=

Legt die MAC-Adresse für die virtuelle Funktion fest.

BEISPIELE

Beispiel 1. /lib/systemd/network/99-default.link

Die mit Systemd ausgelieferte Link-Datei 99-default.link definiert die Standardrichtlinien für Schnittstellennamen, alternative Namen und MAC-Adressen von Links.

[Match]
OriginalName=*
[Link]
NamePolicy=Pfad des eingebauten Slots in der Kernel-Datenbank beibehalten
AlternativeNamesPolicy=Pfad der Datenbank des eingebauten SlotsMACAddressPolicy=persistent

Beispiel 2. /etc/systemd/network/10-dmz.link

Dieses Beispiel weist den festen Namen »dmz0« der Schnittstelle mit der MAC-Adresse 00:a0:de:63:7a:e6 zu:

[Match]
MACAddress=00:a0:de:63:7a:e6
[Link]
Name=dmz0

NamePolicy= ist nicht gesetzt, daher wird Name= wirksam. Wir verwenden das »10-«-Präfix, um die Datei früh in die Liste einzusortieren. Beachten Sie, dass es vor 99-default.link sein muss, d.h. sie muss ein numerisches Präfix haben, um überhaupt Wirkung zu zeigen.

Beispiel 3. Eine .link-Datei (erneut) auf eine Schnittstelle anwenden

Nachdem eine .link-Datei erstellt oder eine bestehende .link-Datei verändert wurde, können die neuen Einstellungen auf die passende Schnitttstelle mit den folgenden Befehlen angewandt werden:

$ sudo udevadm control --reload
$ sudo ip link set eth0 down
$ sudo udevadm trigger --verbose --settle --action add /sys/class/net/eth0

Es könnte auch notwendig sein, den Dienst, der die Netzwerkschnittstelle verwaltet, z.B. systemd-networkd.service(8) oder NetworkManager.service vor der obigen Aktion zu stoppen und danach neu zu starten. Weitere Details zu dem Befehl udevadm finden Sie in udevadm(8).

Beispiel 4. Fehlersuche in NamePolicy=-Zuweisungen

$ sudo SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_setup_link /sys/class/net/hub0
…
Parsed configuration file /lib/systemd/network/99-default.link
Parsed configuration file /etc/systemd/network/10-eth0.link
ID_NET_DRIVER=cdc_ether
Config file /etc/systemd/network/10-eth0.link applies to device hub0
link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
hub0: Device has name_assign_type=4
Using default interface naming scheme 'v240'.
hub0: Policies didn't yield a name, using specified Name=hub0.
ID_NET_LINK_FILE=/etc/systemd/network/10-eth0.link
ID_NET_NAME=hub0
…

In diesem Fall gewinnt die explizite Name=-Konfiguration.

sudo SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_setup_link /sys/class/net/enp0s31f6
…
Parsed configuration file /lib/systemd/network/99-default.link
Parsed configuration file /etc/systemd/network/10-eth0.link
Created link configuration context.
ID_NET_DRIVER=e1000e
Config file /lib/systemd/network/99-default.link applies to device enp0s31f6
link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
enp0s31f6: Device has name_assign_type=4
Using default interface naming scheme 'v240'.
enp0s31f6: Policy *keep*: keeping existing userspace name
enp0s31f6: Device has addr_assign_type=0
enp0s31f6: MAC on the device already matches policy *persistent*
ID_NET_LINK_FILE=/lib/systemd/network/99-default.link
…

In diesem Fall wurde die Schnittstelle bereits umbenannt, so dass die als erste Option in 99-default.link festgelegte Richtlinie »keep« bedeutet, dass der bestehende Name erhalten wird. Falls keep entfernt würde oder falls es im Systemstart wäre, bevor die Umbenennung passierte, könnten wir stattdessen Folgendes erhalten:

enp0s31f6: Policy *path* yields "enp0s31f6".
enp0s31f6: Device has addr_assign_type=0
enp0s31f6: MAC on the device already matches policy *persistent*
ID_NET_LINK_FILE=/lib/systemd/network/99-default.link
ID_NET_NAME=enp0s31f6
…

Bitte beachten Sie, dass sich die Ausgabedetails ändern können.

Beispiel 5. /etc/systemd/network/10-internet.link

Dieses Beispiel weist den festen Namen »internet0« der Schnittstelle mit dem Gerätepfad »pci-0000:00:1a.0-*« zu:

[Match]
Path=pci-0000:00:1a.0-*
[Link]
Name=internet0

Beispiel 6. /etc/systemd/network/25-wireless.link

Es folgt ein sehr komplexes Beispiel, das die Verwendung einer großen Anzahl von [Match]- und [Link]-Einstellungen zeigt.

[Match]
MACAddress=12:34:56:78:9a:bc
Driver=brcmsmac
Path=pci-0000:02:00.0-*
Type=wlan
Virtualization=no
Host=mein_Laptop
Architecture=x86-64
[Link]
Name=wireless0
MTUBytes=1450
BitsPerSecond=10M
WakeOnLan=magic
MACAddress=cb:a9:87:65:43:21

SIEHE AUCH

systemd-udevd.service(8), udevadm(8), systemd.netdev(5), systemd.network(5), systemd-network-generator.service(8)

ANMERKUNGEN

1.
System- und Dienste-Zugangsberechtigungen

Ü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 254