Systemd/Networkd: Unterschied zwischen den Versionen
(26 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
'''Systemd | '''Systemd/Networkd''' - Beschreibung | ||
== Beschreibung == | == Beschreibung == | ||
Der Netzwerk-DAEMON [https://wiki.ubuntuusers.de/systemd/networkd/#Links systemd-networkd] gehört zur systemd-Familie und konfiguriert Netzwerkschnittstellen auf den Ebenen 2 und 3 des [https://wiki.ubuntuusers.de/systemd/networkd/#Links ISO/OSI-Referenzmodells] | Der Netzwerk-DAEMON [https://wiki.ubuntuusers.de/systemd/networkd/#Links systemd-networkd] gehört zur systemd-Familie und konfiguriert Netzwerkschnittstellen auf den Ebenen 2 und 3 des [https://wiki.ubuntuusers.de/systemd/networkd/#Links ISO/OSI-Referenzmodells] | ||
* Mit diesem Programm kann man auch auf realen Schnittstellen aufbauende virtuelle Schnittstellen wie beispielsweise Brücken, Tunnel, VPN erstellen und diese konfigurieren | |||
* Das Programm kümmert sich aber nicht um Ebene 2 bei WLAN-Schnittstellen | |||
Bei Ubuntu-Server-Installationen wird systemd-networkd als [https://wiki.ubuntuusers.de/systemd/Units/ systemd-Unit] gestartet und als einziges Programm für die Konfiguration des Netzwerks verwendet. (Siehe jedoch [https://wiki.ubuntuusers.de/Netplan/ Netplan].) | Bei Ubuntu-Server-Installationen wird systemd-networkd als [https://wiki.ubuntuusers.de/systemd/Units/ systemd-Unit] gestartet und als einziges Programm für die Konfiguration des Netzwerks verwendet. (Siehe jedoch [https://wiki.ubuntuusers.de/Netplan/ Netplan].) | ||
Bei Ubuntu-Desktop-Installationen wird systemd-networkd lediglich installiert, aber nicht gestartet | Bei Ubuntu-Desktop-Installationen wird systemd-networkd lediglich installiert, aber nicht gestartet | ||
* Beim Start kann es wechselweise zu Störungen mit [https://wiki.ubuntuusers.de/NetworkManager/ NetworkManager] kommen, welcher bei Desktops normalerweise zur ausschließlichen Konfiguration des Netzwerks verwendet wird | |||
Zu systemd-networkd gehört das Dienstprogramm '''networkctl''' zur Kontrolle und Steuerung des DAEMONs | Zu systemd-networkd gehört das Dienstprogramm '''networkctl''' zur Kontrolle und Steuerung des DAEMONs | ||
Bei systemd-networkd erfolgt die Konfiguration ausschließlich über Deklarationen | Bei systemd-networkd erfolgt die Konfiguration ausschließlich über Deklarationen | ||
* Man kann aber mit dem Zusatzprogramm [https://wiki.ubuntuusers.de/systemd/networkd-dispatcher/ systemd/networkd-dispatcher] auch Progamme starten | |||
== Installation == | == Installation == | ||
systemd-networkd ist auf allen aktuellen Ubuntu-Installationen als fester Bestandteil von systemd bereits vorinstalliert | systemd-networkd ist auf allen aktuellen Ubuntu-Installationen als fester Bestandteil von systemd bereits vorinstalliert | ||
== | == Start und Stopp == | ||
systemd-networkd kann nötigenfalls über diese Befehle verwaltet werden | |||
systemctl restart systemd-networkd.service | |||
systemctl enable systemd-networkd.service | |||
systemctl status systemd-networkd.service | |||
systemctl stop systemd-networkd.service | |||
== | systemctl disable systemd-networkd.service | ||
HINWEIS: Wenn Sie dies aus der Ferne tun, stellen Sie bitte sicher, dass Sie Zugang zum physischen Rechner haben, um Probleme beheben zu können, falls etwas schiefgeht | |||
systemd-networkd macht nichts, wenn … * … es schon läuft und per <tt>start</tt> gestartet wird | |||
* Wenn Änderungen übernommen werden sollen, muss man es stoppen und neu starten, der Befehl <tt>restart</tt> von '''systemctl''' macht genau dieses | |||
* … es läuft und man die Konfiguration ändert | |||
* … es gestoppt wird | |||
* … es beim erneuten Start bereits konfigurierte Schnittstellen findet | |||
* Lediglich neue Schnittstellen werden bearbeitet | |||
== Konfiguration == | |||
; HINWEIS | |||
: Wenn Sie dies aus der Ferne tun, stellen Sie bitte sicher, dass Sie Zugang zum physischen Rechner haben, um Probleme beheben zu können, falls etwas schiefgeht | |||
* Sie können nicht aus der Ferne an einem Rechner arbeiten, dessen Netzwerk nicht funktioniert | |||
Wenn Sie derzeit ein Netzwerk mit /etc/network/ betreiben, verschieben Sie die Schnittstellendatei dorthin unter einem anderen Namen, damit sie nach der Einrichtung von systemd-networkd nicht mehr verwendet wird: | Wenn Sie derzeit ein Netzwerk mit /etc/network/ betreiben, verschieben Sie die Schnittstellendatei dorthin unter einem anderen Namen, damit sie nach der Einrichtung von systemd-networkd nicht mehr verwendet wird: | ||
<syntaxhighlight lang="bash" highlight=" | <syntaxhighlight lang="bash" highlight="" line copy> | ||
mv /etc/network/interfaces /etc/network/interfaces.save | mv /etc/network/interfaces /etc/network/interfaces.save | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Aktivieren Sie als Nächstes systemd-networkd | Aktivieren Sie als Nächstes systemd-networkd | ||
* Sie müssen den Dienst noch nicht starten, da Ihr altes Netzwerk noch läuft und derzeit kein systemd-networkd definiert ist | |||
<syntaxhighlight lang="bash" highlight="" line copy> | |||
systemctl enable systemd-networkd | systemctl enable systemd-networkd | ||
</syntaxhighlight> | |||
Alle Konfigurationsdateien werden in der Regel unter „/etc/systemd/network” gespeichert | |||
* Beachten Sie, dass in den Konfigurationsdateien die Groß- und Kleinschreibung beachtet werden muss | |||
* Match ist nicht dasselbe wie match | |||
Als Nächstes müssen Sie ein Netzwerk definieren | |||
* Im einfachsten Fall handelt es sich dabei nur um eine einzige Datei in /etc/systemd/network | |||
Als Nächstes müssen Sie ein Netzwerk definieren | * Verwenden wir lan0.network und fügen wir die folgenden Informationen ein: | ||
<syntaxhighlight lang="bash" highlight=" | <syntaxhighlight lang="bash" highlight="" line copy> | ||
[Match] | [Match] | ||
Name=eth0 | Name=eth0 | ||
Zeile 47: | Zeile 66: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Dadurch wird systemd-networkd angewiesen, eth0 (das von udev eingerichtet wurde) zu verwenden und ihm mithilfe von DHCP eine Adresse zuzuweisen | Dadurch wird systemd-networkd angewiesen, eth0 (das von udev eingerichtet wurde) zu verwenden und ihm mithilfe von DHCP eine Adresse zuzuweisen | ||
Für eine statische IP könnte lan0.network wie folgt aussehen: | Für eine statische IP könnte lan0.network wie folgt aussehen: | ||
<syntaxhighlight lang="bash" highlight=" | <syntaxhighlight lang="bash" highlight="" line copy> | ||
[Match] | [Match] | ||
Name=enp8s0 | Name=enp8s0 | ||
Zeile 60: | Zeile 79: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Ich empfehle an dieser Stelle einen Neustart, um das derzeit ausgeführte Netzwerk zu entfernen und sicherzustellen, dass Ihr Netzwerk ordnungsgemäß funktioniert | Ich empfehle an dieser Stelle einen Neustart, um das derzeit ausgeführte Netzwerk zu entfernen und sicherzustellen, dass Ihr Netzwerk ordnungsgemäß funktioniert | ||
Das ist alles, was für einen einfachen Fall erforderlich ist | Das ist alles, was für einen einfachen Fall erforderlich ist | ||
<noinclude> | |||
=== | == Anhang == | ||
=== Siehe auch === | |||
<div style="column-count:2"> | |||
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree> | |||
</div> | |||
---- | |||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | |||
=== Links === | |||
==== Weblinks ==== | |||
[ | # https://www.freedesktop.org/software/systemd/man/latest/systemd.network.html | ||
# https://manpages.debian.org/man/systemd-networkd systemd-networkd | |||
# https://manpages.debian.org/man/systemd systemd].network - basic network configuration (e.g. DHCP, static, IPv6, MAC, MTU), config also read by [https://manpages.debian.org/man/systemd-resolved systemd-resolved].service | |||
# [https://manpages.debian.org/man/systemd systemd].netdev - network device configuration (e.g. bridges, VLAN, tunnels, VPNs, etc) | |||
# [https://wiki.debian.org/CategoryNetwork CategoryNetwork] | |||
# [https://wiki.ubuntuusers.de/systemd/networkd-dispatcher/ systemd/networkd-dispatcher] - auf Zustandsänderungen bei den Netzwerkschnittstellen reagieren, um beispielsweise Programm zu starten | |||
# [https://wiki.ubuntuusers.de/systemd/networkd/Anwendungsbeispiele/ systemd/networkd/Anwendungsbeispiele] | |||
# [https://www.freedesktop.org/software/systemd/man/systemd-networkd.html Projekseite systemd-networkd] | |||
# [https://www.freedesktop.org/software/systemd/man/systemd.syntax.html Syntax in Konfigurationsdateien von systemd] | |||
# [https://de.wikipedia.org/wiki/OSI-Modell ISO/OSI-Referenzmodell Netzwerk (Netzwerk-Schichten)] | |||
# [https://standards.ieee.org/faqs/regauth.html#1 Erklärung EUI-48] | |||
[[Kategorie:Linux/Netzwerk/networkd]] | |||
{{DEFAULTSORT:systemd-networkd}} | |||
{{DISPLAYTITLE:systemd-networkd}} | |||
</noinclude> | |||
</ | |||
Aktuelle Version vom 3. September 2025, 08:12 Uhr
Systemd/Networkd - Beschreibung
Beschreibung
Der Netzwerk-DAEMON systemd-networkd gehört zur systemd-Familie und konfiguriert Netzwerkschnittstellen auf den Ebenen 2 und 3 des ISO/OSI-Referenzmodells
- Mit diesem Programm kann man auch auf realen Schnittstellen aufbauende virtuelle Schnittstellen wie beispielsweise Brücken, Tunnel, VPN erstellen und diese konfigurieren
- Das Programm kümmert sich aber nicht um Ebene 2 bei WLAN-Schnittstellen
Bei Ubuntu-Server-Installationen wird systemd-networkd als systemd-Unit gestartet und als einziges Programm für die Konfiguration des Netzwerks verwendet. (Siehe jedoch Netplan.)
Bei Ubuntu-Desktop-Installationen wird systemd-networkd lediglich installiert, aber nicht gestartet
- Beim Start kann es wechselweise zu Störungen mit NetworkManager kommen, welcher bei Desktops normalerweise zur ausschließlichen Konfiguration des Netzwerks verwendet wird
Zu systemd-networkd gehört das Dienstprogramm networkctl zur Kontrolle und Steuerung des DAEMONs
Bei systemd-networkd erfolgt die Konfiguration ausschließlich über Deklarationen
- Man kann aber mit dem Zusatzprogramm systemd/networkd-dispatcher auch Progamme starten
Installation
systemd-networkd ist auf allen aktuellen Ubuntu-Installationen als fester Bestandteil von systemd bereits vorinstalliert
Start und Stopp
systemd-networkd kann nötigenfalls über diese Befehle verwaltet werden
systemctl restart systemd-networkd.service systemctl enable systemd-networkd.service systemctl status systemd-networkd.service systemctl stop systemd-networkd.service systemctl disable systemd-networkd.service
systemd-networkd macht nichts, wenn … * … es schon läuft und per start gestartet wird
- Wenn Änderungen übernommen werden sollen, muss man es stoppen und neu starten, der Befehl restart von systemctl macht genau dieses
- … es läuft und man die Konfiguration ändert
- … es gestoppt wird
- … es beim erneuten Start bereits konfigurierte Schnittstellen findet
- Lediglich neue Schnittstellen werden bearbeitet
Konfiguration
- HINWEIS
- Wenn Sie dies aus der Ferne tun, stellen Sie bitte sicher, dass Sie Zugang zum physischen Rechner haben, um Probleme beheben zu können, falls etwas schiefgeht
- Sie können nicht aus der Ferne an einem Rechner arbeiten, dessen Netzwerk nicht funktioniert
Wenn Sie derzeit ein Netzwerk mit /etc/network/ betreiben, verschieben Sie die Schnittstellendatei dorthin unter einem anderen Namen, damit sie nach der Einrichtung von systemd-networkd nicht mehr verwendet wird:
mv /etc/network/interfaces /etc/network/interfaces.save
Aktivieren Sie als Nächstes systemd-networkd
- Sie müssen den Dienst noch nicht starten, da Ihr altes Netzwerk noch läuft und derzeit kein systemd-networkd definiert ist
systemctl enable systemd-networkd
Alle Konfigurationsdateien werden in der Regel unter „/etc/systemd/network” gespeichert
- Beachten Sie, dass in den Konfigurationsdateien die Groß- und Kleinschreibung beachtet werden muss
- Match ist nicht dasselbe wie match
Als Nächstes müssen Sie ein Netzwerk definieren
- Im einfachsten Fall handelt es sich dabei nur um eine einzige Datei in /etc/systemd/network
- Verwenden wir lan0.network und fügen wir die folgenden Informationen ein:
[Match]
Name=eth0
[Network]
DHCP=ipv4
Dadurch wird systemd-networkd angewiesen, eth0 (das von udev eingerichtet wurde) zu verwenden und ihm mithilfe von DHCP eine Adresse zuzuweisen
Für eine statische IP könnte lan0.network wie folgt aussehen:
[Match]
Name=enp8s0
[Network]
Address=192.168.1.20/24
Gateway=192.168.1.1
DNS=192.168.1.1
Ich empfehle an dieser Stelle einen Neustart, um das derzeit ausgeführte Netzwerk zu entfernen und sicherzustellen, dass Ihr Netzwerk ordnungsgemäß funktioniert
Das ist alles, was für einen einfachen Fall erforderlich ist
Anhang
Siehe auch
Links
Weblinks
- https://www.freedesktop.org/software/systemd/man/latest/systemd.network.html
- https://manpages.debian.org/man/systemd-networkd systemd-networkd
- https://manpages.debian.org/man/systemd systemd].network - basic network configuration (e.g. DHCP, static, IPv6, MAC, MTU), config also read by systemd-resolved.service
- systemd.netdev - network device configuration (e.g. bridges, VLAN, tunnels, VPNs, etc)
- CategoryNetwork
- systemd/networkd-dispatcher - auf Zustandsänderungen bei den Netzwerkschnittstellen reagieren, um beispielsweise Programm zu starten
- systemd/networkd/Anwendungsbeispiele
- Projekseite systemd-networkd
- Syntax in Konfigurationsdateien von systemd
- ISO/OSI-Referenzmodell Netzwerk (Netzwerk-Schichten)
- Erklärung EUI-48