Проблема моя такова:
На компьютере настроено PPPoE-соединение с провайдером. Работает. Вот только время от времени (раз в пару дней или даже чаще) соединение обрывается. pppd пишет, что "No response to 3 echo-requests" (т.е. не получил 3 пинга от сервера подряд). Это я его так настроил.
После этого он пытается восстановить соединение, однако ему это не удаётся. Пишет
Код: Выделить всё
pppd[76]: Timeout waiting for PADO packets
pppd[76]: Unable to complete PPPoE DiscoveryИ так, похоже, до бесконечности может писать.
При этом, если перезапустить это соединение соответствующим скриптом, он тут же соединяется, получает айпишник и работает, как ни в чём не бывало.
Содержимое скрипта перезапуска PPPoE-соединения:
Код: Выделить всё
killall pppd
/sbin/ifconfig eth0 down
/sbin/ifconfig eth0 -pointopoint
/sbin/modprobe -r pppoe
rm /var/run/pppd2.tdb
/sbin/modprobe pppoe
/sbin/ifconfig eth0 down
/sbin/ifconfig eth0 pointopoint
/sbin/ifconfig eth0 up
pppd eth0Конфигурация pppd:
Код: Выделить всё
lock
plugin rp-pppoe.so
#connect /etc/ppp/eth0_on.sh
#init /etc/ppp/eth0_on.sh
usepeerdns
noipdefault
persist
defaultroute
holdoff 1
ipcp-max-configure 3
ipcp-restart 3
lcp-echo-failure 3
lcp-echo-interval 20
lcp-max-configure 3
lcp-restart 3
maxfail 0
#chap-interval 10
chap-max-challenge 3
chap-restart 3
#nocrtscts
localМои жалкие попытки перезапускать eth0-интерфейс в скриптах опций 'connect' и 'init' не увенчались успехом. Перезапуск его в скрипте /etc/ppp/ip-down тоже не помог.
Несколько месяцев уже бьюсь. Начал даже подумывать о том, чтобы дать задание cron'у анализировать хвост /var/log/messages на предмет ошибки "Timeout waiting for PADO packets" и перезапускать PPPoE-соединение таким образом. Однако, по-моему, это всё-таки уход от проблемы, а не решение её.
Может быть, кто-то сталкивался с этим и ему удалось решить? Подскажите, пожалуйста.