NAS. Доступное по сети файловое хранилище, место слива бэкапов, возможность хранить необходимые данные в одном месте. Но ведь не только! Сегодня мы будем награждать наш DNS-325 новыми фичами. Владельцы девайсов той же серии (например, DNS-320, DNS-345, DNS-346) тоже не уйдут обиженными. Под катом более десятка фото и скриншотов, будьте бдительны!
Почему именно этот NAS? Во-первых, он имеет достаточно приличные характеристики: практически бесшумное охлаждение, 2 диска с интерфейсом SATA2 (3 диска нужно далеко не каждому, 1 диск — маловато будет), 1.2 Ггц процессор и 256 RAM. Кроме того, на нем установлен самый себе настоящий linux, а значит можно заставить его делать почти что угодно! Заранее хочу предупредить — я не очень опытный пользователь linux, так что если где-то намудрил с терминологией, о чем то забыл или добавил лишний шаг — буду рад замечаниям!
- Формат файловой системы — EXT3. Без вариантов. Если у вас другая — придется переформатировать, NAS умеет это делать самостоятельно.
- Формат файловой системы USB-винтов и флешек — как EXT3, так и FAT/NTFS.
- Скрипты для управления Осью ставятся на первый винт (Volume1), если вы смотрите на NAS — он будет справа.
После создания директорий — создаем пользователей.
Там же на ходу указываем, какой пользователю нужен доступ, кроме SMB (стандартный для windows доступ к директориям) — например, FTP.
- Итак, во-первых, заливаем на первый винчестер файлик fun_plug (http://wolf-u.li/u/433) и fun_plug.tgz (http://inreto.de/dns323/fun-plug/0.7/arm/fun_plug.tgz)
- Перезагружаем NAS — теперь мы можем подключаться по telnet. Подключаемся по имени или адресу — без пароля!
- Устанавливаем root'овый пароль
usermod -s /ffp/bin/sh root mkdir -p /ffp/home/root/ sed -ie 's#:/home/root:#:/ffp/home/root:#g' /etc/passwd pwconv
Если появятся ошибки '«usermod»: «usermod: no changes»' или '«pwconv»: «pwconv: failed to change the mode of /etc/passwd- to 0600»' — просто игнорируйте их.
passwd
Вводим новый пароль.
login
Вводим логин root и ваш пароль — получаем в ответ сообщение «no mail». Следующие действия необходимы для сохранения пароля:
wget http://wolf-u.li/u/172/ -O /ffp/sbin/store-passwd.sh store-passwd.sh
Активируем SSH
chmod a+x /ffp/start/sshd.sh sh /ffp/start/sshd.sh start
А теперь — подключаемся в другом окне по SSH, отвечаем утвердительно на вопрос о сохранении ключа, и если всё прошло гладко — отключаем автостарт telnet-сервиса в первом окне:
chmod -x /ffp/start/telnetd.sh
Подготовка завершена — теперь у вас есть полноценный доступ и полный контроль над системой. Если же вдруг внезапно вам понадобится удалить fun_plug, то
- Удаляем файл в корне fun_plug
- Перезагружаемся
- Удаляем директорию ffp
- Добавляем дополнительные репозитории
echo "mijzelf http://downloads.zyxel.nas-central.org/Users/Mijzelf/FFP-Stick/packages/0.7/arm" >> /ffp/etc/funpkg/sites echo "memiks http://ffp.memiks.fr/pkg" >> /ffp/etc/funpkg/sites echo "kylek http://kylek.is-a-geek.org:31337/files/ffp/0.7-arm" >> /ffp/etc/funpkg/sites
- Устанавливаем Optware
wget http://wolf-u.li/u/233 -O /ffp/start/optware.sh chmod a+x /ffp/start/optware.sh /ffp/start/optware.sh start
После этих действий рекомендую перелогинитья. Теперь вы можете работать с репозиториями двумя путями:
- Через slacker. Достаточно удобен за счет полноценного визуального интерфейса в текстовом режиме.
slacker -U<br/>
обновить информацию о доступных программах
slacker -i
установить программу (выбрать в визуальном интерфейсе нужную)
slacker -r
удалить программу (выбрать в визуальном интерфейсе нужную)
- Через ipkg. Команды:
ipkg update
обновить информацию о доступных программах
ipkg upgrade
обновить установленные программы
ipkg install [название программы]
установить программу
ipkg info [название программы]
получить информацию о программе. В названии можно использовать шаблоны, например, «scree*»
ipkg remove [название программы]
удалить программу.
- Изначально у меня постоянно были проблемы с русскими буквами, расцветкой, управлением клавишами курсорными (выбирайте любые 2, а то и 3), но таки был выработан следующий алгоритм. Собственно, устанавливаем:
ipkg install pcre glib e2fsprogs slang libpng mc
- Создаем скрипт с именем mc.sh (ну или любым другим) в папке /ffp/etc/profile.d/ со следующим содержимым:
#!/ffp/bin/sh export TERM="xterm" export TERMINFO="/ffp/share/terminfo" export LANG="en_US.utf8"
- Выполняем команду
chmod a+x /ffp/etc/profile.d/mc.sh
После чего перелогинимся.
- Теперь можете запускать коммандер командой
mc
И у вас будет и поддержка русских имен файлов, и нормальное управление клавишами. Если есть таки проблема с русскими именами — идем вот в это меню и всё будет хорошо:
- Устанавливаем
ipkg install screen
- Создаем скрипт с именем screen.sh (ну или любым другим) в папке /ffp/etc/profile.d/ и следующим содержимым:
#!/ffp/bin/sh alias screen="screen -U"
Это необходимо для автоматического запуска screen'а в UTF8 режиме. Перелогинимся.
Теперь — как им пользоваться.
screen — запустить экран
screen -R — вернуться в последний запущенный экран. Если экранов несколько — будет выдан список, начинающихся с номеров — переход в конкретный экран идет командой screen -R [номер].
ctrl+a D — выйти из экрана, не закрывая его (отцепиться от окна)
ctrl+a k — закрыть текущее окно
- Выполняем команду
slacker -i
выбираем transmission и curl, после нажимаем «ok».
- Выполняем следующие команды
chown -R nobody /mnt/HD/HD_a2/torrent mkdir /ffp/var/transmission mkdir /ffp/var/transmission/incomplete chown -R nobody /ffp/var/transmission
- Теперь редактируем файл /ffp/start/transmission.sh, меняем путь на такой:
TRANSMISSION_HOME=/ffp/var/transmission
- Выполняем команду для первого запуска и инициализации конфига:
su nobody -c "transmission-daemon -f -g /ffp/var/transmission -w /mnt/HD/HD_a2/torrent -t -u admin -v password -a 127.0.0.1,192.168.*.*"
Где admin — ваше имя пользователя для работы с веб-интерфейсом, password — пароль для него же, 127.0.0.1,192.168.*.* — перечень IP, с которых можно будет войти в веб-интерфейсПодождите запуска, после чего завершите работу системы нажатием CTRL+C.
- Далее — настраиваем. Для этого отредактируем файлик /ffp/var/transmission/settings.json
Наиболее интересные для нас строки:"incomplete-dir": "/ffp/var/transmission/incomplete",
Директория для недокачанных файлов
"incomplete-dir-enabled": true,
Хранить недокачанные файлы в данной директории
"peer-port": 11000, "peer-port-random-high": 11999, "peer-port-random-low": 11001,
Порты для скачивания и отдачи.
"rpc-port": 9091,
Порт, по которому будет доступен веб интерфейс. Например, в данном случае он будет работать по адресу http://192.168.0.200:9091 изнутри сети
"rpc-whitelist": "127.0.0.1,192.168.*.* "
Сделать доступным веб-интерфейс только с этих IP
"rpc-whitelist-enabled": true,
Включить ограничение доступа к панели управления по IP.
- Завершаем установку:
chown -R nobody /ffp/var/transmission chmod a+x /ffp/start/transmission.sh /ffp/start/transmission.sh start
Плюс не забудьте прокинуть наружу порты, в моём DIR-615 настройки выглядят так:
- UPnP сервер автоматически не реиндексирует файлы — нужно делать это вручную.
- Не удалось скомпилировать davfs2 или иной сервис/утилиту для работы c WebDav. Точнее, оно конечно компилируется, при запуске — просит логин, пароль, уточняет, уверены ли мы… После чего падает. Молча. Соответственно, не удаётся по WebDav монтировать облачные хранилища вроде Dropbox или Яндекс.диска.
- Внешние USB-носители подключаются с правами «все всем можно». Ограничить нельзя.
- При работе изнутри screen'а не работают клавишы PageUp/PageDown (вместо них набираются буквы)
Возможно, Хабросообщество поможет с данными проблемами мне и другим будущим/нынешним владельцам данного устройства
- Тактико-технические характеристики, вроде процессора, вывода /proc/cpuinfo и т.п. — http://dns323.kood.org/dns-325
- Описание DNS-325 с сайта D-Linkа — http://dlink.ru/ru/products/120/1400_b.html
- Подробная инструкция по использованию fun_plug (на английском) — http://bernaerts.dyndns.org/dns325
- Обсуждение NAS D-Link ShareCenter Pulse DNS-320 на форуме iXBT — http://forum.ixbt.com/topic.cgi?id=11:43076
- Сборка davfs2 на ARM-девайсе (на немецком) — http://www.synology-wiki.de/index.php/WebDAV-Speicher_mithilfe_von_davfs2_direkt_in_die_DS_einbinden
- Монтирование облачных дисков через Webdav — http://wl500g.info/showthread.php?24669-DropBox-Client-%E4%EB%FF-%F0%EE%F3%F2%E5%F0%E0-Asus&p=249071#post249071
- Инструкция по использованию screen'а -http://xgu.ru/wiki/man:screen
Автор: Newbilius