Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Скрипт для роутера  (Прочитано 3508 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Tipp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
Скрипт для роутера
« : 10 Декабря 2008, 15:02:02 »
Привет. Кто-нибудь может помочь со скриптом для роутера. Есть дсл-роутер, иногда отваливается интенет до ребута. Нужно что-то типа
if ping www.ru OK
then wait 60m
else
telnet 192.168.1.1
login-admin
pass-admin
reboot-enter
возможно такое ?

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1107
    • Просмотр профиля
Re: Скрипт для роутера
« Ответ #1 : 10 Декабря 2008, 15:41:33 »
Привет. Кто-нибудь может помочь со скриптом для роутера. Есть дсл-роутер, иногда отваливается интенет до ребута. Нужно что-то типа
if ping www.ru OK
then wait 60m
else
telnet 192.168.1.1
login-admin
pass-admin
reboot-enter
возможно такое ?

#!/bin/sh

while true; do
if (! ping -c 3 www.ru > /dev/null 2> /dev/null); then
echo -e "AdminUser\nAdminPassword\nreboot\n" | telnet 192.168.1.1
sleep 60;
fi
done

Ну вот собственно и всё. Системный демон готов. Думаю разберёшься как его запустить:)

Оффлайн Tipp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
Re: Скрипт для роутера
« Ответ #2 : 10 Декабря 2008, 15:56:04 »

Ну вот собственно и всё. Системный демон готов. Думаю разберёшься как его запустить:)

вооо, сенк. проверю вечером ! я правильно понял время можно менять в слип 60 ? А логин-пароль там где Админ-нАдмин ? Правда не понял логики, как отрабатывается если-то-иначе ...

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1107
    • Просмотр профиля
Re: Скрипт для роутера
« Ответ #3 : 10 Декабря 2008, 15:59:58 »

Ну вот собственно и всё. Системный демон готов. Думаю разберёшься как его запустить:)

вооо, сенк. проверю вечером ! я правильно понял время можно менять в слип 60 ? А логин-пароль там где Админ-нАдмин ? Правда не понял логики, как отрабатывается если-то-иначе ...

Короче алгоритм такой:

В вечном цикле пингуем www.ru. Если не пингуется - ребутаем роутер. Кстати sleep лучше вынести из условия. То есть сделать так:

#!/bin/sh

while true; do
if (! ping -c 3 www.ru > /dev/null 2> /dev/null); then
echo -e "AdminUser\nAdminPassword\nreboot\n" | telnet 192.168.1.1
fi
sleep 60;
done

А то запингуешь бедный хост до смерти.

С логином и паролем: telnet получает со стандартного ввода набор строк. К сожалению тут не проверяется реакция телнета на них.

То есть предполагается что сначала он хочет получить логин, потом пароль, а потом команду на перезагрузку. Если он не примет логин с паролем то перезагрузка не будет выполнена и ты никак это не отмониторишь. Но обычно этого достаточно.

Clause

  • Гость
Re: Скрипт для роутера
« Ответ #4 : 10 Декабря 2008, 17:03:14 »
crontab не?

Оффлайн Tipp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
Re: Скрипт для роутера
« Ответ #5 : 10 Декабря 2008, 19:55:12 »
стрянно... пишет
Connection closed by foreign host.
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
Connection closed by foreign host.
Trying 192.168.1.1...
и всё :(

Оффлайн Tipp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
Re: Скрипт для роутера
« Ответ #6 : 10 Декабря 2008, 19:56:08 »
и ещё, слип60 это минуты ? как задать секунды допустим или часы ?

Оффлайн Tipp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
Re: Скрипт для роутера
« Ответ #7 : 10 Декабря 2008, 20:01:43 »
собственно получается вот как - ставлю пинг на 192.168.1.3 ( не существует ) и тогда после запуска пишет как выше. при пинге типа ввв.ру молча висит в терминале...
  ага... не телнетится когда пинг на любой несуществующий хост. типа www.tu
если что-то скажет, дсл-роутер dlink2500bru
« Последнее редактирование: 10 Декабря 2008, 20:33:18 от Tipp »

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1107
    • Просмотр профиля
Re: Скрипт для роутера
« Ответ #8 : 10 Декабря 2008, 20:33:22 »
и ещё, слип60 это минуты ? как задать секунды допустим или часы ?

задержка задётся в секундах.

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1107
    • Просмотр профиля
Re: Скрипт для роутера
« Ответ #9 : 10 Декабря 2008, 20:35:10 »
собственно получается вот как - ставлю пинг на 192.168.1.3 ( не существует ) и тогда после запуска пишет как выше. при пинге типа ввв.ру молча висит в терминале...
  ага... не телнетится когда пинг на любой несуществующий хост. типа www.tu
если что-то скажет, дсл-роутер dlink2500bru

У меня точно такой же. Попробовал на нём - вроде работает.

Оффлайн Tipp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
Re: Скрипт для роутера
« Ответ #10 : 10 Декабря 2008, 20:42:08 »
не работает :(  Connection closed by foreign host. и все ... куда копать ?

Clause

  • Гость
Re: Скрипт для роутера
« Ответ #11 : 10 Декабря 2008, 20:51:37 »
А роутер в режиме роутера работает или бридж?

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1107
    • Просмотр профиля
Re: Скрипт для роутера
« Ответ #12 : 10 Декабря 2008, 21:01:23 »
не работает :(  Connection closed by foreign host. и все ... куда копать ?


А ты уверен что он не прегружается после этого? У меня спокойно в ребут уходит.

Оффлайн Tipp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
Re: Скрипт для роутера
« Ответ #13 : 10 Декабря 2008, 21:07:54 »
конечно уверен... смотрю на него - раз, через вебморду смотрю -два. ручками телнетом захожу. запускаеш как - $ sh /router.sh типа ?

Оффлайн ForReg

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Скрипт для роутера
« Ответ #14 : 10 Декабря 2008, 21:48:45 »
Погуглил. Понравилось это:
1) http://forum.sources.ru/index.php?showtopic=249269 -последнее сообщение
2) http://club.2-u.ru/forum/viewtopic.php?id=371

Tipp, как насчет того, чтобы потестить? :)

 

Страница сгенерирована за 0.046 секунд. Запросов: 23.