Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: [DE] Umstellung des kabelgebundenen Netzwerkes auf systemd-networkd  (Read 11847 times)

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
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)

Code: [Select]
# systemctl stop networking.service
oder
# systemctl stop NetworkManager.service

interfaces umbennen oder verschieben bzw. leeren (nur bei ifupdown)
Code: [Select]
# mv  /etc/network/interfaces /etc/network/interfaces.ORIG
# touch /etc/network/interfaces


Network Service dauerhaft deaktivieren
Code: [Select]
# systemctl disable networking.service
bzw.
# systemctl disable NetworkManager.service

Die Links des "networking" in /etc/rc* entfernen (nur bei ifupdown)
Code: [Select]
# update-rc.d networking remove

im Verzeichnis /etc/systemd/network die Config anlegen
eth.network anlegen
Code: [Select]
[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
Code: [Select]
# systemctl start systemd-networkd.service
# systemctl start systemd-resolved.service

Überprüfen
Code: [Select]
# systemctl status systemd-networkd.service
# systemctl status systemd-resolved.service

networkd und resolved Service dauerhaft aktivieren
Code: [Select]
# systemctl enable systemd-networkd.service
# systemctl enable systemd-resolved.service

Link zur resolv.conf löschen und neu anlegen
Code: [Select]
# rm /etc/resolv.conf
# ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

Zustand der Netzwerkinfaces überprüfen
Code: [Select]
# 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.
Code: [Select]
# 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.

Code: [Select]
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.
Code: [Select]
[Network]
IPv6AcceptRouterAdvertisements=0
« Last Edit: 2016/04/07, 19:37:13 by bluelupo »

Offline Geier0815

  • User
  • Posts: 586
Funktionieren bei systemd-networkd eigentlich alias-devices? Und wenn ja, wie? Vor allen Dingen wie schalte ich sie einzeln an und aus? Über ip-Befehl? Irgendwie konnte ich im Wiki bei arch nichts entsprechendes finden, evtl. auch nur nicht intensiv genug geguckt...
Wenn Windows die Lösung ist...
kann ich dann bitte das Problem zurück haben?

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
Hi Geier0815,

meinst du mehrere IP-Adressen auf einer Netzwerkkarte?

zB. drei IP's auf einer Netzwerkkarte geht so:
Code: [Select]
# einrichten
# ip addr add 192.168.1.10/24 dev eth0 label eth0:NAME1
# ip addr add 192.168.1.20/24 dev eth0 label eth0:NAME2
# ip addr add 192.168.1.30/24 dev eth0 label eth0:NAME3
#
# löschen
# ip addr del 192.168.1.10/24 dev eth0:NAME1
# ip addr del 192.168.1.20/24 dev eth0:NAME2
# ip addr del 192.168.1.30/24 dev eth0:NAME3
« Last Edit: 2015/06/08, 11:41:50 by bluelupo »

Offline Geier0815

  • User
  • Posts: 586
Moin bluelupo,

ganz genau, mehrere Adressen auf einer Netzwerkkarte. Da in der interfaces diese statisch hinterlegt werden konnten, hatte ich die Hoffnung das dies in der/etc/systemd/network auch gehen würde. Beim ip-Befehl sind diese nach einem reboot ja wieder weg. Müßte ich mir wohl Notizzettel machen statt wie in der interfaces einfach immer nur ein- und aus-kommentieren.

Danke soweit.
Wenn Windows die Lösung ist...
kann ich dann bitte das Problem zurück haben?

Offline der_bud

  • User
  • Posts: 1.072
  • member
Aus "man systemd.network":
Quote from: man systemd.network
...[Network] Section Options...
  Address=
    A static IPv4 or IPv6 address and its prefix length, separated by a "/" character. Specify this key more than once to configure several addresses. The format of the address must be as described in inet_pton(3). This is a short-hand for an [Address] section only containing an Address key (see below). This option may be specified more than once...
...

...[Address] Section Options
An "[Address]" section accepts the following keys. Specify several "[Address]" sections to configure several addresses.

Address=
    As in the "[Network]" section. This key is mandatory.

 Würde ich so verstehen dass man das entweder mit 'Address=IP1 IP2 IP3...' in der Network Sektion oder mit mehreren Address-Sektionen untereinander erreichen könnte.
Du lachst? Wieso lachst du? Das ist doch oft so, Leute lachen erst und dann sind sie tot.

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
Beispiel vom ArchWiki https://wiki.archlinux.de/title/Systemd/systemd-networkd (2 IPs auf einer Karte mit unterschiedlichen Routen)

Code: [Select]
[Match]
Name=enp0s25

[Address]
Address=10.10.0.10/24

[Address]
Address=192.168.2.50/24

[Route]
Gateway=10.10.0.1
Destination=10.10.0.0/24

[Route]
Gateway=192.168.2.255
Destination=192.168.2.0/24

walloac

  • Guest
Hallo bluelupo

Ich habe nach der Anleitung die Netzwerkkonfiguration umgestellt - es klappt prima - keine Probleme.
Danke für die Mühe.

Eine Frage habe ich in Bezug auf den DNS-Eintrag.
Ich habe zwei Einträge eingetragen, getrennt durch ein Komma. Eine Fehlermeldung konnte ich nicht feststellen da ich nicht den nötigen Befehl kenne.

Groetjes

WalloAC

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
Hi walloc,

zwei DNS Einträge gehen auch.

Code: [Select]
[...]
[Network]
DNS=8.8.8.8
DNS=8.8.4.4
[...]

Offline Lanzi

  • User
  • Posts: 1.775
@Bluelupo:
ich habe da irgendwas nicht mitbekommen, so wie es scheint...  :-[
Oder kann ich Networkmanager am Lappi und einen direkten Eintrag in /etc/networking/interfaces noch nutzen?

Hast Du mal nen Link zum Hintergrund oder zur Erklärung?

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
@Lanzi, hier ist nicht vom NetworkManager die Rede sondern vom systemd-networkd.

Du kannst für die Netzwerk-Konfiguration einen von beiden nutzen ;-)

Offline der_bud

  • User
  • Posts: 1.072
  • member
Lanzi, keine Sorge, Du kannst wohl wieder alles nutzen ;). Vor ein paar Tagen kam ziemlich plötzlich systemd 220 rein, was u.a. neu funktionierendes systemd-networkd mitbrachte (das wäre sozusagen "die Zukunft", es lohnt sich damit mal zu beschäftigen). Gleichzeitig gab es in der Zeit Probleme mit ceni, das einige devices aus /etc/network/interfaces nicht mehr erkannt wurden (inzwischen gefixt) und auch noch die Meldung das ifupdown verwaist weil der Maintainer aufgibt  (inzwischen auch erledigt, neuer Maintainer).
Daher haben in letzter Zeit einige die Chance genutzt und entweder auf systemd-networkd umgestellt oder auf die ebenfalls empfehlenswerte Kombi connman/cmst, und posten das Vorgehen dazu hier. Aber zurzeit sollte alles wieder gefixt sein und wie gewohnt laufen.
Du lachst? Wieso lachst du? Das ist doch oft so, Leute lachen erst und dann sind sie tot.

