С помощью 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 для прослушивания изменений интерфейсов.

  • Правильная настройка суффикса DNS Ubuntu 17.04?
  • systemd-networkd .net игнорируется в контейнере systemd-nspawn
  • Предсказуемые имена сетевого интерфейса ломают vm-миграцию
  • Fedora 21 - нет сети Интернет когда-либо случалось
  • Как получить разбивку сегментации, работающую с systemd-networkd?
  • Не удается настроить частную сеть с помощью systemd-networkd
  • Возможно ли сделать загрузку системы, если systemd-networkd не удается?
  • Настройка VLAN на linux-мосте для виртуальных машин с systemd
  • systemd-networkd не запускается при загрузке сети через pxelinux
  • Изменение системного разрешения dns cname records
  • Почему расширения конфиденциальности IPV6 не работают в Arch Linux?
  • Interesting Posts

    vsftpd закрывает соединение с кодом 421 при перечислении содержимого каталога

    Удалите все файлы в каталогах, кроме тех, чей путь указан в файле

    `autossh` восстанавливает туннель без переадресации портов

    Git Bash для Ubuntu / Linux и Windows требует перезагрузки ssh-agent

    Как удалить старые резервные копии на основе даты в имени файла?

    Почему ls и hexdump не согласны с моим размером файла?

    Выполняет ли команда "rsync -a" сохранение всех атрибутов исходных файлов?

    systemd shutdown: 90 секундная задержка, logctl показывает тайм-ауты остановки / dev и session-5.scope

    Изменение значения motd в операционной системе UNIX

    извлечение вложений из почты, которая приходит в мой почтовый ящик postfix

    Arch: не может заставить X работать под обычным пользователем

    Как установить частоту процессора. в Linux?

    -bash: синтаксическая ошибка около неожиданного токена `; '

    Почему реализация Linux IPSec не поддерживает фрагментацию до шифрования?

    Что делать, если apt-get / aptitude не создает элемент меню для установленной программы?

    Linux и Unix - лучшая ОС в мире.