Выполнение скрипта при подключении/отключении Ethernet с помощью systemd

Выполнение скрипта при подключении/отключении Ethernet с помощью systemd

У меня есть встроенное устройство, которое будет подключаться к DHCP-серверу с помощью systemd-networkd, если оно подключено к локальной сети, и будет работать как DHCP-сервер, если нет. Я еще не реализовал это, но планирую использовать ответ, описанный здесьhttps://unix.stackexchange.com/a/309046/114497.

Этот ответ указывает на использование скрипта, который будет запущен при загрузке. Мне было интересно, что если пользователь отключит сетевой кабель и подключит его к ПК во время выполнения, ему нужно будет перезапустить плату, чтобы скрипт запустился. Поэтому вопрос: есть ли способ запустить скрипт, когда происходит изменение интерфейса с помощью systemd?

PS: Я пробовал использоватьсетевой-диспетчербезуспешно. Я пробовал перезапустить systemd-networkdслужбу, отсоединить кабель Ethernet, но написанный мной скрипт, расположенный в /usr/lib/networkd-dispatcherне выполняется.

решение1

Этототвечатьобъясните, что можно сделать с помощью systemd при изменении сети...

Существует множество альтернативных решений, но прямое простое решение только с systemd не реализовано по состоянию на 06/2019.

решение2

Вы можете адаптировать мой net-o-maticскрипт, который в настоящее время отслеживает, чтобы DOWNискать UP. Запустите его с @reboot root crontabзаписи.

Я написал bash-скрипт, который поможет решить эту проблему: https://github.com/waltinator/net-o-maticон отслеживает соединение и, если соединение обрывается, выполняет указанное пользователем действие, чтобы попытаться восстановить соединение.

Связанный контент