LINUX.ORG.RU

Таймаут рестарта pppd в Debian

 , , ,


0

3

Есть Debian с поднятым PPTP-линком до VPN-сервера. В старых версиях (Debian 7) все работало корректно. В свежем (с приходом systemd?) появилась проблема: стоит упасть основному линку системы (погас свич на пути в Интернет / отключили wifi / etc), как pptp-линк начинает переподключаться с десяток раз в секунду (насколько ресурсов проца хватит), заваливая логи сообщениями в стиле


Oct 12 22:55:00 w pppd[732]: Using interface ppp0
Oct 12 22:55:00 w pppd[732]: Connect: ppp0 <--> /dev/pts/0
Oct 12 22:55:00 w pppd[732]: Modem hangup
Oct 12 22:55:00 w pppd[732]: Connection terminated.


В итоге при более-менее продолжительном отключении Интернета логи сильно разрастаются и забивают все доступное место.

Как пофиксить это безобразие?

★★★★★

В свежем (с приходом systemd?) появилась проблема

«Кошка бросила котят — это Путинsystemd виноват»

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

Но ведь он прав по факту, а уж кто там виноват...

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

🤦

У меня так и не дошли руки разобраться, как эта хрень работает.

Defaults to 100ms.

Что дало бы максимум 10 переподключений. Добавил запись в /lib/systemd/system/networking.service (это нормально вообще, что конфиг в /lib править приходится?), перезапустил networking.service, словил ту же проблему.

$ sudo grep 'Using interface' /var/log/syslog | uniq -c | sort -n
****
     29 Oct 13 10:01:10 walkbook pppd[11284]: Using interface ppp0
****

29 переподключений за секунду.

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

это нормально вообще, что конфиг в /lib править приходится?

Нет, так ни кто не делает, да и перезапишутся они у тебя тогда. Надо так:

systemctl edit networking.service

Пишешь

RestartSec==10sec

Или что там тебе еще нужно...

После systemctl edit этого делать не надо (оно само всё делает), но если правил руками в /etc/systemd/ то

systemctl daemon-reload

И перезапускаешь

systemctl restart networking.service

Я проверить не могу, я сейчас загружен в sysvinit (debian 9).

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

Не помогло. Попробовал в разных вариантах - и с ==, и с одним, и с добавлением секции [Service]

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

Еще момент: в debian не новая systemd, хотя именно в этом поведении вроде давно не было изменений...

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

Не помогло.

🤦

Вот, собственно, попробовав навскидку несколько вариантов когда-то, в итоге забил, а проблема осталась и иногда всплывает. А с особенностями внутреннего устройства systemd, как уже сказал, времени разобраться так и не нашел.

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

В журнале по нему ничего, только мои перезапуски networking.service, ну и ругань на неправильный синтаксис варианта с «==» (убрал).

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

А вообще в журнале что при этих свистоплясках с перезапуском? В файл положить и спокойно грепать:

journalctl --no-pager > journal.log
mandala ★★★★★
()
Ответ на: комментарий от mandala

Выключение wifi, выключение связанных сервисов (ntp, например), обрыв ppp-линка и пачки сообщений о рестарте от pptp->pppd

