Переподключение при превышении ping

Модератор: Модераторы разделов

tramX
Сообщения: 200

Переподключение при превышении ping

Сообщение tramX »

Здравствуйте. Есть pppoe соединение. Как сделать, чтобы оно автоматически переподключалось, если ping к определенному адресу в сети превышает 80 мс ?
Спасибо сказали:
Аватара пользователя
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian

Re: Переподключение при превышении ping

Сообщение rm_ »

Нууу, насчёт 80 мсек это надо sed'ы/awk'и ковырять, но если вам достаточно чтоб переподключалось при пинге 100 мсек и выше (т.е. трёхзначном), можно вот такой вариант в крон забить:

Код: Выделить всё

(ping -c 4 server.ru | grep -E ".*=[0-9]{3,} ms$") && (poff dsl-provider; sleep 2; pon dsl-provider)

Если хотя бы раз из четырёх попыток пинг будет выше ста, произойдёт переподключение (поправьте на Ваше название PPPoE-конфига).
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Переподключение при превышении ping

Сообщение sash-kan »

rm_
pon/poff есть далеко не во всех дистрибутивах.

там где нет, придётся использовать что-то вроде:
вместо «pon provider» — «pppd call provider»
а вместо «poff provider» — «pkill pppd». предупреждение: эта команда убьёт все процессы pppd.

p.s. возможно, ещё потребуется увеличить паузу между poff и pon. а возможно, и вызывать pkill pppd дважды.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
tramX
Сообщения: 200

Re: Переподключение при превышении ping

Сообщение tramX »

У меня Debian pon/poff для меня подходят.
Раз из четырёх попыток это пинговать будет с какимто интервалом? Где прочитать что это означает ping -c 4 server.ru | grep -E ".*=[0-9]{3,} ms$" И надо sed'ы/awk'и ковырять. есть описание на русском? как разрешить пользователю системы не давая права админа выполнять команды poff и pon dsl-provider. Забыл. Нужно чтоб пере подключалось если не один ping при вишен, а если пингов 10 или 20 превышено, только тогда пере подключать.
Спасибо сказали:
Kornelius
Сообщения: 86
ОС: Linux/BSD/Netware/OpenSolaris

Re: Переподключение при превышении ping

Сообщение Kornelius »

tramX писал(а):
05.01.2009 16:25
У меня Debian pon/poff для меня подходят.
Раз из четырёх попыток это пинговать будет с какимто интервалом? Где прочитать что это означает ping -c 4 server.ru | grep -E ".*=[0-9]{3,} ms$" И надо sed'ы/awk'и ковырять. есть описание на русском?


man ping
man grep
man sed
man awk

tramX писал(а):
05.01.2009 16:25
как разрешить пользователю системы не давая права админа выполнять команды poff и pon dsl-provider.


Нужно через visudo добавить нечто вроде:
user machin_name = NOPASSWD: /usr/bin/pon, /usr/bin/poff

И user будет делать это через sudo

tramX писал(а):
05.01.2009 16:25
Забыл. Нужно чтоб пере подключалось если не один ping при вишен, а если пингов 10 или 20 превышено, только тогда пере подключать.


Ну дык ping -c 10 или 20 соответственно
Спасибо сказали: