Inhaltsverzeichnis
Vorbetrachtung
Ein HowTo zur Umstellung der Netzwerkkonfiguration von ifupdown bzw. dem Netzwerk-Manager auf systemd-networkd.
Warum die Umstellung eines funktionierenden Netzwerkes?
Der networking.service
(ifupdown) ist vermutlich nur noch übergangssweise bzw. aus Kombatibilitätesgründen auf einem Debiansystem vorhanden. Der networking.service
integriert sich vollständig in ein mit systemd laufendees System ein. Ebenso kann man vom NetworkManager auf den networkd umstellen.
Die Umstellung gilt nur für eine kabelgebundene Config (LAN), da ich das wireless Szenario für meinen stationären Desktop-PC nicht benötige.
Ausgangssituation:
- Desktop mit fester IP-Adresse im lokalen Netzwerk (hier im Beispiel das Netzwerk 192.168.10.0)
- LAN Netzwerkkarte (wired eth0 IP: 192.168.10.50 und Gateway IP: 192.168.10.1)
Umstellung
Nachfolgend die einzelnen Schritte zur Umstellung des Netzwerkdienstes.
Netzwerk stoppen
Für Systeme die mit herkömmlichen Netzwerk ifupdown
# systemctl stop networking.service
Für Systeme die mit NM laufen
# systemctl stop NetworkManager.service
Alte Configs sichern
Die bisherige Config interfaces
umbennen
# mv /etc/network/interfaces /etc/network/interfaces.ORIG
Eine leere interfaces
anlegen.
# touch /etc/network/interfaces
Alte Servives deaktivieren
Für Systeme die mit herkömmlichen Netzwerk networking.service
laufen den Service dauerhaft deaktivieren.
# systemctl disable networking.service
Für Systeme die mit NM laufen den NetworkManager.service
dauerhaft deaktivieren
# systemctl disable NetworkManager.service
Neue Config anlegen
Im Verzeichnis /etc/systemd/network
die Datei eth.network
anlegen.
[Match] Name=eth0 [Network] DNS=8.8.8.8 [Address] Address=192.168.10.50/24 [Route] Gateway=192.168.10.1
Neue Services starten
Den networkd und resolved Service starten.
# systemctl start systemd-networkd.service # systemctl start systemd-resolved.service
Neue Services dauerhaft aktivieren
networkd und resolved Service dauerhaft aktivieren
# systemctl enable systemd-networkd.service # systemctl enable systemd-resolved.service
Namensauflösung (Resolving) anpassen
Link oder Datei /etc/resolv.conf
löschen und neu anlegen.
# rm /etc/resolv.conf # ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
Zustand des Netzwerkinfaces und Netzwerkservices überprüfen
Status der Netzwerkkarte eth0
ansehen.
# networkctl status eth0
Status vom Service networkd
und resolved
feststellen.
# systemctl status systemd-networkd.service # systemctl status systemd-resolved.service
Fehlerbehandlung
Falls nachfolgender Fehler zum DHCPv6 im Journal auftauschen sollten die *.network Dateien ergänzt werden.
Apr 07 19:04:27 snowcat systemd-networkd[953]: eth0: Starting DHCPv6 client on NDisc request failed: Invalid argument
In der Network-Section der Config /etc/systemd/network/eth.network
folgendes zusätzlich ergänzen.
[Network] IPv6AcceptRouterAdvertisements=0