О том как подключить внешний USB-накопитель к роутеру под управлением OpenWRT я уже писал. Однако, сегодня будем использовать для подключения block-mount.
На подключенном внешнем накопителе развернем Transmission для скачивания файлов с помощью bittorent и Samba для удаленного доступа к скаченным файлам.
Внешний HDD
Предположим что у нас уже есть жесткий диск (/dev/sda) с разделом отформатированным ext4, тогда нам потребуются следующие пакеты
root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install block-mount kmod-fs-ext4
Добавляем секцию в файл /etc/config/fstab
config mount
option target /opt
option device /dev/sda1
option fstype ext4
option options rw,relatime,data=ordered
option enabled 1
option enabled_fsck 1
Активируем fstab
root@OpenWrt:~# /etc/init.d/fstab enable
root@OpenWrt:~# /etc/init.d/fstab start
В итоге должно получиться примерно следующее:
root@OpenWrt:~# df -h
Filesystem Size Used Available Use% Mounted on
rootfs 3.3M 1.8M 1.4M 56% /
/dev/root 2.0M 2.0M 0 100% /rom
tmpfs 30.1M 1.9M 28.3M 6% /tmp
tmpfs 512.0K 0 512.0K 0% /dev
/dev/mtdblock4 3.3M 1.8M 1.4M 56% /overlay
overlayfs:/overlay 3.3M 1.8M 1.4M 56% /
/dev/sda1 465.3G 7.0G 435.0G 2% /opt
Transmission довольно объемный пакет, особенно если поставить несколько вариантов интерфейсов к нему, поэтому добавляем внешний накопитель в качестве раздела для установки пакетов.
root@OpenWrt:~# echo dest usb /opt >> /etc/opkg.conf
Transmission daemon
Устанавливаем службу Transmission:
root@OpenWrt:~# opkg -dest usb install transmission-daemon
root@OpenWrt:~# opkg-link add transmission-daemon
Все настройки Transmission находятся в файле /etc/config/transmission, они довольно понятны, основные из них:
option enabled 1
option config_dir '/opt/transmission'
option user 'nobody'
option download_dir '/opt/transmission/done'
option encryption 0
option incomplete_dir '/opt/transmission/incomplete'
option peer_port 51413
option peer_port_random_on_start false
option preallocation 1
option prefetch_enabled true
option rename_partial_files true
option rpc_authentication_required false
option rpc_bind_address '0.0.0.0'
option rpc_enabled true
option rpc_password ''
option rpc_port 9091
option rpc_url '/transmission/'
option rpc_username ''
option rpc_whitelist '127.0.0.1,192.168.*'
option rpc_whitelist_enabled true
option watch_dir_enabled true
option watch_dir '/opt/transmission/watch'
Служба установлена, но, сама по себе, даже учитывая watch_dir, она не очень удобна для использования. У нас на выбор есть три варианта интерфейса к transmission-daemon.
Transmisson Web-UI
Управлять Transmisson со своего компьютера можно через простой и удобный веб-интерфейс.
root@OpenWrt:~# opkg -dest usb install transmission-web
root@OpenWrt:~# opkg-link add transmission-web
Скриншоты
Transmisson Remote GUI
Помимо веб-интерфеса Transmisson представляет RPC-протокол для удаленного управления. В качестве клиента, например, может выступать кроссплатформенное приложение transmisson-remote-gui.
root@OpenWrt:~# opkg -dest usb install transmission-remote
root@OpenWrt:~# opkg-link add transmission-remote
Скриншоты
Transmisson CLI
Так же стоит упомянуть, что у Transmisson если клиент командной строки:
root@OpenWrt:~# opkg -dest usb install transmission-cli
root@OpenWrt:~# opkg-link add transmission-cli
После установки выбранного GUI, запускаем службу.
root@OpenWrt:~# /etc/init.d/transmission enable
root@OpenWrt:~# /etc/init.d/transmission start
Samba
Осталось настроить сервер Samb’ы, чтобы была возможность удаленного доступа к загруженным файлам, а так же, чтобы можно было закидывать torrent-файлы на скачивание без помощи клиента.
root@OpenWrt:~# opkg -dest usb install samba36-server
root@OpenWrt:~# opkg-link add samba36-server
Приведенный ниже конфигурационный файл /etc/config/samba предоставляет полный доступ к двум каталогам без авторизации и может использоваться только в безопасной домашней сети.
config samba
option 'name' 'DIR-825'
option 'workgroup' 'WORKGROUP'
option 'description' 'OpenWrt'
option 'homes' '0'
config 'sambashare'
option 'name' 'Done'
option 'path' '/opt/transmission/done'
option 'guest_ok' 'yes'
option 'create_mask' '0777'
option 'dir_mask' '0777'
option 'read_only' 'no'
config 'sambashare'
option 'name' 'Watch'
option 'path' '/opt/transmission/watch'
option 'guest_ok' 'yes'
option 'create_mask' '0777'
option 'dir_mask' '0777'
option 'read_only' 'no'
Запускаем службу и пробуем обнаружить свой роутер в сети.
root@OpenWrt:~# /etc/init.d/samba enable
root@OpenWrt:~# /etc/init.d/samba start
12 комментариев “OpenWrt + внешний HDD + Transmission + Samba”
Прошивка последняя? Что показывает «ls -l /lib/functions/»?
делал по инструкции, роутер netgear wndr3800, внешний хдд на 2тб, создал раздел ext4 на 1.5тб.
стартую фстаб
root@OpenWrt:~# /etc/init.d/fstab start
WARNING: /lib/functions/fsck not found
и после этого ничего не происходит — как будто висит роутер висит. не подскажете куда копать?
средство устранения неполадок вам в помощь.
День добрый
Поставил самбу. настроил как у вас описано.
при обращении \\192.168.1.2 (это ИП роутера) выдает
«Разрешение на доступ к \\192.168.1.2 отсутствует. Обратитесь к сис админу»
В чем беда?
спс !! за помощь .. создал нового пользователя user , захожу на samba ввожу логин и пароль все работает…но есть одна запинка .. есть папка для transmission в ее закачиваю торренты … при создание нового пользователя user ему не хватает прав что бы удалить файлы …. как можно повысить права доступа ?
Думаю наиболее правильным будет поменять опцию:
option user 'nobody'
в
option user 'user'
после чего поменять права на каталоги из конфига:
chown -R user: /opt/transmission
И перезапустить transmission
При таких маневрах трансмиссион не хочет запускаться … может я чего накосячил
Проверьте что права дали на все каталоги прописанные в конфиге, у меня все лежит внутри «/opt/transmission», поэтому я просто рекурсивно дал права на этот каталог:
Большое спс.. помогло ..
Привет.. у меня вопрос …как я могу воплотить вход в самбу по паролю для всех пользователей ?
Для этого нужно поменять
option 'guest_ok' 'yes'
на
option 'guest_ok' 'no'
И настроить учетные записи пользователей для доступа к Samba по примеру из wiki.
спс … сейчас попробую