«А чего дома сидеть?»

Сетевое хранилище данных DNS-313 работает под управлением Linux, что позволяет заняться хакингом. Для первоночальной установки я использовал пакет с прошивкой DNS-313_fw_A_104b09v2_20100621. Про то как инсталировать его писать не буду, есть в стандартных мануалах на девайс. Далее опишу поцесс установки Bittorrent-клиента (Торрент) на наш девайс.

 

Этап первый - установка набора программ и утилит fun_plug.


Установка fun_plug довольно проста. Загрузите файл fun_plug.tgz и скопируйте его в корень диска, являющегося хранилищем пользовательских данных (в веб-интерфейсе администратора он обозначается как Volume_1). Также загрузите и скопируйте туда небольшой текстовый файл fun_plug (без расширения) предварительно отредактированный мной.

Перезагрузите DNS-313 (используя веб-интерфейс администратора). После перезагрузки устройство должно отвечать на обращение через Telnet. Запустите на компьютере командную строку (cmd.exe) и дайте команду:

telnet

Вы должны увидеть такое приглашение:

/ #

Устройство пустило вас к себе, не запросив ни имени, ни пароля. Это непорядок, который необходимо немедленно устранить. В окне telnet'а даем последовательно команды:
pwconv
passwd (это команда смены пароля, потребуется дважды ввести пароль)
usermod -s /ffp/bin/sh root (смена предопределенной среды; текущая среда - ash)

Теперь можно проверить вход:
login (укажите имя root, а пароль - тот, который вы только что установили)
store-passwd.sh (сохранение пароля в энергонезависимую память)

Теперь можно перейти ко второму этапу.

Этап второй - обеспечение автоматического запуска службы SSH.


Продолжая находиться в окне Telnet'а, выполняем команду:

chmod a+x /ffp/start/sshd.sh (установка разрешения на запуск скрипта службы SSH)
sh /ffp/start/sshd.sh start (собственно, запуск SSH)

 

Придется подождать пару минут пока будут созданы ключи. Не спешите.

После этого сеанс работы через Telnet можно прекратить:

exit

Теперь можно попробовать обратиться к DNS-313 по протоколу SSH (для ПК с Windows рекомендуется клиент PuTTY). Например, так:

putty root@mynasdevice -pw mysecretpassword

Убедившись, что служба SSH работает, можно (в интерфейсе PuTTY) остановить службу telnet:

sh /ffp/start/telnetd.sh stop

... а также запретить ее автоматический запуск после перезагрузки:

chmod a-x /ffp/start/telnetd.sh

Этап третий - установка Bittorrent-клиента Transmission.


К сожалению, в оригинальном виде у DNS-313 отсутствует Bittorrent-клиент. Но этот недостаток вполне поправим - достаточно установить альтернативный клиент - Transmission - используемый штатно на многих популярных Linux-системах.

 

Последнюю версию Transmission можно скачать с сайта http://forum.dsmg600.info

В сеансе работы с SSH, переходим в какой-нибудь каталог диска для хранения данных (например, в корень):

cd /mnt/HD_a2

Выполняем последовательно команды, которые обеспечат загрузку на устройство всех пакетов, необходимых для установки, подставляя после wget скопрованную ссылку на Transmission. Хочу обратить ваше внимание на то, что NAS должен иметь выход в интернет, что бы скачать программы. На момент написания статьи актуальныим был релиз Transmission-2.12-2

 

wget http://kylek.is-a-geek.org:31337/files/Transmission-2.12-2.tgz

 

Следующие ссылки можно использоваь без изменений:

wget http://kylek.is-a-geek.org:31337/files/curl-7.18.1.tgz
wget http://www.inreto.de/dns323/fun-plug/0.5/packages/uclibc-0.9.29-7.tgz


Следующие три команды выполнят установку этих пакетов:

funpkg -i curl-7.18.1.tgz
funpkg -i Transmission-2.12-2.tgz
funpkg -i uclibc-0.9.29-7.tgz


Создаем папки для будущей загрузки файлов, а также устанавливаем на эти папки владельца и разрешения:

cd /mnt/HD_a2
mkdir bittorrent
cd bittorrent
cd /mnt/HD_a2
chown -R nobody:501 bittorrent/
chmod 777 -R bittorrent/


Делаем первый пробный запуск Transmission:

/ffp/start/transmission.sh start

Теперь можно попытаться обратиться к Transmission через веб-браузер:

http://:9091

Как правило, вы должны увидеть следующее сообщение об ошибке:
401: Unauthorized
Unauthorized IP Address.
Either disable the IP address whitelist or add your address to it.
If you’re editing settings.json, see the ‘rpc-whitelist’ and ‘rpc-whitelist-enabled’ entries.
If you’re still using ACLs, use a whitelist instead. See the transmission-daemon manpage for details.

