Verhalten von systemd-networkd bei Änderung an Wireguard-Interfaces
Verhalten von systemd-networkd bei Änderung an Wireguard-Interfaces
Aus eigener (leidvoller) Erfahrung möchte ich zu systemd-networkd anmerken, das Änderungen an Wireguard Interfaces bei mir mit Bullseye Probleme machen.
So werden Endpoint-Änderungen nicht aktualisiert, die muss ich über wg dann auf der Kommandozeile händisch nachziehen.
Edit JTH: Abgetrennt aus „systemd-networkd vs. interfaces“.
So werden Endpoint-Änderungen nicht aktualisiert, die muss ich über wg dann auf der Kommandozeile händisch nachziehen.
Edit JTH: Abgetrennt aus „systemd-networkd vs. interfaces“.
Zuletzt geändert von JTH am 25.08.2022 12:01:47, insgesamt 1-mal geändert.
Grund: Abgetrennt aus https://debianforum.de/forum/viewtopic.php?t=184796
Grund: Abgetrennt aus https://debianforum.de/forum/viewtopic.php?t=184796
Re: systemd-networkd vs. interfaces
Statt händisch könntest Du auch das Script reresolve-dns.sh, mit einer timer-unit oder mit einem cronjob oder gleichwertig, benutzen.bluestar hat geschrieben:24.08.2022 15:56:42So werden Endpoint-Änderungen nicht aktualisiert, die muss ich über wg dann auf der Kommandozeile händisch nachziehen.
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: systemd-networkd vs. interfaces
Da meine Tunnel ohnehin auf festen IPs basieren, entfällt die Option. Die Umschaltung von IPv4 auf IPv6 als Transportprotokoll hat mich hier einiges an Nerven gekostet.mat6937 hat geschrieben:24.08.2022 16:11:21Statt händisch könntest Du auch das Script reresolve-dns.sh, mit einer timer-unit oder mit einem cronjob oder gleichwertig, benutzen.
Re: systemd-networkd vs. interfaces
Dann verstehe ich nicht was Du mit:
meinst?So werden Endpoint-Änderungen nicht aktualisiert, ...
Was meinst Du mit:
? Wie ziehst Du "händisch" nach?über wg dann auf der Kommandozeile händisch nachziehen.
Wenn ich in einer config-Datei von systemd-networkd eine Änderung mache, führe ich deamon-reload und ein restart der service-unit aus und danach ist die Änderung wirksam (auch mit bullseye).
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: systemd-networkd vs. interfaces
Das funktioniert bei mir auch alles problemlos, lediglich Änderungen an Endpoint Definitionen von Wireguard Devices übernimmt systemd-networkd schlicht nicht.
Das Problem ist aber auch bekannt: https://github.com/systemd/systemd/issues/9627
Das Problem ist aber auch bekannt: https://github.com/systemd/systemd/issues/9627
Re: systemd-networkd vs. interfaces
Ich denke, das ist so gewollt, denn lt. der manpage von networkctl für reload (z. B. systemd version 247):bluestar hat geschrieben:24.08.2022 16:29:51..., lediglich Änderungen an Endpoint Definitionen von Wireguard Devices übernimmt systemd-networkd schlicht nicht.
Teste mal, wenn Du den Inhalt der alten .netdev-Datei in eine neue .netdev-Datei verschiebst bzw. ergänzt/änderst und danach die alte .netdev-Datei löscht.Reload .netdev and .network files. If a new .netdev file is found, then the corresponding netdev is
created. Note that even if an existing .netdev is modified or removed, systemd-networkd does not update or
remove the netdev. If a new, modified or removed .network file is found, then all interfaces which match
the file are reconfigured.
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: systemd-networkd vs. interfaces
Das hab ich alles schon durchprobiert, ohne Erfolg.mat6937 hat geschrieben:25.08.2022 09:32:55Teste mal, wenn Du den Inhalt der alten .netdev-Datei in eine neue .netdev-Datei verschiebst bzw. ergänzt/änderst und danach die alte .netdev-Datei löscht.
Für mich liegt die Ursache einfach im Zusammenspiel mit Wireguard, wenn ich ein Peer bearbeite, dann muss ich die .netdev Datei bearbeiten und es gibt aktuelle keine Möglichkeit mit systemd diese Änderungen durch reload zu übernehmen.
Für mich ist das eine Schwäche in der Wireguard-Implementation von systemd.
Re: systemd-networkd vs. interfaces
OK, dann rein interessehalber, Du schreibst ja weiter oben u. a.:
Hast Du nur als Test (und nicht für den alltäglichen Gebrauch), statt mit wg auf der Kommandozeile "händisch nachziehen", sofort nach den Änderungen einen reboot von bullseye mal gemacht? Werden die Änderungen/Ergänzungen, nach dem reboot übernommen?So werden Endpoint-Änderungen nicht aktualisiert, die muss ich über wg dann auf der Kommandozeile händisch nachziehen.
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: systemd-networkd vs. interfaces
Ja das funktioniert natürlich.mat6937 hat geschrieben:25.08.2022 09:46:28Hast Du nur als Test (und nicht für den alltäglichen Gebrauch), statt mit wg auch der Kommandozeile "händisch nachziehen", sofort nach den Änderungen einen reboot von bullseye mal gemacht?
Für einen Wireguard VPN Server ist das halt sehr unschön, ich werfe ja nicht alle Roadwarrior-User aus dem VPN, nur weil bei einem festen Site-2-Site Tunnel der Endpoint aktiv geändert werden muss.
Re: systemd-networkd vs. interfaces
Hmm, ... d. h., wenn man eine bereits existierende .netdev-Datei mit z. B. mv umbenennt/verschiebt oder mit rm löscht und eine _neue_ .netdev-Datei erstellt, wird kein "richtiger" reload gemacht.
Mit "a new .netdev file" ist dann gemeint, dass es vorher gar keine .netdev-Datei, jemals gegeben hat? Das passt doch irgendwie nicht zum reload, oder?Reload .netdev and .network files. If a new .netdev file is found, then the corresponding netdev is
created. Note that even if an existing .netdev is modified or removed, systemd-networkd does not update or
remove the netdev.
Debian 12.9 mit LXDE, OpenBSD 7.6 mit i3wm, FreeBSD 14.1 mit Xfce
Re: systemd-networkd vs. interfaces
Richtig, es heißt ja auch das Löschen einer .netdev Datei löscht das Interface nicht.mat6937 hat geschrieben:25.08.2022 10:46:28Mit "a new .netdev file" ist dann gemeint, dass es vorher gar keine .netdev-Datei, jemals gegeben hat? Das passt doch irgendwie nicht zum reload, oder?
Was ja auch blöd ist, wenn du ein VLAN rückbaust, dann kann ein Neustart ja nicht die systemd-Lösung sein oder hat Poettering heimlich den Neustartwahnsinn aus einem anderem OS für cool befunfen und ihn nachgebaut?
Re: systemd-networkd vs. interfaces
Zum Löschen eines „virtual netdevs“ gibt es anscheinend das explizitebluestar hat geschrieben:25.08.2022 15:02:23Richtig, es heißt ja auch das Löschen einer .netdev Datei löscht das Interface nicht.
Code: Alles auswählen
networkctl delete DEVICE
Manchmal bekannt als Just (another) Terminal Hacker.
Re: systemd-networkd vs. interfaces
Dann kille ich halt ALLE bestehenden Verbindungen, das ist nicht so wirklich praktisch.JTH hat geschrieben:25.08.2022 15:23:14Kenne mich mit Wireguard nicht aus, wäre das Kommando hier anwendbar?