- bookworm 4.18.1-1
- bookworm-backports 4.24.0-2~bpo12+1
- testing 4.24.0-2
- unstable 4.24.0-2
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=
colon-delimited hexadecimal
hyphen-delimited hexadecimal
dot-delimited hexadecimal
IPv4-Adressenformat
IPv6-Adressenformat
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=
Path=
Driver=
Type=
Kind=
Property=
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=
Host=
Virtualization=
KernelCommandLine=
KernelVersion=
Credential=
Architecture=
Firmware=
[LINK]-ABSCHNITT-OPTIONEN¶
Der Abschnitt »[LINK]« akzeptiert die folgenden Schlüssel:
Description=
Alias=
MACAddressPolicy=
persistent
random
none
Die Zuweisung einer leeren Zeichenkette ist äquivalent zum Setzen von »none«.
MACAddress=
NamePolicy=
kernel
database
onboard
slot
path
mac
keep
Name=
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=
AlternativeName=
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=
ReceiveQueues=
TransmitQueueLength=
MTUBytes=
BitsPerSecond=
Duplex=
AutoNegotiation=
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=
phy
unicast
multicast
broadcast
arp
magic
secureon
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=
Port=
tp
aui
bnc
mii
fibre
Advertise=
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=
TransmitChecksumOffload=
TCPSegmentationOffload=
TCP6SegmentationOffload=
GenericSegmentationOffload=
GenericReceiveOffload=
GenericReceiveOffloadHardware=
LargeReceiveOffload=
ReceiveVLANCTAGHardwareAcceleration=
TransmitVLANCTAGHardwareAcceleration=
ReceiveVLANCTAGFilter=
TransmitVLANSTAGHardwareAcceleration=
NTupleFilter=
RxChannels=, TxChannels=, OtherChannels=, CombinedChannels=
RxBufferSize=, RxMiniBufferSize=, RxJumboBufferSize=, TxBufferSize=
RxFlowControl=
TxFlowControl=
AutoNegotiationFlowControl=
GenericSegmentOffloadMaxBytes=
GenericSegmentOffloadMaxSegments=
UseAdaptiveRxCoalesce=, UseAdaptiveTxCoalesce=
RxCoalesceSec=, RxCoalesceIrqSec=, RxCoalesceLowSec=, RxCoalesceHighSec=, TxCoalesceSec=, TxCoalesceIrqSec=, TxCoalesceLowSec=, TxCoalesceHighSec=
RxMaxCoalescedFrames=, RxMaxCoalescedIrqFrames=, RxMaxCoalescedLowFrames=, RxMaxCoalescedHighFrames=, TxMaxCoalescedFrames=, TxMaxCoalescedIrqFrames=, TxMaxCoalescedLowFrames=, TxMaxCoalescedHighFrames=
CoalescePacketRateLow=, CoalescePacketRateHigh=
CoalescePacketRateSampleIntervalSec=
StatisticsBlockCoalesceSec=
MDI=
SR-IOVVirtualFunctions=
[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=
VLANId=
QualityOfService=
VLANProtocol=
MACSpoofCheck=
QueryReceiveSideScaling=
Trust=
LinkState=
MACAddress=
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 |