Персональный | |
Как автоматически перезванивать провайдеру
23.11.1999
Итак, мы получили PPP-соединение.
Но в случае обрыва модемного соединения pppd завершает работу
и интерфейс #!/bin/sh DEVICE=cuaa0 while [ ! -f /var/spool/lock/LCK..${DEVICE} ]; do pppd ${DEVICE} 57600 lock \ connect '/etc/ppp/dial' \ defaultroute noipdefault debug sleep 5 done
Этот скрипт каждые пять секунд проверяет наличие
файла блокирования (в нашем случае, это
Но, на самом деле, достаточно указать pppd параметр persist, что бы он делал это сам: pppd cuaa0 57600 lock connect '/etc/ppp/dial' \ persist holdoff 5 \ defaultroute noipdefault debug
При разрыве соединения pppd возвращает интерфейс
kill `cat /var/run/ppp0.pid` Отметим, что для прибивания pppd в режиме persist недостаточно послать сигналВ версии pppd, которая идёт в составе
Надо заметить, что у pppd есть параметр
idle N, обычно используемый
в режиме demand.
Это параметр указывает pppd прервать соединение,
если в течение N секунд по линии
ничего не передавалось.
Однако, в режиме persist этот параметр не имеет смысла,
поскольку после разрыва соединения, вызванного бездействием линии,
pppd будет пытаться соединиться снова.
Но иногда такое поведение нежелательно то
есть, хотелось бы воспользоваться режимом persist,
но при этом завершать работу pppd не с помощью
команды (C) Игорь Сысоев |