У меня есть встроенное устройство, которое будет подключаться к 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
он отслеживает соединение и, если соединение обрывается, выполняет указанное пользователем действие, чтобы попытаться восстановить соединение.