Перезагрузка рутера через telnet
Модератор: immortal
-
- Сообщения: 217
- Зарегистрирован: Вт июл 21, 2015 4:59 pm
- Откуда: Москва
- Благодарил (а): 56 раз
- Поблагодарили: 1 раз
Перезагрузка рутера через telnet
Подскажите, можно ли подключиться к рутеру Zyxel Keenetic II в локальной сети через telnet средствами MajorDoMo?
Хочу запускать команду на перезагрузку при отсутствие ping
https://zyxel.ru/kb/2916/
Хочу запускать команду на перезагрузку при отсутствие ping
https://zyxel.ru/kb/2916/
MDM Raspberry Pi 3b, esp32, ModBUS, esp8266, NooLite(MTRF-64-USB, SU-1-***, SLF-1-300, PM112, радиопульты PU)
-
- Сообщения: 24
- Зарегистрирован: Чт июл 30, 2015 10:04 pm
- Благодарил (а): 11 раз
- Поблагодарили: 7 раз
Re: Перезагрузка рутера через telnet
я у себя сделал так:EvgenyG писал(а):Подскажите, можно ли подключиться к рутеру Zyxel Keenetic II в локальной сети через telnet средствами MajorDoMo?
Хочу запускать команду на перезагрузку при отсутствие ping
https://zyxel.ru/kb/2916/
1 В корне создал файл /var/www/restart_router.sh
Код: Выделить всё
#!/bin/bash
(
sleep 5
echo "admin"
sleep 1
echo "password"
sleep 1
echo "system reboot"
sleep 1
echo "exit"
) | telnet 192.168.0.1
2 В МД создал сценарий, в котором прописал дергалку этого файлика. Можно сделать примерно так:
Код: Выделить всё
say('Подключение к интернету отсутствует более трех минут. Попробую перезагрузить роутер...');
exec('/var/www/restart_router.sh');
3 Состояние интернета проверяю пингом к яндексу (Устройства Online):
Действие при переходе в Offline:
Код: Выделить всё
SetTimeOut("restartRouter","runScript('restartRouter');", 180);
Код: Выделить всё
ClearTimeOut("restartRouter");
- За это сообщение автора Varrcan поблагодарили (всего 4):
- 71Gavrik71 (Сб янв 28, 2017 9:20 pm) • Otto (Пн мар 27, 2017 9:46 am) • llirik (Чт сен 14, 2017 2:30 pm) • olegvolk75 (Чт окт 11, 2018 7:59 pm)
- Рейтинг: 4.65%
-
- Сообщения: 24
- Зарегистрирован: Чт июл 30, 2015 10:04 pm
- Благодарил (а): 11 раз
- Поблагодарили: 7 раз
Re: Перезагрузка рутера через telnet
Может кому пригодится.
На роутере TP-LINK TL-WR740N перезагружал подобным скриптом, ничего проще не смог найти:
*** Сообщение запрещено. Сообщение похоже на спам. ***
На роутере TP-LINK TL-WR740N перезагружал подобным скриптом, ничего проще не смог найти:
Код: Выделить всё
say('Внимание! Маршрутизатор перезагружается!');
$t = 'http://192.168.0.1/userRpm/SysRebootRpm.htm?Reboot=%D0%9F%D0%B5%D1%80%D0%B5%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $t);
curl_setopt($ch, CURLOPT_USERPWD, 'admin:password');
curl_setopt($ch, CURLOPT_REFERER, 'http://192.168.0.1/userRpm/SysRebootRpm.htm');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Firefox/17.0');
curl_setopt($ch, CURLOPT_ENCODING, 'utf-8');
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_exec($ch);
curl_close($ch);
- Рейтинг: 1.16%
-
- Сообщения: 29
- Зарегистрирован: Пт апр 15, 2016 4:04 pm
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Re: Перезагрузка рутера через telnet
Varrcan писал(а):я у себя сделал так:EvgenyG писал(а):Подскажите, можно ли подключиться к рутеру Zyxel Keenetic II в локальной сети через telnet средствами MajorDoMo?
Хочу запускать команду на перезагрузку при отсутствие ping
https://zyxel.ru/kb/2916/
1 В корне создал файл /var/www/restart_router.shзначения смените на свои.Код: Выделить всё
#!/bin/bash ( sleep 5 echo "admin" sleep 1 echo "password" sleep 1 echo "system reboot" sleep 1 echo "exit" ) | telnet 192.168.0.1
2 В МД создал сценарий, в котором прописал дергалку этого файлика. Можно сделать примерно так:Код: Выделить всё
say('Подключение к интернету отсутствует более трех минут. Попробую перезагрузить роутер...'); exec('/var/www/restart_router.sh');
3 Состояние интернета проверяю пингом к яндексу (Устройства Online):
Действие при переходе в Offline:Действие при переходе в Online: (Это если вдруг интернет восстановился за 3 минуты)Код: Выделить всё
SetTimeOut("restartRouter","runScript('restartRouter');", 180);
Код: Выделить всё
ClearTimeOut("restartRouter");
Можно пример в картинках для тупых и у кого не чего не получилось.
- savenko_egor
- Сообщения: 705
- Зарегистрирован: Вс авг 03, 2014 8:17 pm
- Откуда: Украина, Запорожье
- Благодарил (а): 108 раз
- Поблагодарили: 147 раз
- Контактная информация:
-
- Сообщения: 29
- Зарегистрирован: Пт апр 15, 2016 4:04 pm
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Re: Перезагрузка рутера через telnet
Ну в принципе все так и делал. Единственно вместо домена указал хост.
В результат и с доменным именем работает с просто ip адресом нет. Статус переходит в офлайн но команда не выполняется.
В результат и с доменным именем работает с просто ip адресом нет. Статус переходит в офлайн но команда не выполняется.
- savenko_egor
- Сообщения: 705
- Зарегистрирован: Вс авг 03, 2014 8:17 pm
- Откуда: Украина, Запорожье
- Благодарил (а): 108 раз
- Поблагодарили: 147 раз
- Контактная информация:
Re: Перезагрузка рутера через telnet
Попробуйте дебажить. Например добавьте say в какой-то из статусов для того чтобы понять работает или нет.
Но скорее всего у Вас PHP работает от пользователя который не имеет доступ к скрипту. Даю 99% что проблема именно в этом. Потому проверьте собственника и права на sh скрипт и проверьте от кого запускается скрипты MDM.
Но скорее всего у Вас PHP работает от пользователя который не имеет доступ к скрипту. Даю 99% что проблема именно в этом. Потому проверьте собственника и права на sh скрипт и проверьте от кого запускается скрипты MDM.
-
- Сообщения: 29
- Зарегистрирован: Пт апр 15, 2016 4:04 pm
- Благодарил (а): 1 раз
- Поблагодарили: 1 раз
Re: Перезагрузка рутера через telnet
Права на каталог WWW у root и www-data полный доступ.
Скрипт работает когда в поле хост(адрес) пишешь хост к примеру www.ru а не ip адрес ххх.ххх.ххх.ххх
То есть это баг модуля pinghosts
Скрипт работает когда в поле хост(адрес) пишешь хост к примеру www.ru а не ip адрес ххх.ххх.ххх.ххх
То есть это баг модуля pinghosts
- savenko_egor
- Сообщения: 705
- Зарегистрирован: Вс авг 03, 2014 8:17 pm
- Откуда: Украина, Запорожье
- Благодарил (а): 108 раз
- Поблагодарили: 147 раз
- Контактная информация:
Re: Перезагрузка рутера через telnet
Так может у Вас сервер не преобразовывает домены в IP. Покажите вывод:
*** Сообщение запрещено. Сообщение похоже на спам. ***
Код: Выделить всё
cat /etc/resolv.conf
Код: Выделить всё
ping 8.8.8.8
Код: Выделить всё
ping ya.ru