LINUX.ORG.RU

Скрипт для поддержания ppp соединения


0

0

Господа, не поделится ли кто-нибудь отлаженным скриптом для поддержания GPRS ppp соединения? Нужно научить удалённый компьютер периодически заливать мелкое файло на сервер и хотелось бы чтобы он это делал железно.

GPRS может периодически виснуть и нужно это обнаруживать какой-нибудь пинговалкой и делать автоматический рестарт. Наверняка ведь кто-то такое делал и собаку на этом съел.

Ответ на: комментарий от Deleted

Но даже с такими настройкамт pppd у меня иногда отваливается... Так что я закинул в крон проверку на живость pppd и перезапуск сети в случае его отсутствия.

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

> Но даже с такими настройкамт pppd у меня иногда отваливается... Так что я закинул в крон проверку на живость pppd и перезапуск сети в случае его отсутствия.

В каком смысле "отваливается"? Если просто втихую падает, то это баг и соответственно нужно писать багрепорт.

У меня он работает с такими опциями:

persist # держать постоянное соединение
maxfail 0 # переподключаться после дисконнекта хоть сколько раз
lcp-echo-interval 60 # отправлять другой стороне LCP-пинг каждые 60 секунд
lcp-echo-failure 2 # если два раза подряд не получили ответ - значит сединение отвалилось и нужен реконнект

Правда у меня это всё работает с PPtP и PPPoE, но для pppd это должно быть пофигу.

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

>В каком смысле "отваливается"? Если просто втихую падает, то это баг и соответственно нужно писать багрепорт.

Раньше у меня было очень нестабильное соединение, постоянные дисконекты. У pppd сносило от этого крышу и он прекращал попытки реконнекта. Баг вроде бы висел на ppp.samba.org. Потом я поменял у себя проводку - соединение стало стабильным - баг перестал проявляться.

Сейчас появился другой баг - pppd висит, а траффик через интерфейс не идёт - проявляется крайне редко. Надо бы как-нибудь заняться его отлавливанием, но всё руки не доходят.

Nao ★★★★★
()

GPRS виснет так, что надо перегружать телефон. наблюдал это и на алкателах и на нокиях и на сименсах.

пмсм, скрипт тут не поможет. может, это спецом сделали, чтоб люди раскошеливались на железные гпрс-модемы?

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

Кстати, да, замечал на своем старом семене и вот теперь на нокии - пока не перегрузишь - инета не будет. Хотя, иногда лечится если отправить смс или позвонить и попробовать подключиться опять.

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

> У меня он работает с такими опциями:

А если network-manager? Он читает эти опции? А то что-то в 0.7 вообще обрезанное у.бище, даже опций переподключения нет, в виндупсе и то больше настроек и удобнее.

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

> А то что-то в 0.7 вообще обрезанное у.бище, даже опций переподключения нет, в виндупсе и то больше настроек и удобнее.

Что, NetworkManager тоже умудрились расHIGачить?

Deleted
()

> Сейчас появился другой баг - pppd висит, а траффик через интерфейс не идёт - проявляется крайне редко. Надо бы как-нибудь заняться его отлавливанием, но всё руки не доходят.

Вот вот, на GPRS такое приходится видеть - соединение не отваливается но трафик не ходит, или очень плохо ходит. Рестарт помогает. На старой USB-моторолке и не такое наблюдал - в тяжёлых случаях приходилось модули ядра перегружать чтобы usb снова заработал.

> GPRS виснет так, что надо перегружать телефон. наблюдал это и на алкателах и на нокиях и на сименсах.
> пмсм, скрипт тут не поможет. может, это спецом сделали, чтоб люди раскошеливались на железные гпрс-модемы?

В моём случае это железный GPRS-модем, но ходят слухи что с ними зависание тоже возможно. Тут поможет только аппаратная примочка управляемая с компьютера которая будет дёргать питание модема. Ещё слышал что есть какие-то модемы с watchdog'ом, но деталей не знаю.

Обычно такие глюки бывали когда происходил сбой на стороне оператора, при этом телефону могло сорвать крышу и он застреваел в каком-то некорректном состоянии, когда только ребут спасал.

В общем случае я буду решать железные и софтовые проблемы по отдельности. В плане софта есть мысль сделать скрипт который будет проверять наличие pppd, интерфейса ppp0 и периодически проверять пинг.

Как бы этот скрипт попроще и элегантнее увязать с задачей заливающей файлы? Объединить всё в один скрипт последовательно? Но хотелось бы чтобы пинговалка не блокировала задачу заливки файла. При полностью параллельной и независимой работе надо как-то заливалке после реконнекта сообщить чтобы она рестартанула и продолжила закачку...

Совсем непрерывно соединение тоже держать не хочется.

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

>Как бы этот скрипт попроще и элегантнее увязать с задачей заливающей файлы? Объединить всё в один скрипт последовательно? Но хотелось бы чтобы пинговалка не блокировала задачу заливки файла. При полностью параллельной и независимой работе надо как-то заливалке после реконнекта сообщить чтобы она рестартанула и продолжила закачку...

А что используется для заливки файла? Если к примеру взять FTP протокол и клиент lftp, то его можно настроить так, чтобы он бесконечно долбился в случае дисконекта. Хотя если траффик дорогой, то к настройке надо отнестись с осторожностью, дабы при какойто постоянной ошибке он не сожрал весь траффик...

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

Скорее всего rsync - умеет докачку, проверяет контрольные суммы, копирует инкрементально. Планирую после его вызова проверять код ошибки и дальше уже делать повторы при необходимости (задержку между повторами скорее всего буду увеличивать экспоненциально, а-ля почтовик).

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