Siduction Forum
Siduction Forum => Free Speech => Topic started by: bluelupo on 2015/06/03, 21:43:51
-
Hinweis: Die Umstellung bezieht sich auf ein kabelgebundenes Netzwerk (feste IP-Adresse, kein DHCP) mit einer sog. Bridge, an der wiederum eth0 hängt. Wenn ihr nur ein normales kabelgebundenes Netzwerkinterface eth0 konfigurieren wollt, dann ***NICHT*** nach diesen Artikel vorgehen (kommt zu einen späteren Zeitpunkt)
Hallo zusammen,
habe gerade erfolgreich meinen Desktop-PC von "normalen" Networking via ifup/ifdown auf systemd-eigenen networkd umgestellt. Es gab keine Probleme bei der Umstellung.
Ich möchte hier kurz meine Umstellung dokumentieren um den geneigten siduction-User eine Hilfestellung zu geben.
Ausgangssituation:
* Desktop mit fester IP-Adresse im lokalen Netzwerk
* LAN Netzwerkkarte (wired)
* Bridge Konfiguration (für gemeinsames Netzwerk des Hosts mit seinem VM's)
Wie bin ich vorgegangen:
Netzwerk stoppen
# systemctl stop networking.service
interfaces umbennen oder verschieben bzw. leeren
# mv /etc/network/interfaces /etc/network/interfaces.ORIG
# touch /etc/network/interfaces
Network Service dauerhaft deaktivieren
# systemctl disable networking.service
Die Links des "networking" in /etc/rc* entfernen
# update-rc.d networking remove
im Verzeichnis /etc/systemd/network die Config anlegen
eth.network anlegen
[Match]
Name=eth*
[Network]
Bridge=bri0
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
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
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
# networkctl status eth0
# networkctl status bri0
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!
-
Danke bluelupo.
Kleine Korrektur ("networkctl eth0" -> "networkctl status eth0"):
Zustand der Netzwerkinfaces überprüfen
# networkctl
# networkctl status eth0
# networkctl status bri0
-
Danke reinob, habe es berichtigt.
-
Eine Problematik habe ich jetzt festgestellt, die ich noch nicht lösen konnte. Nach der Umstellung ist bei einem Reboot des PC kein Netzwerk konfiguriert nur das Loopbackdevice lo. Starte ich das Netzwerk händisch mit....
# systemctl start systemd-networkd
....sind die Netzwerkdevices alle vorhanden. Im Journal taucht dazu folgende Fehlermeldung auf:
systemd[1]: systemd-networkd.service: Job systemd-networkd.service/start deleted to break ordering cycle starting with network.target/start
-
Der oben beschriebene Fehler tritt nicht bei jeden Bootvorgang auf, d.h. nur gelegentlich reproduzierbar.
-
Was sagt "# systemctl status systemd-networkd.service" dazu, wenn dieser Fehler aufgetreten ist.
journalctl | grep foo z.B. nach network grepen und so weiter.
Läuft irgend ein service, der eigentlich nicht gebraucht wird? network manager, conman, oder oder oder....
-
Hi hendrikL,
kein Fehler wenn das Netzwerk hochkommt bzw. die weiter unten stehende Meldung im Journal. Ich habe dann noch folgende Änderungen seit meinem ersten Versuch am System vorgenommen.
Die Links /etc/rc* entfernen lassen...
# update-rc.d networking remove
...und die /etc/network/interfaces wieder leer angelegt. Seitdem ist der Fehler nicht aufgetreten. Ich beobachte weiter und werde evtl. Fehlermeldungen hier wieder posten.
Der NM ist bei mir deaktiviert, da ich diesen mit einer Brigde-Config nicht zum Laufen bekomme habe und deshalb wieder auf ifupdown zurück gegriffen habe.
-
Hi bluelupo,
das hast Du richtig schön geschrieben. Ich hab mich noch nicht getraut das umzustellen aber nun mach ich das auch.
Es passt zwar nicht ganz hierher aber ich hab noch ein ähnliches Problem mit einem mount Eintrag in der fstab. Ich will dort einen mount Punkt auf mein GlusterFS setzen damit libvirt die Storage Definition korrekt lädt aber das macht die blöde Kiste nicht. Wenn das System gestartet ist (GlusterFS Daemon selbst funktioniert mit systemd fehlerfrei) funktioniert das alles mit "mount -a && systemctl start libvirtd.service", aber schön isses nicht.
Muss bzw. kann man dieses Problem auch mit einer systemd config für einen mount Punkt lösen?
-
Hi ralfi,
hat das GlusterFS kein service-File für systemd? Was für ein Fehler kommt denn im Journal?
-
Artikel zum Thema im siduction Wiki erstellt:
Umstellung des kabelgebundenen Netzwerkes auf systemd-networkd (mit Bridge Konfiguration) (http://wiki.siduction.de/index.php?title=Umstellung_des_kabelgebundenen_Netzwerkes_auf_systemd-networkd_(mit_Bridge_Konfiguration))