Inhaltsverzeichnis
Vorbetrachtung
Die Umstellung bezieht sich auf ein kabelgebundenes Netzwerk (feste IP-Adresse, kein DHCP) mit einer sogenannten Software-Bridge, an der wiederum das Netzwerkinterfaces eth0 hängt. Damit die Software-Bridge funktioniert müssen die bridge-utils
installiert sein.
Ausgangssituation:
- Desktop mit fester IP-Adresse im lokalen Netzwerk
- LAN Netzwerkkarte (wired)
- Bridge Konfiguration (für gemeinsames Netzwerk des Hosts mit seinem VM's)
bridge-utils
sind installiert
Umstellung
Nachfolgend die einzelnen Schritte zur Umstellung des Netzwerkdienstes, sowie die Aktivierung der Software-Bridge.
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
interfaces umbennen oder verschieben bzw. leeren
# mv /etc/network/interfaces /etc/network/interfaces.ORIG # touch /etc/network/interfaces
Alte Servives deaktivieren
Den Networking 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=eth* [Network] Bridge=bri0
Im Verzeichnis /etc/systemd/network die Datei bridge.network
anlegen
[Match] Name=bri0 [Network] DNS=194.150.168.168 DNS=213.73.91.35 Address=192.168.188.10/24 Gateway=192.168.188.1
Im Verzeichnis /etc/systemd/network die Datei bridge.netdev
anlegen.
[NetDev] Name=bri0 Kind=bridge
Rechte anpassen
Die oben angelegten Dateien müssen die Rechte 644 (Octal) haben sonst bricht der Start des networkd mit einer wenig aussagekräftigen Meldung ab.
# chmod 644 /etc/network/*.net* # ls -ld /etc/network/* -rw-r--r-- 1 root root 31 Mär 27 14:17 bridge.netdev -rw-r--r-- 1 root root 114 Mär 27 14:17 bridge.network -rw-r--r-- 1 root root 52 Mär 27 14:19 eth.network
Neue Services starten
Den networkd- und resolved-Service starten.
# systemctl start systemd-networkd.service # systemctl start 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
Neue Services dauerhaft aktivieren
networkd und resolved Service dauerhaft aktivieren
# systemctl enable systemd-networkd.service # systemctl enable systemd-resolved.service
Zustand des Netzwerkinfaces und Netzwerkservices überprüfen
Zustand der Netzwerkinfaces überprüfen.
# networkctl # networkctl status eth0 # networkctl status bri0
Status vom Service networkd und resolved feststellen.
# systemctl status systemd-networkd.service # systemctl status systemd-resolved.service
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!
Fehlerbehandlung
Mögliche Fehler kann man im Journal mit dem folgenden Kommando sehen (eingeschränkt auf den networkd).
# journalctl -f -u systemd-networkd.service --since=today
Sollte das Netzwerk nicht starten nach einem Reboot, dann noch folgende Anpassung vornehmen.
Die Links /etc/rc* entfernen lassen und ggf.nochmals interfaces
leeren.
# update-rc.d networking remove # touch /etc/network/interfaces