Offline Lanzi

  • User
  • Posts: 1.775
Dank Euch beiden, und auch Danke für das Howto... Momentan ist meine Baustelle EasyVDR und mein alter Diseqc-MOtor... keine Zeit für Systemd  ;D ;D ;D

Offline harley-peter

  • User
  • Posts: 1.021
Bringt es denn irgendwelche Vorteile auf systemd-networkd umzustellen? Außer dass man damit ganz up to date ist.  :)

Offline bluelupo

  • User
  • Posts: 2.068
    • BluelupoMe
Hi Peter,

dazu kann ich mit entschiedenen "Jein" antworten ;-)

Ja, bei einen Desktop-PC der faktisch nicht anderen LANs bzw. WLANs beweget wird. Bei Notebooks sieht die Sache (für mich) schon wieder ganz anders aus. Auf einem NB möchte ich schnell mal ein WLAN-Hotspot oder ein WLAN-Gastzugang einrichten ohne in Configfiles rumfrickeln zu müssen. Geht zwar auch mit systemd-networkd aber umständlicher auf der Kommandozeile. Solange es dazu keine GUI gibt bleibe ich persönlich bei meinen NBs beim Network-Manager.

Vorteile bietet systemd-networkd schon, zB einfache und übersichtliche Configfiles (auch für Nicht-Standard Netzwerkconfigs). Du legst DNS, IP, Interfacename usw. alles in einem File ab und nicht in mehreren Dateien wie bei ifupdown an. Durch die Integration in den systemd ist natürlich das Netzwerk zu einem frühen Zeitpunkt beim Booten "Up" und verkürzt auch noch die Bootzeit gegenüber ifupdown.

Umstellung ist einfach und in 20 Minuten erledigt.

Offline harley-peter

  • User
  • Posts: 1.021
Hi Michael,

danke für die Info dann werde ich meinen Desktop doch mal umstellen.