LINUX.ORG.RU

Перезапуск юнита по смене сетевых настроек

 , ,


0

1

Привет, ЛОР!

Есть у меня тут один самопальный демон, работающий с сетью. Его надо перезапускать при смене настроек сети, в частности дефолтного маршрута (да и вообще изменений в таблице маршрутизации). Как это нормально через systemd сделать?

Напрямую, как я понял, systemd такое не умеет. Можно ли прописать триггеры для перезапуска кроме как «процесс сдох»? В мане есть про Watchdog, но там просто пинг через dbus или что-то подобное. Мне же нужно дёрнуть ip r и сравнить с предыдущим состоянием.

Ответ на: комментарий от anonymous

ifupdown

Оно этого не умеет.

NetworkManager

Оно тоже.

systemd-networkd

И оно.

Банальный сценарий: dhcp-клиент передёрнулся, прилетел другой default route. Вот в этом случае нужно перезапустить юнит.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Наверное, проще будет самостоятельно подписаться через netlink или поискать что-то готовое наподобие rtmon.

Да, я тоже такое начинаю прозревать. Но надеялся, что вдруг есть стандартный способ, а иначе нахрена этот systemd вообще нужен-то.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Ну при отключении кабеляили он перезапускает сервис, а если изменения настроек пользователем то можно тупо через inotify контролировать изменение файла настроек и перезапускать по нему сервис

anonymous
()
Ответ на: комментарий от DiMoN

Банальный сценарий: dhcp-клиент передёрнулся, прилетел другой default route. Вот в этом случае нужно перезапустить юнит.

man dhclient-script

Это не подходит?

Это один из примеров. Я хочу подписаться на изменения в таблице маршрутизации в принципе, не только из-за DHCP.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Ну при отключении кабеляили он перезапускает сервис, а если изменения настроек пользователем то можно тупо через inotify контролировать изменение файла настроек и перезапускать по нему сервис

Ага, а если кто-то руками ip route дёрнул? Не, это всё убогие костыли. Самое топорное и при этом надёжное тут – тупо дёргать ip route раз в секунду и сравнивать результат с предыдущим.

hateyoufeel ★★★★★
() автор топика
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от anonymous

И это не сервер, а станлдартная говнина с понтами и сертификатами. Нормальный сервер - этото, что собрал сам. Раньше было только несколько вариантов - BSD, Gentoo, Slackware, Crux. Теперь докинули иммутабельные кирпичи, но их нормальные собирают тоже сами. А это не сервер, это тачка, на которой запущен сервис.

anonymous
()
Ответ на: комментарий от anonymous

Crux

лол

Slackware

лмао

Gentoo

АХАХАХАХАХАХАХАХАХАХ!

P.S. я как-то раз имел счастье наблюдать контору с примерно тремя сотнями серверов на Gentoo. При этом, никаких средств автоматизации там не было, все сервера управлялись исключительно руками. Puppet? Chef? Что это? Админы там постоянно с намыленными жопами ходили.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Это сервер, там нет NetworkManager и я не собираюсь его туда ставить.

Ну, извини, я админа настоящего сервера на распознал. Админы настоящих серверов в Admin тусуются, а ты как распоследний лох свой вопрос в General запостил.

debugger ★★★★★
()
Ответ на: комментарий от hateyoufeel

При этом, никаких средств автоматизации там не было, все сервера управлялись исключительно руками. Puppet? Chef? Что это? Админы там постоянно с намыленными жопами ходили.

То-то ты без служб мониторинга на изменение поведения демона среагировать не можешь. Понимаю.

Автоматизация не отменяет сборку или пересборку под парк машин. Если у тебя в руках есть возможность зопилить свой кирпич один раз. Один. А потом включить как в фантастике штуку, которая делает идентичную копию… Представь возможности и результат. Ты можешь его сделать безопасным, по любой технологии, с любым уровнем абстракции, дарова, Kuber! Любым цветом и формфактором. А если для твоей громадной стены надо запилить по дизайну ещё и угловой, то получится ДВА.

Запиленный кирпич может соответствовать некоему ГОСТУ, если руководитель не дурак и может в ТЗ, там нет колонии жучков, там компоненты выверенны и запилены под конкретно твои условия эксплуатации, а не x86_64, с софтварной поддержкой, сука, шифрования…

anonymous
()
Ответ на: комментарий от anonymous

Да-да, вот так там говнокостылей и наплодили. Отдельные сервера кстати не обновлялись по два-три года вообще и пестрели дырами. Зато Настоящие Админы всё делали, прямо как деды завещали.

hateyoufeel ★★★★★
() автор топика