С помощью systemd-networkd выполните действие при изменении конфигурации сети

Я ifupdown из ifupdown от Debian к systemd-networkd , и это в основном работает нормально. Один недостающий бит заключается в том, что при каждом изменении сети я хочу назвать killall -ARLM tinc , так что моя VPN будет работать своевременно.

Имеет ли systemd или systemd-networkd такую ​​функциональность? Как я буду использовать его?

3 Solutions collect form web for “С помощью systemd-networkd выполните действие при изменении конфигурации сети”

Tinc следует обновлять как единицу systemd вместо отправки прямых сигналов. Для этого нужно сконфигурировать свои файлы блоков, которые должны быть скованы с соответствующими строками Require= , Before= и After= в разделе [Unit] . Также убедитесь, что вы установили правильную WantedBy= для сетевых служб. (т. е. WantedBy= { network.target , multi-user.target } вместо multi-user.target )

Это позволяет запускать systemctl restart systemd-networkd.service для перезагрузки вашей сети. Объединив это с systemd-resolvd , udev / dbus (плюс wpa_supplicant@nic.service когда на Wi-Fi), и wpa_supplicant@nic.service сеть просто работает.

Обязательно прочитайте статьи о переходе на systemd-networkd и единичные зависимости . Это также способ отправки сигналов в ваши systemd.service помощью команды systemctl kill как systemctl kill в systemd для руководства администратора

Я использую networkd-dispatcher для запуска событий после изменения состояния интерфейса:

Networkd-dispatcher – демон диспетчера для изменения состояния соединения systemd-networkd. Этот демон похож на диспетчер NetworkManager-диспетчера, но гораздо более ограничен в типах поддерживаемых событий из-за ограниченного характера systemd-networkd.

Ссылка на Githib

В настоящее время это невозможно. Однако вы можете использовать systemd-networkd-wait-online.service в качестве зависимости от загрузки для перенастройки tinc. По моему опыту, tinc быстро отреагирует на изменения в конфигурации сети. По крайней мере, на linux он может использовать rtnetlink для прослушивания изменений интерфейсов.

  • Переслать общедоступную сеть вокруг текущей сети
  • systemd-networkd не запускается при загрузке сети через pxelinux
  • Как установить дополнительный маршрут на том же шлюзе с помощью systemd-networkd
  • Получите WiFi SSID при подключении
  • Не удается настроить частную сеть с помощью systemd-networkd
  • Выбор для persistent-ipoib.rules для установки без RDMA? (rhel7.3)
  • Как я могу заставить свои пользовательские службы ждать, пока сеть не будет в сети?
  • systemd-networkd по умолчанию, если dhcp не работает
  • Настройка ipaddress с помощью systemd-networkd без ссылки
  • systemd-networkd-wait-online.service не работает
  • Перезагрузите сетевые интерфейсы без перезагрузки
  • Linux и Unix - лучшая ОС в мире.