LINUX.ORG.RU

networking и рестарт сервисов

 , ,


0

1

Есть вот такая настройка

iface br0 inet dhcp
    bridge_ports eno1
    bridge_fd 0
    bridge_maxwait 1
    bridge_stp off
    dns-nameserver 8.8.8.8
    dns-nameserver 8.8.4.4
    dns-nameserver 4.4.4.4
    up /sbin/brctl stp br0 on
    post-up killall -9 monitoring.py;\
        systemctl restart fail2ban;\
        systemctl restart hostapd
    down ip link set dev eno1 down

Дело в том, что когда линк(роутер) отваливается, то debian не переподключается к линку(не знаю почему, как пофиксить?). Я накостылил скрипт, который пингует гугл, если не пингуется - делает /etc/init.d/networking restart. В post-up я добавил перезапуск мониторинга, который пишет в панельку и рестарт двух сервисов, которые при /etc/init.d/networking отказываются работать и начинают работать только после того, как их рестартанёшь. Но дело в том, что если добавить

systemctl restart fail2ban;\
systemctl restart hostapd

то система стартует 5 минут(видимо пытается поднять эти два сервиса, когда еще не полностью иниты отработали). Вообще, можно рестарт сервисов этих добавить в костыль, которые делает /etc/init.d/networking restart при падении линка. А как вообще правильно по феншую после /etc/init.d/networking делать рестарт сервисов? openrc в gentoo после рестарта нетворкинг делала рестарт некоторых сервисов(автоматически). Тут такого нет

PS: вот эта фигня в debian не работает. dns-nameserver берется от dhcp сервера. Решаю это добавлением в resolv.conf нужных dns и делаю chattr +i. Как это пофиксить?

dns-nameserver 8.8.8.8


Последнее исправление: Xwo (всего исправлений: 1)

Проблема не ясна. Что значит «debian не переподключается к линку»? Это же ethernet, какое там подключение? Может проблемы из-за dhcp, что нужно получить ip заново?

Вобще что за странный бридж из одного интерфейса и зачем вы включаете на нём stp?

systemctl restart fail2ban

то система стартует 5 минут

Разбирайтесь, что имено хотят эти демоны, возможно dns, возможно у вас hostname не задан или он не резолвится без dns (через /etc/hosts). Вобще fail2ban не должен куда-то в сеть лазить...

dns-nameserver берется от dhcp сервера.

Ну так и задумывалось. Почему dhcp-сервер выдаёт не подходящий вам резолвер? Тут пример https://wiki.debian.org/resolv.conf , как настроить dhcp-клиент, чтобы он не правил resolv.conf. (если у вас isc-dhcp-client).

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

dhcp/dhclient.conf

timeout 60;
retry 6000;

ip заново не получает. Может networking что-то другое использует?

Или retry - это таймаут, через который dhcp будет пытаться заново получить ip? Может я не верно поставил значение?

Xwo
() автор топика
Последнее исправление: Xwo (всего исправлений: 1)

Может лучеш всё настроить с помощью systemd, systemd-networkd и systemd-resolved, указав зависимости? Там же можно и сервисы в группу объединить, что бы они перезапускались все вместе. А не вот эти вот все хаки.

anonymous-angler ★☆
()
Ответ на: комментарий от Xwo

retry это таймаут, через который dhcp будет что-то делать, если решил, что dhcp-сервер не доступен.

Вы, когда у вас:

debian не переподключается к линку

посмотрите, что с линком, что с ip-адресом на нём, «убейте» dhcp-клиента и запустите заново с тем же аргументами командной строки.

Почему для проверки вы пингуете google, а не шлюз?

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.