Или же как в моем случае

313_2

Остановите Transmission:

/ffp/start/transmission.sh stop

Чтобы создать конфигурационный файл, необходимо один раз запустить Transmission " в ручном режиме". Это делается следующей командой:

transmission-daemon -f -g /mnt/HD_a2/.transmission-daemon -t -u -v -a *.*.*.*

Вместо и пропишите выбранные вами имя и пароль. После такого запуска вы увидите на экране текст. Если он не содержит сообщений об ошибках, прервите работу Transmission, нажав клавиши Ctrl+C.
Дайте команду:

transmission-daemon -d

В ответ вы должны увидеть что-то вроде этого:

{
"alt-speed-down": 50,
"alt-speed-enabled": false,
"alt-speed-time-begin": 540,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 50,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": false,
"blocklist-url": "http://www.example.com/blocklist",
"cache-size-mb": 2,
"dht-enabled": true,
"download-dir": "/home/root/Downloads",
"encryption": 1,
"idle-seeding-limit": 30,
"idle-seeding-limit-enabled": false,
"incomplete-dir": "/home/root/Downloads",
"incomplete-dir-enabled": false,
"lazy-bitfield-enabled": true,
"lpd-enabled": false,
"message-level": 2,
"open-file-limit": 32,
"peer-limit-global": 240,
"peer-limit-per-torrent": 60,
"peer-port": 51413,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": 0,
"pex-enabled": true,
"port-forwarding-enabled": true,
"preallocation": 1,
"ratio-limit": 2,
"ratio-limit-enabled": false,
"rename-partial-files": true,
"rpc-authentication-required": false,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-password": "",
"rpc-port": 9091,
"rpc-username": "",
"rpc-whitelist": "127.0.0.1",
"rpc-whitelist-enabled": true,
"script-torrent-done-enabled": false,
"script-torrent-done-filename": "",
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"start-added-torrents": true,
"trash-original-torrent-files": false,
"umask": 18,
"upload-slots-per-torrent": 14
}

Настройки содержатся в файле /mnt/HD_a2/.transmission-daemon/settings.json, который можно (и нужно) отредактировать. Для этого остановите Transmission командой:

sh /ffp/start/transmission.sh stop

если в вы видите что процес не может быть остановлен, перезагрузите NAS командой reboot

Далее:

1. Наберите команду vi /mnt/HD_a2/.transmission-daemon/settings.json и нажмите
2. Опускайте курсор вниз клавишей , пока он не окажется в одной строке с
"download-dir": "/home/root/Downloads",
4. Нажмите клавишу i
Символ - в левом нижнем углу окна командной строки изменится на I
5. Сотрите необходимое и впишите (скопируйте/вставьте отсюда), чтобы строка приобрела вид
"download-dir": "/mnt/HD_a2/bittorrent",
6. Нажмите клавишу
Символ I в левом нижнем углу окна командной строки изменится на -
7. Опускайте курсор вниз клавишей «Стрелка вниз», пока он не окажется в одной строке со строкой
"rpc-whitelist-enabled": true,
8. Меняем "rpc-whitelist-enabled": true, на "rpc-whitelist-enabled": false,
9. Нажмите клавишу
Символ I в левом нижнем углу окна командной строки изменится на -
10. Нажмите клавишу :
Символ - в левом нижнем углу окна командной строки изменится на :
11. Наберите wq и нажмите клавишу
Изменения будут сохранены в файле и вы вернетесь к командной строке telnet.


Запуск Transmission осуществляется командой:

sh /ffp/start/transmission.sh start

а останов - командой:

sh /ffp/start/transmission.sh stop

Для автоматического запуска Transmission после включения или перезагрузки DNS-313 поменяйте атрибуты файла запуска:

chmod a+x /ffp/start/transmission.sh

Некоторые настройки вы можете изменять, нажав на пиктограмме с колесиком в веб-интерфейсе Transmission:

http://:9091/transmission/web

Замечание: если после запуска Transmission выдаются сообщения типа "Access denied" или "Invalid folder", выполните команды:


chown -R nobody /mnt/HD_a2/bittorrent
chown -R nobody /mnt/HD_a2/.transmission-daemon

 

Хотя у меня и так все поехало потомучто ранее была дана команда chmod 777 -R bittorrent/

 

Вот вообщемто и все. Далее мы видим в проводнике

313_3

Далее можно удалить зайти на NAS jобычным способом и удалить из корневой директории ненужные инсталяции программ *.tgz.

 

Ну а для более удобного дальнейшего управления клиентом использую програмулину Transmission Remoute rкоторую качаем отсюда http://code.google.com/p/transmission-remote-dotnet/downloads/list

Кроме того, при организации доступа пользователей к директории bittorrent можно пользовать ее по сети средставит windows.