Hallo zusammen,
hier das angekündigte zweite HowTo zur Umstellung der Netzwerkkonfiguration von ifupdown bzw. dem Netzwerk-Manager auf systemd-networkd.
Ich beschreibe erst einmal die kabelgebundene Config (LAN), da ich das wireless Szenario für meinen stationären Desktop-PC nicht benötige. Ich nehme dies aber gerne in mein HowTo auf, sollten sich User finden die dazu schon erfolgreich eine WLAN Konfiguration erstellt haben.
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)
Wie bin ich vorgegangen:
Netzwerk stoppen (ifupdown bzw. NM)
# systemctl stop networking.service
oder
# systemctl stop NetworkManager.service
interfaces umbennen oder verschieben bzw. leeren (nur bei ifupdown)
# mv /etc/network/interfaces /etc/network/interfaces.ORIG
# touch /etc/network/interfaces
Network Service dauerhaft deaktivieren
# systemctl disable networking.service
bzw.
# systemctl disable NetworkManager.service
Die Links des "networking" in /etc/rc* entfernen (nur bei ifupdown)
# update-rc.d networking remove
im Verzeichnis /etc/systemd/network die Config anlegen
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
networkd und resolved Service starten
# systemctl start systemd-networkd.service
# systemctl start systemd-resolved.service
Überprüfen
# systemctl status systemd-networkd.service
# systemctl status systemd-resolved.service
networkd und resolved Service dauerhaft aktivieren
# systemctl enable systemd-networkd.service
# systemctl enable systemd-resolved.service
Link zur resolv.conf löschen und neu anlegen
# rm /etc/resolv.conf
# ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
Zustand der Netzwerkinfaces überprüfen
# networkctl status eth0
Ob ein Service "enabled" bzw. "disabled" ist kann man, wie nachfolgend gezeigt, überprüfen. networking.service muss deaktiviert und die anderen beiden aktiviert sein.
# systemctl is-enabled networking.service
# systemctl is-enabled systemd-networkd
# systemctl is-enabled systemd-resolved
Zum Schluß ein Reboot - fertig!
EDIT:
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 folgendes ergänzen.
[Network]
IPv6AcceptRouterAdvertisements=0