Представь, что твой TrueNAS сервер находится дома или в офисе, а тебе нужен безопасный доступ к его веб-интерфейсу, SMB/NFS шарам или приложениям из любой точки мира. Традиционные методы — проброс портов, динамический DNS — несут риски безопасности и сложны в настройке. Давай разберем современное решение: Tailscale — Zero Trust VPN на основе WireGuard, который превращает твой TrueNAS в часть защищенной приватной сети.
Что такое Tailscale и зачем он нужен на TrueNAS?
Tailscale — это сервис, который создает безопасную mesh-сеть между твоими устройствами. Он использует протокол WireGuard под капотом, но избавляет от ручного обмена ключами и настройки маршрутизации. Все управляется через удобный веб-интерфейс.
• Без открытия портов на роутере (NAT traversal)
• Сквозное шифрование между всеми устройствами
• Простая авторизация через Google, GitHub, SSO
• Бесплатный план для личного использования (до 100 устройств)
• Работает на TrueNAS Scale и TrueNAS Core
Сравнение методов удаленного доступа
| Метод | Безопасность | Сложность | Портфорвардинг |
|---|---|---|---|
| Прямой проброс портов | Низкая | Средняя | Требуется |
| Cloudflare Tunnel | Высокая | Средняя | Не требуется |
| Tailscale VPN | Максимальная | Низкая | Не требуется |
Подготовка: что нужно перед установкой
- Аккаунт Tailscale: зарегистрируйся на tailscale.com (можно через Google/GitHub)
- Доступ к TrueNAS: локальный или через существующий VPN
- TrueNAS версии: Scale 22.12+ или Core 13.0+ (рекомендуется)
- Административные права на сервере
Метод 1: Установка Tailscale на TrueNAS Scale (через приложения)
Это самый простой способ для TrueNAS Scale, использующий официальный контейнер Tailscale.
Шаг 1: Настройка официального каталога
- В веб-интерфейсе TrueNAS перейди в «Apps» → «Manage Catalogs»
- Нажми «Add Catalog»
- Заполни поля:
- Catalog Name: truecharts
- Repository: https://github.com/truecharts/catalog
- Branch: main
- Preferred Trains: enterprise
- Нажми «Save» и дождись синхронизации
Шаг 2: Установка приложения Tailscale
- В «Apps» нажми «Available Applications»
- Найди «Tailscale» в списке (используй поиск)
- Нажми «Install»
Шаг 3: Конфигурация приложения
В настройках установки обрати внимание на ключевые параметры:
# Основные настройки в интерфейсе:
Host Network: ВКЛЮЧИТЬ (обязательно!)
Advertise Routes: 192.168.1.0/24 (твоя локальная сеть, если нужно)
Auth Key: tskey-... (получи в панели Tailscale)
Extra Args: --accept-routes --accept-dns
Чтобы получить Auth Key:
- Зайди в панель Tailscale
- Нажми «Generate auth key»
- Выбери «Reusable» и «Ephemeral» (опционально)
- Скопируй ключ начинающийся с
tskey-
Шаг 4: Запуск и проверка
- Нажми «Save» для установки приложения
- Дождись запуска контейнера (2-3 минуты)
- Проверь в панели Tailscale появление нового устройства с именем типа
truenas-tailscale-... - Нажми «...» → «Edit route settings» на устройстве TrueNAS
- Разреши субнет-роуты если нужно (для доступа к локальной сети через TrueNAS)
Метод 2: Установка на TrueNAS Core (FreeBSD) через CLI
Для TrueNAS Core установка происходит через командную строку и пакетный менеджер.
Шаг 1: Подключение к TrueNAS через SSH
# Подключение с твоего компьютера
ssh root@truenas.local
# или используй веб-интерфейс TrueNAS: System → Shell
Шаг 2: Установка пакета Tailscale
# Обновление репозиториев
pkg update
# Установка Tailscale
pkg install tailscale
# Включение службы в автозагрузку
sysrc tailscaled_enable="YES"
Шаг 3: Запуск и аутентификация
# Запуск демона
service tailscaled start
# Аутентификация (используй свой auth key)
tailscale up --authkey=tskey-xxxxxxxxxxxx --accept-routes --accept-dns --advertise-routes=192.168.1.0/24
# Проверка статуса
tailscale status
Настройка доступа к сервисам TrueNAS через Tailscale
После подключения TrueNAS к Tailscale, у тебя есть два варианта доступа:
Вариант A: Прямой доступ по Tailscale IP
- В панели Tailscale найди свое устройство TrueNAS
- Скопируй его Tailscale IP (начинается с 100.x.x.x)
- Используй этот IP для доступа:
- Веб-интерфейс: https://100.x.x.x
- SMB: \\100.x.x.x\share_name
- SSH: ssh root@100.x.x.x
Вариант B: Использование MagicDNS
Tailscale автоматически создает DNS имена для всех устройств:
# Имя устройства будет:
# [имя-устройства].[твой-логин].tailscale.net
# Пример:
truenas-nas.alex.tailscale.net
# Проверка DNS
nslookup truenas-nas.alex.tailscale.net
Теперь можешь использовать это имя вместо IP:
- https://truenas-nas.alex.tailscale.net
- \\truenas-nas.alex.tailscale.net\share
Настройка субнет-роутов (опционально)
Если ты хочешь, чтобы другие устройства в Tailscale могли достигать ВСЮ твою домашнюю сеть через TrueNAS:
- В панели Tailscale зайди в настройки устройства TrueNAS
- Включи «Subnet routes» для твоей сети (например, 192.168.1.0/24)
- На других устройствах Tailscale выполни:
bash
# Linux/Mac tailscale up --accept-routes # Windows (PowerShell) Tailscale.exe --accept-routes - Теперь с ноутбука в кафе ты можешь обращаться к 192.168.1.5 (твой принтер) как будто ты в локальной сети
Решение проблем и отладка
Проблема 1: Tailscale не запускается на TrueNAS Scale
# Проверь логи приложения
k3s kubectl logs -n ix-tailscale deployment/tailscale
# Частая ошибка: нет доступа к /dev/net/tun
# Решение: в настройках приложения включи "Host Network"
Проблема 2: Нет доступа к веб-интерфейсу
- Проверь, что веб-интерфейс TrueNAS слушает на всех интерфейсах (0.0.0.0)
- В System Settings → General → GUI убедись, что нет ограничений по IP
- Попробуй подключиться по HTTP вместо HTTPS (или наоборот)
Проблема 3: Медленная скорость
- Tailscale использует прямые P2P соединения когда возможно
- Если прямой путь заблокирован (симметричный NAT, строгий фаервол), трафик идет через DERP-серверы
- Проверь:
tailscale ping 100.x.x.x— покажет путь соединения - Для улучшения скорости можно настроить собственный DERP-сервер
Полезные команды для диагностики
# Проверка статуса (на TrueNAS)
tailscale status
# Диагностика сети
tailscale netcheck
# Пинг через Tailscale
tailscale ping 100.x.x.x
# Просмотр маршрутов
tailscale routes
# Перезапуск Tailscale
service tailscaled restart # Core
k3s kubectl rollout restart -n ix-tailscale deployment/tailscale # Scale
Расширенные сценарии использования
Сценарий 1: Резервное копирование между TrueNAS серверами
Представь, что у тебя два TrueNAS в разных локациях. С Tailscale они видят друг друга как в одной сети:
# На основном сервере настраиваешь репликацию ZFS
# Используешь Tailscale IP вместо публичных адресов
# В задании репликации:
Source: 100.101.102.103
Destination: 100.104.105.106
# Весь трафик зашифрован WireGuard
Сценарий 2: Доступ к приложениям TrueNAS Scale
Установленные через Apps приложения (Nextcloud, Plex, etc.) можно сделать доступными:
- Настрой приложение на использование Cluster IP или LoadBalancer
- Используй Tailscale IP TrueNAS + порт приложения
- Либо настрой Tailscale Exit Node и выходи в интерфайс через TrueNAS
Сценарий 3: TrueNAS как Exit Node (выходной узел)
Можешь направить весь интернет-трафик других устройств через TrueNAS:
# На TrueNAS разреши Exit Node
tailscale up --advertise-exit-node
# В панели Tailscale: устройство → ... → Enable exit node
# На клиенте (например, ноутбуке):
tailscale up --exit-node=100.x.x.x
# Теперь весь твой трафик идет через TrueNAS
# Полезно для безопасного использования публичных Wi-Fi