Ich wechsle von Debian ifupdown
zu systemd-networkd
und es funktioniert meistens gut. Ein fehlendes Bit ist, dass ich bei jedem Netzwerkwechsel anrufen möchte killall -ARLM tinc
, damit mein VPN rechtzeitig hochgefahren wird.
Bietet systemd
oder systemd-networkd
bietet solche Funktionalität? Wie würde ich es benutzen?
systemd
events
systemd-networkd
Joachim Breitner
quelle
quelle
Tinc sollte als Systemeinheit aktualisiert werden, anstatt direkte Signale zu senden. Um dies zu erreichen braucht man , um ihre Unit - Dateien zu konfigurieren verkettet wird mit dem entsprechenden
Require=
,Before=
undAfter=
Linien im[Unit]
Abschnitt. Stellen Sie außerdem sicher, dass Sie die richtigenWantedBy=
Netzwerkdienste festlegen . (d.WantedBy=
{network.target
,network-online.target
,network-pre.target
} anstelle vonmulti-user.target
)Dies ermöglicht eine Ausführung
systemctl restart systemd-networkd.service
, um Ihr Netzwerk neu zu starten. Kombiniert mitsystemd-resolvd
,udev
/dbus
(plus[email protected]
wenn über WLAN) und das eigene Netzwerk funktioniert einfach.Lesen Sie unbedingt die Artikel zum Umschalten auf systemd-networkd und Geräteabhängigkeiten . Dies ist auch eine Möglichkeit, Signale
systemd.service
über densystemctl kill
Befehl an Ihre Einheiten zu senden, wie im Handbuch systemd for administartors dokumentiertquelle
systemctl kill
das Signal liefern. Ich sehe jedoch nicht, wie dies bei einer Änderung der Netzwerkkonfiguration ausgelöst werden kann.network.target
dannnetwork-online.target
, um diese Einheit zu starten. Also einfachtinc.service
einschließenRequires=systemd-networkd.service
undWantedBy=network-online.target
dann, wenn systemd-networkd startet, die Schnittstelle nic and tun aufrufen, eine IP-Adresse einrichten und dann tinc signalisieren, nach Bedarf zu starten oder neu zu starten.case "$2" in up|connectivity-change) if /usr/bin/nm-online -qx; then systemctl reload autossh.service fi;; esac
Dies ist derzeit nicht möglich. Sie können
systemd-networkd-wait-online.service
tinc jedoch nur als Abhängigkeit vom Start verwenden, um tinc neu zu konfigurieren. Nach meiner Erfahrung reagiert tinc schnell auf Änderungen in der Netzwerkkonfiguration. Zumindest unter Linux könnte es rtnetlink verwenden, um auf Änderungen an der Schnittstelle zu warten.quelle