FormatCevt 0 Опубликовано 3 марта 2010 Жалоба Рассказать Опубликовано 3 марта 2010 109j подключен к домашней локалке по статическому айпишнику. Задача - удаленно выключать NAS путем кликания по ярлыку на машине, подключенной к локалке. Никак не могу сообразить, что надо сказать NASу. Что-то типа http://192.168.1.50/бла-бла-бла (192.168.1.50 - IP NAS). Кто-нибудь заморачивался подобной задачей? Прошивка DSM 2.2-0959. Цитата Ссылка на сообщение Поделиться на другие сайты
no_poem 0 Опубликовано 29 марта 2010 Жалоба Рассказать Опубликовано 29 марта 2010 109j подключен к домашней локалке по статическому айпишнику. Задача - удаленно выключать NAS путем кликания по ярлыку на машине, подключенной к локалке. Никак не могу сообразить, что надо сказать NASу. Что-то типа http://192.168.1.50/бла-бла-бла (192.168.1.50 - IP NAS). Кто-нибудь заморачивался подобной задачей? Прошивка DSM 2.2-0959. 1) зайти на NAS через веб-интерфейс и нажать "Выключение". 2) через telnet или ssh 3) пункт 2 обернутый в "оболочку", например, автоматизировать набор команд через .bat (но нужна стороняя софтинка для telnet, т.к. консолька отрубится после запуска telnet Команда на выключение NAS - "poweroff", перезагрузка, соответсвенно "reboot" 4) поднять веб-сервер на DS и положить скриптик (желательно конечно с доступом по паре логин/пароль). Вот код, назовем, к примеру, stop.php <?php $result = shell_exec('poweroff'); echo "Status: $result"; ?> Соответственно остановка DiskStation будет производиться командой http://192.168.1.50/stop.php Цитата Ссылка на сообщение Поделиться на другие сайты
Nekto73 0 Опубликовано 12 апреля 2010 Жалоба Рассказать Опубликовано 12 апреля 2010 4) поднять веб-сервер на DS и положить скриптик (желательно конечно с доступом по паре логин/пароль). Вот код, назовем, к примеру, stop.php Соответственно остановка DiskStation будет производиться командой http://192.168.1.50/stop.php Пункт 4 не проходит: Warning: shell_exec() [function.shell-exec]: Cannot execute using backquotes in Safe Mode in /volume1/web/stop.php on line 2 Status: И как сделать доступ по логину/паролю? Цитата Ссылка на сообщение Поделиться на другие сайты
FormatCevt 0 Опубликовано 13 апреля 2010 Автор Жалоба Рассказать Опубликовано 13 апреля 2010 Пункт 4 не проходит: Такая же фигня... Не из-за того ли что нужно предварительно авторизоваться на DiskStation? Тогда вопрос как программно это можно сделать? Цитата Ссылка на сообщение Поделиться на другие сайты
no_poem 0 Опубликовано 15 апреля 2010 Жалоба Рассказать Опубликовано 15 апреля 2010 Пункт 4 не проходит: И как сделать доступ по логину/паролю? Не подумал, что он может запросить логин/пароль Тогда скриптик посложнее будет немного. Для его работы необходимо включить Telnet или SSH Листинг stop.php <?php //Скрипт выключения Synology DiskStation $cfgServer = "localhost"; //адрес сервера, если скрипт лежит на Synology, оставляем localhost $login = "admin"; //логинимся под админом $pass = "password"; //пароль $cfgPort = 23; //порт, telnet - 23, SSH - 22 $cfgTimeOut = 10; $usenet = fsockopen($cfgServer, $cfgPort, $errno, $errstr, $cfgTimeOut); if(!$usenet){ echo "Connexion failed<br>"; exit(); }else{ echo "Connected to DiskStation<br>"; stream_set_timeout($usenet, 2); fputs ($usenet, $login."\r\n"); stream_set_timeout($usenet, 3); fputs ($usenet, $pass."\r\n"); stream_set_timeout($usenet, 3); fputs ($usenet, "poweroff\r\n"); stream_set_timeout($usenet, 5); $j = 0; while ($j<20){ $res=fgets($usenet, 128); echo $res; $j++; flush(); } } fclose($usenet); echo "End.\r\n"; ?> Для перезагрузки меняется fputs ($usenet, "poweroff\r\n"); на fputs ($usenet, "reboot\r\n"); Цитата Ссылка на сообщение Поделиться на другие сайты
no_poem 0 Опубликовано 15 апреля 2010 Жалоба Рассказать Опубликовано 15 апреля 2010 И как сделать доступ по логину/паролю? Если у тебя DiskStation виден только из локалки, то ничего настраивать в принципе не надо больше. Но если он у тебя виден всем, а ты хочешь выключать его только из своей локальной сети, то в каталог со скриптом нужно положить файлик с именем ".htaccess" и содержанием Order Allow, Deny Deny from All Allow from 192.168.1.0 Файл говорит встроенному серверу Apache, что в данный каталог могут заходить только с ip-адресов из диапазона 192.168.1.1-255, если у тебя другой локальный диапазон, то измени соответсвенно строку Allow from 192.168.1.0 Если у тебя DiskStation виден, например, в интернете, то проще вставить авторизацию в сам скрипт. Понадобиться помощь - обращайся - помогу. Цитата Ссылка на сообщение Поделиться на другие сайты
FormatCevt 0 Опубликовано 17 апреля 2010 Автор Жалоба Рассказать Опубликовано 17 апреля 2010 В данном скрипте авторизация на серваке проходит нормально (проверял путем подстановки неправильных данных, ругался на не правильные данные), проблема судя по всему в команде "poweroff". Т.к. пытался через Telnet скомандовать "poweroff"... и тишина... сервак никак не реагирует... В чем может быть засада? З.Ы. Через SSH тоже не удалось запустить данную команду.... тишина... Цитата Ссылка на сообщение Поделиться на другие сайты
no_poem 0 Опубликовано 20 апреля 2010 Жалоба Рассказать Опубликовано 20 апреля 2010 В данном скрипте авторизация на серваке проходит нормально (проверял путем подстановки неправильных данных, ругался на не правильные данные), проблема судя по всему в команде "poweroff". Т.к. пытался через Telnet скомандовать "poweroff"... и тишина... сервак никак не реагирует... В чем может быть засада? З.Ы. Через SSH тоже не удалось запустить данную команду.... тишина... А какая версия прошивки? Стоит ли bootstramp? Что говорит при введении команды по telnet или SSH? Вообще команды из Synology Wiki: http://forum.synology.com/wiki/index.php/B...he_Synology_box Цитата Ссылка на сообщение Поделиться на другие сайты
no_poem 0 Опубликовано 20 апреля 2010 Жалоба Рассказать Опубликовано 20 апреля 2010 Кстати, попробуй изменить логин с admin на root с паролем от пользователя admin. Цитата Ссылка на сообщение Поделиться на другие сайты
PKS 0 Опубликовано 28 октября 2010 Жалоба Рассказать Опубликовано 28 октября 2010 У меня на 110+ под админом не реагирует, выключается по ssh только под рутом. Без натужного моргания лампочек, немного похрюкает и кирдык. Цитата Ссылка на сообщение Поделиться на другие сайты
toleeck 0 Опубликовано 23 октября 2017 Жалоба Рассказать Опубликовано 23 октября 2017 а есть живые в этой теме? Тогда скриптик посложнее будет немного. Для его работы необходимо включить Telnet или SSH Листинг stop.php apache 2.2, php 7.0.21. при переходе на условный stop.php выдаётся ошибка Connected to DiskStation SSH-2.0-OpenSSH_6.8p1-hpn14v6 Protocol mismatch. End. как-то может модернизировать скрипт надо? Цитата Ссылка на сообщение Поделиться на другие сайты
polanat 0 Опубликовано 23 октября 2017 Жалоба Рассказать Опубликовано 23 октября 2017 а есть живые в этой теме? Поскольку предпоследняя (Вашу не считаем) запись в этой теме 7-ми летней давности, то Ваш попрос выглядит риторическим. А посему уточните какой их 4-х перечисленных сценариев решения задачи в названии темы Ваш? PS Если речь идёт о виндовом решении с компа, то мне лично нравится 3-й вариант с командой из-под WinSCP ... Цитата Ссылка на сообщение Поделиться на другие сайты
toleeck 0 Опубликовано 23 октября 2017 Жалоба Рассказать Опубликовано 23 октября 2017 Поскольку предпоследняя (Вашу не считаем) запись в этой теме 7-ми летней давности, то Ваш попрос выглядит риторическим. А посему уточните какой их 4-х перечисленных сценариев решения задачи в названии темы Ваш? вообще интересует возможность тушить dsm get-запросом. приведённый выше php-скрипт вроде бы как раз то что нужно, но при выполнении выдаёт ошибку. Цитата Ссылка на сообщение Поделиться на другие сайты
polanat 0 Опубликовано 23 октября 2017 Жалоба Рассказать Опубликовано 23 октября 2017 вообще интересует возможность тушить dsm get-запросом. приведённый выше php-скрипт вроде бы как раз то что нужно, но при выполнении выдаёт ошибку. При всём уважении - это не самое правильное решение. Поскольку задача php-скрипта все равно передать команду через ssh, то логичнее и органичнее делать это через ssh-клиента на компе. И потом сек'юрнее это делать не по логину и паролю а по ключам ... Но желание аля "нужен точно такой, но с перламутровыми пуговицами!" видимо всё же сильнее Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.