Jump to content

Question

Posted

Скрипт перезапускал 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 есть прошивка, но без нужного компонента... Обновился на свою голову...

 

17 answers to this question

Recommended Posts

  • 0
Posted
4 часа назад, Mamay сказал:

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

Спасибо.

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

  • 0
Posted
15 минут назад, Perevozchic сказал:

Спасибо.

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

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

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

  • Thanks 1
  • 0
Posted
1 минуту назад, sergeyk сказал:

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

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

  • 0
Posted
15 minutes ago, Perevozchic said:

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

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

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

  • Thanks 1
  • 0
Posted
1 минуту назад, gaaronk сказал:

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

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

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

  • 0
Posted
32 минуты назад, sergeyk сказал:

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

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

  • 0
Posted

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

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

  • 0
Posted

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

Спасибо gaaronk 

  • Thanks 1
  • 0
Posted

Ну и расписали бы это решение в подробностях для других. Вам помогли, Вы другим помогите.

  • 0
Posted (edited)

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

Edited by gaaronk
  • Thanks 1
  • Y'r wrong 1
  • 0
Posted

Модераторам просьба поправить в названии темы пересЛал на пересТал

  • 0
Posted
1 час назад, gaaronk сказал:

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

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

  • Thanks 1
  • 0
Posted (edited)
43 минуты назад, zyxmon сказал:

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

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

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

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

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

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

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

Edited by Perevozchic
  • 0
Posted
11 минуту назад, Perevozchic сказал:

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

Зажмурившись на другом роутере сделайте. Опишите действия по шагам.

  • 0
Posted

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

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

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

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

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

This site uses cookies. By clicking "I accept" or continuing to browse the site, you authorize their use in accordance with the Privacy Policy.