Это просто ж какая-то. :(
Описание длинное, но если кто-нить хорошо знает связку pppd/pptp - дочитайте пожалуйста до конца.
Использую pppd для выхода в интернет через местную локалку с PPTP.
Соединение время от времени падает.
Задача: хочу сделать автоматическое восстановление соединения.
== Попытка #1
Добавляю в /etc/ppp/options.pptp
maxfail 0
persist
$ pon provider
Выдергиваю сетевой шнурок. Вставляю его обратно. Всё вроде бы нормально: pppd обнаружил разрыв соединения и установил его заново.
Оставляю конструкцию на ночь. Утром вижу, что связи нет. Оказывается pptp не смог установить соединение с сервером PPTP и pppd завершил свою работу.
== Попытка #2
$ cat /usr/local/sbin/call_provider
#! /bin/sh
while true; do
setsid pon provider nodetach
sleep 1
done
$ nohup /usr/local/sbin/call_provider 2>/dev/null &
Пробуем выдернуть/вставить шнурок, убить pppd или pptp - соединение устанавливается заново.
Оставляю конструкцию на день. Связь пропадает. Вечером смотрим - висит процесс pppd call provider nodetach, но связи всё равно нет.
Перезапускаем pppd - связь появляется.
==
Что дальше?
Организовывать пинг внешнего хоста и переустанавливать соединение, если пинг не удался?
Или есть более правильные способы?