Samba OpenWRT

OpenWrt + внешний HDD + Transmission + Samba 12


О том как подключить внешний -накопитель к роутеру под управлением я уже писал. Однако, сегодня будем использовать для подключения block-mount.

На подключенном внешнем накопителе развернем для скачивания файлов с помощью и для удаленного доступа к скаченным файлам.

Внешний HDD

Предположим что у нас уже есть жесткий диск (/dev/sda) с разделом отформатированным ext4, тогда нам потребуются следующие пакеты

[email protected]:~# opkg update
[email protected]:~# 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

[email protected]:~# /etc/init.d/fstab enable
[email protected]:~# /etc/init.d/fstab start

В итоге должно получиться примерно следующее:

[email protected]:~# 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 довольно объемный пакет, особенно если поставить несколько вариантов интерфейсов к нему, поэтому добавляем внешний накопитель в качестве раздела для установки пакетов.

[email protected]:~# echo dest usb /opt >> /etc/opkg.conf

Transmission daemon

Устанавливаем службу Transmission:

[email protected]:~# opkg -dest usb install transmission-daemon 
[email protected]:~# 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 со своего компьютера можно через простой и удобный веб-интерфейс.

[email protected]:~# opkg -dest usb install transmission-web
[email protected]:~# opkg-link add transmission-web

Скриншоты

ransmission web-ui common transmission web-ui details ransmission web-ui details 2
transmission web-ui details 3 transmission web-ui details 4 transmission web-ui details 5

Transmisson Remote GUI

Помимо веб-интерфеса Transmisson представляет RPC-протокол для удаленного управления. В качестве клиента, например, может выступать кроссплатформенное приложение transmisson-remote-gui.

[email protected]:~# opkg -dest usb install transmission-remote 
[email protected]:~# opkg-link add transmission-remote

Скриншоты

Transmisson Remote GUI Transmisson Remote GUI Transmisson Remote GUI
Transmisson Remote GUI Transmisson Remote GUI Transmisson Remote GUI

Transmisson CLI

Так же стоит упомянуть, что у Transmisson если клиент командной строки:

[email protected]:~# opkg -dest usb install transmission-cli 
[email protected]:~# opkg-link add transmission-cli 

После установки выбранного GUI, запускаем службу.

[email protected]:~# /etc/init.d/transmission enable
[email protected]:~# /etc/init.d/transmission start

Samba

Осталось настроить сервер Samb’ы, чтобы была возможность удаленного доступа к загруженным файлам, а так же, чтобы можно было закидывать torrent-файлы на скачивание без помощи клиента.

[email protected]:~# opkg -dest usb install samba36-server
[email protected]:~# 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'    

Запускаем службу и пробуем обнаружить свой роутер в сети.

[email protected]:~# /etc/init.d/samba enable
[email protected]:~# /etc/init.d/samba start

Samba OpenWRT


12 мыслей про “OpenWrt + внешний HDD + Transmission + Samba

  • Rascal От автора

    Прошивка последняя? Что показывает «ls -l /lib/functions/»?

  • lizer

    делал по инструкции, роутер netgear wndr3800, внешний хдд на 2тб, создал раздел ext4 на 1.5тб.
    стартую фстаб
    [email protected]:~# /etc/init.d/fstab start
    WARNING: /lib/functions/fsck not found

    и после этого ничего не происходит — как будто висит роутер висит. не подскажете куда копать?

  • Rascal От автора

    средство устранения неполадок вам в помощь.

  • Alexandr

    День добрый

    Поставил самбу. настроил как у вас описано.
    при обращении \\192.168.1.2 (это ИП роутера) выдает
    «Разрешение на доступ к \\192.168.1.2 отсутствует. Обратитесь к сис админу»
    В чем беда?

  • Дмитрий

    спс !! за помощь .. создал нового пользователя user , захожу на samba ввожу логин и пароль все работает…но есть одна запинка .. есть папка для transmission в ее закачиваю торренты … при создание нового пользователя user ему не хватает прав что бы удалить файлы …. как можно повысить права доступа ?

    • Rascal От автора

      Думаю наиболее правильным будет поменять опцию:

      option user 'nobody'

      в

      option user 'user'

      после чего поменять права на каталоги из конфига:

      chown -R user: /opt/transmission

      И перезапустить transmission

      • Дмитрий

        При таких маневрах трансмиссион не хочет запускаться … может я чего накосячил

      • Rascal От автора

        Проверьте что права дали на все каталоги прописанные в конфиге, у меня все лежит внутри «/opt/transmission», поэтому я просто рекурсивно дал права на этот каталог:

         ls -l /opt/transmission/ drwxr-xr-x 2 user nogroup 1024 Mar 23 11:24 blocklists drwxr-xr-x 2 user nogroup 1024 Mar 23 11:29 done drwxr-xr-x 2 user nogroup 1024 Mar 23 11:29 incomplete drwxr-xr-x 2 user nogroup 1024 Mar 23 11:24 resume -rw------- 1 user root 2311 Mar 23 11:30 settings.json drwxr-xr-x 2 user nogroup 1024 Mar 23 11:24 torrents 
         ps |grep transmission 3223 user 10324 S /usr/bin/transmission-daemon -g /opt/transmission 
  • Дмитрий

    Привет.. у меня вопрос …как я могу воплотить вход в самбу по паролю для всех пользователей ?

    • Rascal От автора

      Для этого нужно поменять

      option 'guest_ok' 'yes'

      на

      option 'guest_ok' 'no'

      И настроить учетные записи пользователей для доступа к Samba по примеру из wiki.

Комментарии закрыты