Ich habe ein eingebettetes Gerät, das sich mit systemd-networkd mit einem DHCP-Server verbindet, wenn es mit dem lokalen Netzwerk verbunden ist, und auf einen DHCP-Server zurückgreift, wenn dies nicht der Fall ist. Ich habe es noch nicht implementiert, plane aber, die hier beschriebene Antwort zu verwenden.https://unix.stackexchange.com/a/309046/114497.
Diese Antwort weist auf die Verwendung eines Skripts hin, das beim Booten gestartet wird. Ich habe mich gefragt, was passiert, wenn der Benutzer das Netzwerkkabel abzieht und es zur Laufzeit an einen PC anschließt. Er müsste die Karte neu starten, damit das Skript gestartet wird. Die Frage ist also: Gibt es eine Möglichkeit, ein Skript zu starten, wenn sich die Schnittstelle mit systemd ändert?
PS: Ich habe versucht,Netzwerk-Dispatcherohne Erfolg. Ich habe versucht, den systemd-networkd
Dienst neu zu starten und das Ethernet-Kabel zu entfernen, aber das von mir geschriebene Skript /usr/lib/networkd-dispatcher
wird nicht ausgeführt.
Antwort1
DasAntwortErklären Sie, was mit systemd getan werden kann, wenn sich das Netzwerk ändert ...
Es gibt viele alternative Lösungen, aber eine direkte einfache Lösung nur mit systemd ist Stand 06/2019 nicht implementiert
Antwort2
Sie können mein net-o-matic
Skript, das derzeit nach DOWN
Ausschau hält, anpassen und es von einem Eintrag UP
aus starten .@reboot
root
crontab
Ich habe ein Bash-Skript geschrieben, das dabei hilft: https://github.com/waltinator/net-o-matic
Es überwacht die Verbindung und versucht bei einem Verbindungsabbruch auf benutzerdefinierte Weise, die Verbindung wiederherzustellen.