Führen Sie mit systemd ein Skript zur Ethernet-Verbindung/-Trennung aus

Führen Sie mit systemd ein Skript zur Ethernet-Verbindung/-Trennung aus

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-networkdDienst neu zu starten und das Ethernet-Kabel zu entfernen, aber das von mir geschriebene Skript /usr/lib/networkd-dispatcherwird 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-maticSkript, das derzeit nach DOWNAusschau hält, anpassen und es von einem Eintrag UPaus starten .@reboot root crontab

Ich habe ein Bash-Skript geschrieben, das dabei hilft: https://github.com/waltinator/net-o-maticEs überwacht die Verbindung und versucht bei einem Verbindungsabbruch auf benutzerdefinierte Weise, die Verbindung wiederherzustellen.

verwandte Informationen