Что такое WebDAV и зачем он нужен в TrueNAS?
Представь, что тебе нужно получить доступ к файлам на твоем NAS из любой точки мира, как к локальному диску. Именно это и предоставляет WebDAV (Web Distributed Authoring and Versioning) — протокол, который расширяет HTTP для работы с файлами. В связке с TrueNAS он превращает твой сервер в мощное облачное хранилище с возможностью редактирования файлов напрямую.
Подготовка TrueNAS к настройке WebDAV
Перед тем как начать webdav truenas настройку, убедись, что у тебя есть:
- Установленная TrueNAS Scale или Core (версии 22.12.4+ или 13.0-U5.1+)
- Созданный Dataset (раздел) для общего доступа
- Пользователь с правами на этот Dataset
- Статический IP или доменное имя для сервера
- SSL-сертификат (рекомендуется для безопасности)
Шаг 1: Создание Dataset для WebDAV
Давай создадим отдельный раздел для WebDAV-доступа:
- Зайди в Datasets → Add Dataset
- Укажи имя:
webdav_share - В ACL Type выбери POSIX (проще для настройки)
- Нажми Submit
Шаг 2: Настройка пользователя и прав
# Создаем пользователя webdav_user (через CLI или GUI)
# Через веб-интерфейс:
# 1. Credentials → Local Users → Add
# 2. Username: webdav_user
# 3. Password: [надежный пароль]
# 4. Home Directory: /mnt/pool/webdav_share
# 5. Группы: web (GID 80)
# Назначаем права на Dataset
chown -R webdav_user:web /mnt/pool/webdav_share
chmod -R 770 /mnt/pool/webdav_share
Настройка WebDAV сервиса в TrueNAS
Теперь перейдем к основной части — webdav truenas конфигурации:
-
Активация сервиса:
- Перейди в Services → WebDAV
- Нажми Configure
-
Основные параметры:
Параметр Значение Описание Protocol HTTPS Всегда используй HTTPS для безопасности Port 443или9800Стандартный 443 или кастомный порт Authentication Type BASIC или DIGEST BASIC проще, DIGEST безопаснее Certificate Выбери SSL-сертификат Обязательно для HTTPS -
Конфигурация Shares:
- Нажми Add в разделе Shares
- Path:
/mnt/pool/webdav_share - Name:
webdav(будет в URL) - Read Only: false (если нужна запись)
- Change User & Group: webdav_user и web
-
Запуск сервиса:
- Вернись в Services → WebDAV
- Включи сервис (переключи тумблер)
- Нажми Start Automatically
Проверка конфигурации
# Проверяем, что сервис запущен
systemctl status webdav
# Смотрим логи для отладки
tail -f /var/log/webdav.log
# Проверяем доступность через curl
curl -k -I https://ваш_сервер:порт/webdav/
# Должна быть строка: HTTP/1.1 401 Unauthorized (это нормально)
Подключение к WebDAV с клиентских устройств
Windows 10/11
- Открой Проводник → Этот компьютер
- Нажми Подключить сетевой диск
- В поле "Папка" введи:
https://ваш_сервер:порт/webdav - Нажми Готово и введи логин/пароль
http:// только в локальной сети.
Linux (Ubuntu/Debian)
# Установка davfs2 (если нет)
sudo apt install davfs2
# Монтирование
sudo mount -t davfs \
https://ваш_сервер:порт/webdav \
/mnt/webdav \
-o uid=ваш_пользователь,gid=ваша_группа
# Для автоматического монтирования через /etc/fstab
https://ваш_сервер:порт/webdav /mnt/webdav davfs \
_netdev,noauto,user,rw,uid=1000,gid=1000 0 0
macOS
- В Finder нажми Go → Connect to Server (Cmd+K)
- Введи:
https://ваш_сервер:порт/webdav - Выбери Registered User и введи данные
- Нажми Connect
Android (через Solid Explorer или Mixplorer)
- Установи файловый менеджер с поддержкой WebDAV
- Добавь новое хранилище → WebDAV
- Сервер:
ваш_сервер, Порт:порт - Путь:
/webdav, SSL: включено - Сохрани и подключись
Продвинутая настройка и безопасность
Настройка Nginx как Reverse Proxy
Для лучшей производительности и безопасности настрой Nginx:
server {
listen 443 ssl;
server_name webdav.ваш_домен;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
client_max_body_size 10G; # Для больших файлов
location / {
proxy_pass https://localhost:9800;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebDAV-specific headers
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
create_full_put_path on;
}
}
Ограничение доступа по IP
# Через iptables (если не используешь фаервол TrueNAS)
iptables -A INPUT -p tcp --dport 9800 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 9800 -j DROP
# Или через настройки сети TrueNAS:
# Network → Firewall → Add Rule
# Source: 192.168.1.0/24, Port: 9800, Action: ALLOW
Мониторинг и логи
# Просмотр активных подключений
ss -tlnp | grep :9800
# Мониторинг трафика
iftop -i eth0 -f 'port 9800'
# Анализ логов в реальном времени
tail -f /var/log/nginx/webdav_access.log | grep -v 'OPTIONS\|PROPFIND'
Типичные проблемы и решения
Проблема: "Доступ запрещен" (403 Forbidden)
Решение:
- Проверь права на Dataset:
ls -la /mnt/pool/webdav_share - Убедись, что пользователь webdav_user имеет доступ
- Проверь ACL:
getfacl /mnt/pool/webdav_share
Проблема: Медленная скорость передачи
Решение:
- Увеличь
client_max_body_sizeв Nginx - Проверь сетевую карту:
ethtool eth0 | grep Speed - Отключи антивирус на клиенте для теста
- Используй проводное подключение вместо Wi-Fi
Проблема: Не работает запись файлов
Решение:
- В настройках Share установи Read Only: false
- Проверь квоты Dataset
- Убедись, что на диске есть свободное место
Альтернативы WebDAV в TrueNAS
| Протокол | Плюсы | Минусы | Когда выбирать |
|---|---|---|---|
| WebDAV | Кроссплатформенность, работает через HTTP/S | Медленнее чем SMB/NFS | Доступ из интернета, мобильные устройства |
| SMB/CIFS | Высокая скорость, интеграция с Windows | Проблемы с безопасностью в WAN | Локальная сеть, Windows-клиенты |
| NFS | Максимальная производительность | Сложная настройка прав | Linux/Unix среды, виртуализация |
| SFTP | Высокая безопасность, SSH туннель | Нет монтирования как диск | Передача файлов, резервное копирование |
Часто задаваемые вопросы (FAQ)
Можно ли использовать WebDAV без SSL?
Технически — да, но крайне не рекомендуется. Без SSL все данные, включая логины и пароли, передаются в открытом виде. Если используешь в локальной сети и абсолютно уверен в её безопасности, можешь временно отключить SSL для отладки.
Какой максимальный размер файла поддерживает WebDAV в TrueNAS?
Ограничения зависят от нескольких факторов:
- Файловая система ZFS: теоретически до 16 EiB
- Настройки WebDAV: по умолчанию 1GB, но можно увеличить
- Клиентские ограничения: Windows имеет свои лимиты
- Рекомендуемый максимум для стабильной работы: 4GB
Почему WebDAV медленнее чем SMB?
WebDAV работает поверх HTTP, что добавляет оверхед. Каждый запрос оборачивается в HTTP-заголовки. Для увеличения скорости:
- Используй HTTP/2 (если клиент поддерживает)
- Включи сжатие в Nginx:
gzip on; - Увеличь размер буферов:
proxy_buffers 16 32k; - Используй проводное подключение
Как сделать резервное копирование через WebDAV?
Используй rclone — лучший инструмент для синхронизации с WebDAV:
# Установка rclone
curl https://rclone.org/install.sh | sudo bash
# Настройка WebDAV в rclone
rclone config
# Выбери "webdav"
# URL: https://ваш_сервер:порт
# Vendor: Other
# User/Pass: ваши_данные
# Синхронизация папки
rclone sync /home/user/documents webdav_remote:documents
# Автоматизация через cron
crontab -e
# Добавь: 0 2 * * * rclone sync /backup webdav_remote:backup
Можно ли использовать несколько WebDAV shares?
Да, TrueNAS поддерживает несколько shares. Просто добавь новые пути в конфигурации WebDAV. Каждый share будет доступен по своему URL:
https://server/webdav_docs— для документовhttps://server/webdav_media— для медиаhttps://server/webdav_backup— для бэкапов
Назначай разные права доступа для каждого share через отдельных пользователей.
Заключение
Настройка WebDAV в TrueNAS открывает мощные возможности для удаленного доступа к файлам. Ты теперь знаешь не только базовую конфигурацию, но и продвинутые техники безопасности, оптимизации и отладки. Помни главные правила:
- Всегда используй HTTPS с валидным сертификатом
- Ограничивай доступ по IP при работе в интернете
- Регулярно обновляй TrueNAS и мониторь логи
- Тестируй восстановление из бэкапов
- Для критичных данных используй дополнительное шифрование
WebDAV — это не просто протокол, это мост между твоим NAS и остальным миром. Настроив его правильно, ты получаешь надежное, безопасное и удобное файловое хранилище, доступное с любого устройства в любой точке мира.