URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 76797
[ Назад ]

Исходное сообщение
"Ребут D-link модема через telnet"

Отправлено vvb , 15-Окт-07 22:24 
Имеется модем D-link (DSL-524T), внутри linux.
Иногда он "подвисает" (не очень часто, но изредка случается), и подключиться к интернету нельзя никак, и кроме как ребутом из этого состояния его не выведешь, хотя внешне всё нормально.
Руками перетыкать провод питания лениво каждый раз, кнопки включения/ресета у него нет.
Через telnet если заходить с логином-паролем (скажем, с теми, которые по дефолту root, admin), можно набрать в консоли reboot и модем прекрасно заребутится.
Задача. Нельзя ли всё это дело запихать в скрипт, чтобы запустил его, оно само залогинилось с нужным логином:паролем, выполнило бы команду reboot на устройстве и модем бы ребутнулся?
Или такое невозможно записать в скрипт?

Содержание

Сообщения в этом обсуждении
"Ребут D-link модема через telnet"
Отправлено Agressor , 16-Окт-07 11:50 
bash~> (sleep 2 ; echo "admin" ; sleep 2 ;echo "password" ; sleep 2 ; echo "reboot" ; sleep 5) | telnet  192.168.1.1

"Ребут D-link модема через telnet"
Отправлено cas_alexi , 25-Мрт-09 15:52 
>bash~> (sleep 2 ; echo "admin" ; sleep 2 ;echo "password" ; sleep 2 ; echo "reboot" ; sleep 5) | telnet  192.168.1.1

спасибо ;-)

PS слипы лучше делать больше



"Ребут D-link модема через telnet"
Отправлено kenny , 28-Ноя-08 14:26 
>[оверквотинг удален]
>его не выведешь, хотя внешне всё нормально.
> Руками перетыкать провод питания лениво каждый раз, кнопки включения/ресета у него
>нет.
> Через telnet если заходить с логином-паролем (скажем, с теми, которые по
>дефолту root, admin), можно набрать в консоли reboot и модем прекрасно
>заребутится.
> Задача. Нельзя ли всё это дело запихать в скрипт, чтобы запустил
>его, оно само залогинилось с нужным логином:паролем, выполнило бы команду reboot
>на устройстве и модем бы ребутнулся?
> Или такое невозможно записать в скрипт?

spawn telnet 10.105.231.219
expect "username:" {send "medvedev_up\n"}
expect "Password:" {send "pass\n"}
expect    "console#" { send "reload\n"}
expect    "This command will reset the whole system and disconnect your current" { send "y\n"}
expect eof
Ну под свой заточете


"Ребут D-link модема через telnet"
Отправлено porese , 10-Июн-09 12:11 
>[оверквотинг удален]
>> Или такое невозможно записать в скрипт?
>
>spawn telnet 10.105.231.219
>expect "username:" {send "medvedev_up\n"}
>expect "Password:" {send "pass\n"}
>expect    "console#" { send "reload\n"}
>expect    "This command will reset the whole system and
>disconnect your current" { send "y\n"}
>expect eof
>Ну под свой заточете

У меня под акорп 120, проверяет на доступность днс моего провайдера, и если что, рестарт, поставил в крон раз в 10 минут.

#!/usr/bin/expect -f
spawn telnet 192.168.128.1
expect "login:" {send "root\n"}
expect "Password:" {send "123\n"}
expect "#" { send "/bin/ping -c 1 80.95.32.20||/sbin/reboot\n"}
expect "#" { send "exit\n"}
expect eof


"Ребут D-link модема через telnet"
Отправлено al , 22-Дек-09 16:21 
Под 2540 длинк акорповский скрипт сработал на ура,но если днс провайдера прописаны в модеме то при команде в телнете /bin/ping -c 1 днс.провайдера||/sbin/reboot на выходе получал killall telnetd. Решалось 2мя путями или сменить пингующий айпи или в конфигурации модема днс не прописывать.