окт 13 10:55:13 walkbook pppd[11284]: using channel 70221
окт 13 10:55:13 walkbook NetworkManager[5966]: <info>  [1539417313.0693] manager: (ppp0): new Generic device (/org/freedesktop/NetworkManager/Devices/57898)
окт 13 10:55:13 walkbook pppd[11284]: Using interface ppp0
окт 13 10:55:13 walkbook pppd[11284]: Connect: ppp0 <--> /dev/pts/35
окт 13 10:55:13 walkbook pppd[11284]: Script pptp myhost --nolaunchpppd finished (pid 5960), status = 0x1
окт 13 10:55:13 walkbook pptp[5976]: anon fatal[get_ip_address:pptp.c:472]: getaddrinfo(): Name or service not known
окт 13 10:55:13 walkbook pppd[11284]: Script pptp myhost --nolaunchpppd finished (pid 5972), status = 0x1
окт 13 10:55:13 walkbook pppd[11284]: Modem hangup
окт 13 10:55:13 walkbook pppd[11284]: Connection terminated.
окт 13 10:55:13 walkbook NetworkManager[5966]: <info>  [1539417313.0858] devices added (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
окт 13 10:55:13 walkbook NetworkManager[5966]: <info>  [1539417313.0858] device added (path: /sys/devices/virtual/net/ppp0, iface: ppp0): no ifupdown configuration found.
окт 13 10:55:13 walkbook NetworkManager[5966]: <info>  [1539417313.0966] devices removed (path: /sys/devices/virtual/net/ppp0, iface: ppp0)



создается впечатление, что оно пыталось бы рестартиться еще быстрее, но натыкается на конфликт создания ppp-интерфейса:

окт 13 10:47:36 walkbook pppd[11284]: Script pptp myhost --nolaunchpppd finished (pid 2236), status = 0x1
окт 13 10:47:36 walkbook pppd[11284]: Script pptp myhost --nolaunchpppd finished (pid 2245), status = 0x1
окт 13 10:47:36 walkbook pppd[11284]: Script pptp myhost --nolaunchpppd finished (pid 2257), status = 0x1
окт 13 10:47:36 walkbook pppd[11284]: Script pptp myhost --nolaunchpppd finished (pid 2271), status = 0x1
окт 13 10:47:36 walkbook pppd[11284]: Script pptp myhost --nolaunchpppd finished (pid 2283), status = 0x1
окт 13 10:47:36 walkbook pppd[11284]: Script pptp myhost --nolaunchpppd finished (pid 2293), status = 0x1
окт 13 10:47:36 walkbook pppd[11284]: Script pptp myhost --nolaunchpppd finished (pid 2303), status = 0x1
окт 13 10:47:36 walkbook pppd[11284]: Script pptp myhost --nolaunchpppd finished (pid 2317), status = 0x1
окт 13 10:47:36 walkbook pppd[11284]: Script pptp myhost --nolaunchpppd finished (pid 2328), status = 0x1

**** и среди блоков ****

окт 13 10:01:11 walkbook pppd[11284]: using channel 68838
окт 13 10:01:11 walkbook pptp[12372]: anon fatal[get_ip_address:pptp.c:472]: getaddrinfo(): Name or service not known
окт 13 10:01:11 walkbook NetworkManager[5966]: <info>  [1539414071.4141] manager: (ppp0): new Generic device (/org/freedesktop/NetworkManager/Devices/56606)
окт 13 10:01:11 walkbook pppd[11284]: Couldn't attach to PPP unit 0: Transport endpoint is not connected
окт 13 10:01:11 walkbook pppd[11284]: using channel 68839
окт 13 10:01:11 walkbook pppd[11284]: in make_ppp_unit, already had /dev/ppp open?


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

Ну вот, а ты мучал networking.service, а у тебя networkmanager.service как я понимаю. И как я понимаю он не перезапускается, а внутри себя постоянно дергает pppd.

В NM я дуб, он у меня даже не установлен, и что там настраивать я хз.

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

Почему я ответил сразу про тайм-аут: я писал кастомный юнит для поднятия коннекта usb-модема. Но это было давно, еще на фёдоре.

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

вот меня и понесло, ассоциации сами построились на подсознании...

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

Не совсем. Сейчас я эксперименты ставлю на ноуте - там да, есть NM, но в данном случае он просто пишет про то, что в системе появляются/удаляются новые интерфейсы. pptp-линк поднимается не через него - я просто делаю pon vpn и дальше pptp поднимает соответствующий линк.

На безголовых машинках NM вообще нет, а проблема та же.

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

Но релоада юнита вообще нет, это реконнект просто. Сбил меня в стартовом сообщении вспомнив о сустемд ))) intelfx был прав...

Как у тебя соединение поднимается? Я говорил что я, например, делал юнит раньше, а сейчас я вообще руками поднимаю.

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

Все! Победил наконец-то. holdoff 10 в опции подъема vpn-линка.


persist
  	Не завершать работу сразу после разрыва соединения, а попытаться установить его заново.

Вот оно и пытается.
По timeout/delay/reconnect не находилось решение сходу, вот и не заметил. Вчитался - попробовал отключить - помогло. Начал копать в эту сторону и нашел.

Как у тебя соединение поднимается?

Выше писал - pon vpn руками на ноуте. На безголовых машинах - описание в interfaces

intelfx был прав...

Но до Поттеринга же работало! :D

YAR ★★★★★
() автор топика
Последнее исправление: YAR (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.