- PVSM.RU - https://www.pvsm.ru -

DLink DNS-325 – подключаем через WebDav облачные хранилища

Помнится, давным-давно писал я статью о замечательных возможностях по расширению функциональности NAS’а DNS-325 [1], и посетовал в статье, что, мол, не выходит, блин, завести на нем WebDAV для подключения, например, Яндекс.Диска. Но недавно это в некотором роде получилось, с помощью wwwalex [2], подсказавшего финт с редактированием исходников. Подробности под катом!

Важно. Подразумевается, что у вас уже установлен и настроен fun_plug, если нет – смотрите мою первую статью [3].

  1. Первым делом – обновляем библиотеки и устанавливаем важные приложения
    ipkg update
    ipkg install neon gcc optware-devel
    

  2. Далее – скачиваем и распаковываем в любую директорию на NAS’е davfs2, на момент написания статьи это версия 1.4.7
    wget http://mirrors.zerg.biz/nongnu/davfs2/davfs2-1.4.7.tar.gz
    tar -xzf davfs2-1.4.7.tar.gz
    

  3. Далее делаем очень жесткую и опасную вещь – правим исходники приложения, отключая проверку на верность сертификата сервера. На самом деле, можно так не делать, а скачать соответствующий сертификат для каждого сервиса, после чего подключить его, следить за его обновлениями… Но я не придумал, как сделать это с минимумом проблем, а по сему идем по пути наименьшего сопротивления.
    Редактировать мы будем файл src/webdav.c, а конкретно – последнюю строчку в функции ssl_verify меняя return ret на return 0
    DLink DNS 325 – подключаем через WebDav облачные хранилища
    DLink DNS 325 – подключаем через WebDav облачные хранилища

  4. Компилируем и устанавливаем webdav2
    ./configure --prefix=/opt --with-neon=/opt && make && make install
    

  5. Установили. Теперь через веб интерфейс NASа создаем пользователя davfs2 и группу пользователей davfs2
    groupadd davfs2
    useradd -g davfs2 davfs2
    

  6. Настраиваем параметры в файле /opt/etc/davfs2/davfs2.conf
    В частности, ставим ask_auth 0

    DLink DNS 325 – подключаем через WebDav облачные хранилища

    И cache_dir, например /mnt/HD/HD_a2/cache_webdav2
    (главное – не забыть создать папку cache_webdav2 и дать на неё права пользователю davfs2)

    DLink DNS 325 – подключаем через WebDav облачные хранилища

  7. Прописываем логин и пароль к нужному сервису, для примера – Яндекс.диска в файле /opt/etc/davfs2/secrets
    в виде

    удаленный_адрес		LOGIN		ПАРОЛЬ
    

    DLink DNS 325 – подключаем через WebDav облачные хранилища

  8. Теперь мы можем монтировать винт, например, такой командной
    /sbin/mount.davfs https://webdav.yandex.ru /mnt/HD/HD_a2/yandex
    

    Причем папку /mnt/HD/HD_a2/yandex предварительно нужно создать (и дать на неё права соответствующему пользователю).

  9. Отключить хранилище можно командой
    /sbin/umount.davfs /mnt/HD/HD_a2/yandex
    

    Результат:
    DLink DNS 325 – подключаем через WebDav облачные хранилища

    DLink DNS 325 – подключаем через WebDav облачные хранилища

И вот казалось бы, светлое будущее настало, файлы с яндекс.диска в папке видны, пятилетку в 3 года и никто не уйдёт обиженным? Не совсем. Чтение файлов происходит нормально. А вот запись больших файлов или большого количество небольших идет примерно так:

  1. Файл быстро-быстро копируется во временную папку
  2. Процесс webdav2 перестаёт отзываться. Теперь зайти в папки с подмонтированными удаленными хранилищами нельзя (можно, но виснет при попытке получить список файлов).

При этом реально процесс на фоне работает, и когда файлы таки будут загружены в хранилище – подмонтированные хранилища начнут отзываться. Возможно, я чего-то не понял, или нужно поиграться с какими-то параметрами. Подобная проблема всплывает и на форумах, но полноценного решения её я не нашел.
Впрочем, есть отзывы и такие, что процесс зависает намертво, т.е. ничего не загружает. Правда, сам на это не наталкивался.

Ссылки

Автор: Newbilius

Источник [5]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/34116

Ссылки в тексте:

[1] расширению функциональности NAS’а DNS-325: http://habrahabr.ru/post/155557

[2] wwwalex: http://habrahabr.ru/users/wwwalex/

[3] смотрите мою первую статью: http://habrahabr.ru/post/155557/

[4] Оригинальная немецкая статья про WebDav для NASов: http://www.synology-wiki.de/index.php/WebDAV-Speicher_mithilfe_von_davfs2_direkt_in_die_DS_einbinden

[5] Источник: http://habrahabr.ru/post/179323/