Перейти к содержанию

Вопрос

Опубликовано

Скрипт перезапускал PPPoE в случае получения серого IP от провайдера.

Принцип был такой - при получении серого IP  через 10 минут сессия перезапускалась, и так по кругу пока не будет получен белый IP. Пауза в 10 минут нужна для того, чтобы не было 100-500 реконнектов и чтобы не получить бан от провайдера.

Реализовать паузу в 10 мин. мне удалось только многократными "sleep 20", т.к. большие "sleep" не срабатывали...

Всё прекрасно работало на прошивке 2.08 (счастью не было предела, всегда белый айпишник), а после обновления на 2.09 скрипт после первых "sleep 20" выдаёт Opkg::Manager: /opt/etc/ndm/wan.d/white-ip.sh: timed out.

Может кто подскажет, как реализовать паузу в 10 минут, или где взять прошивку 2.08 для Гиги3 с OPKG компонентом? На 4PDA есть прошивка, но без нужного компонента... Обновился на свою голову...

 

Рекомендуемые сообщения

  • 0
Опубликовано
4 часа назад, Mamay сказал:

Тут почти полное собрание сочинений от ndms... 

Спасибо.

Но всё равно интересно, почему то что работало на стабильной 2.08 перестало работать на стабильной 2.09? Что-то поломали?

  • 0
Опубликовано
15 минут назад, Perevozchic сказал:

Спасибо.

Но всё равно интересно, почему то что работало на стабильной 2.08 перестало работать на стабильной 2.09? Что-то поломали?

Наоборот, исправили: скрипты, которые вызываются из /opt/etc/ndm/*, не должны работать длительное время, иначе они блокируют внутреннюю очередь событий. Именно поэтому на запуск каждого скрипта есть тайм-аут, сейчас он равен 24 секундам. Если скрипт работает дольше, он принудительно останавливается.

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

  • 0
Опубликовано
1 минуту назад, sergeyk сказал:

Наоборот, исправили

Ну для меня именно поломали. Очень жаль, остаётся только откат на 2.08...

  • 0
Опубликовано
15 minutes ago, Perevozchic said:

Ну для меня именно поломали. Очень жаль, остаётся только откат на 2.08...

Ну зачем? Напишите свой скрипт который пускается при старте системы и делает в бесконечном цикле sleep на минуту. И ловит сигнал HUP, при старте wan ему дают сигнал и он включает счетчик. После того как счетчик будет 10 - сбрасываем его и смотрим адрес на WAN. Если все плохо - рестартуем сессию.

Или при старте WAN пишите файл флаг в tmp, и чекайте его по крону. Вариантов масса.

  • 0
Опубликовано
1 минуту назад, gaaronk сказал:

Напишите свой скрипт

Я тот готовый скрипт взятый здесь на форуме два месяца до ума доводил, т.к. в этом ничего не понимаю. Идеальным для моих условий стало рвать штатным расписанием сессию в три ночи (выше вероятность получения белого ip с первого раза), и в случае серого IP через 10 минут переподключаться.

А Ваш совет для меня из области фантастики, мне проще полностью перебрать двигатель в современном авто, чем самому написать скрипт...

  • 0
Опубликовано
32 минуты назад, sergeyk сказал:

на запуск каждого скрипта есть тайм-аут, сейчас он равен 24 секундам

А нельзя ли как нибудь самому убрать это ограничение? Это решило бы мою проблему.

  • 0
Опубликовано

@Perevozchic попробуйте из хука запустить другой скрипт в фоне (background). Хук отработает быстро, а в процессах (возможно) останется другой скрипт, в котором можете использовать любой sleep.

Еще вариант - поставить проверку IP в cron, проверять раз в 10 минут. Тут уже и хуки не нужны....

  • 0
Опубликовано

Вопрос снимается. Нашёлся добрый человек и помог всё настроить. Теперь всё как раньше работает и на 2.09

Спасибо gaaronk 

  • 0
Опубликовано (изменено)

Да собственно оно мне и не больно надо. Опечатки были в исходном скрипте который правился.

Изменено пользователем gaaronk
  • 0
Опубликовано
1 час назад, gaaronk сказал:

Создайде скрипт

Тройка. Никто повторить не сможет. Подробнее, с комментариями и без очепяток типа `dafault`. А если так профиль называется с ошибкой - то где он. Что такое wan скрипт поясните. Отредактируйте свой пост, новый не пишите.

  • 0
Опубликовано (изменено)
43 минуты назад, zyxmon сказал:

Никто повторить не сможет.

Так ведь работает же с 

43 минуты назад, zyxmon сказал:

очепяток типа `dafault`.

Емейлы приходят...

Поправил на 'default' , спасибо за подсказку.

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

Изменено пользователем Perevozchic
  • 0
Опубликовано

Вообще обсуждение именно переподключения при получении серого IP адреса от провайдера обсуждалось здесь - 

Из той темы я и брал скрипты и правил не один месяц добиваясь нужного мне алгоритма работы. А после обновления Гиги3 до 2.09 всё работать перестало. Собственно ответ на вопрос почему перестало - получен

6 часов назад, sergeyk сказал:

скрипты, которые вызываются из /opt/etc/ndm/*, не должны работать длительное время, иначе они блокируют внутреннюю очередь событий. Именно поэтому на запуск каждого скрипта есть тайм-аут, сейчас он равен 24 секундам. Если скрипт работает дольше, он принудительно останавливается.

 

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.