TrueNAS удаленный доступ: настройка SSH, VPN, Cloud Sync | Гайд 2024 | AdminWiki

TrueNAS удаленный доступ: полное руководство по настройке и безопасности

26 января 2026 9 мин. чтения #nas #self-hosted #ssh #truenas #vpn #безопасность #настройка #удаленный доступ
Содержание статьи

Представь, что твой TrueNAS сервер — это цифровая крепость с данными. Удаленный доступ — это мост к этой крепости. Давай построим его правильно, безопасно и надёжно, чтобы ты мог управлять своим хранилищем из любой точки мира, не подвергая данные риску.

Выбор метода удаленного доступа: сравнительная таблица

Перед настройкой определимся со стратегией. Каждый метод имеет свои сильные стороны и сценарии применения.

Метод Сложность Безопасность Сценарий использования
SSH (Secure Shell) Низкая Высокая Командное управление, передача файлов (SCP/SFTP)
VPN (WireGuard/OpenVPN) Средняя Очень высокая Полноценный доступ к локальной сети как из дома
Проброс портов Средняя Средняя (зависит от настройки) Доступ к веб-интерфейсу TrueNAS из интернета
Cloud Sync Низкая Высокая Синхронизация данных с облаком для доступа с любых устройств
Внимание! Никогда не открывай веб-интерфейс TrueNAS (порт 80/443) напрямую в интернет без обратного прокси и 2FA. Это прямой путь к компрометации системы.

Настройка SSH для безопасного удаленного доступа

SSH — это твой швейцарский нож для удаленного управления. Настроим его по принципу "минимальных привилегий".

Шаг 1: Активация и базовая конфигурация

Перейди в Сервисы → SSH в веб-интерфейсе TrueNAS:

  • Включи сервис (галочка "Включить")
  • Порт: оставь 22 для локальной сети, для интернета смени на нестандартный (например, 2222)
  • Разрешить вход по паролю: ОТКЛЮЧИ (используем только ключи)
  • Разрешить root-логин: ОТКЛЮЧИ
  • Нажми "Сохранить", затем "Запустить"

Шаг 2: Генерация SSH-ключей

На своей рабочей машине (не на сервере!) создай пару ключей:

bash
# Генерация ключа Ed25519 (рекомендуется)
ssh-keygen -t ed25519 -a 100 -f ~/.ssh/truenas_key -C "truenas_remote_$(date +%Y%m%d)"

# Или RSA 4096 для совместимости
ssh-keygen -t rsa -b 4096 -o -a 100 -f ~/.ssh/truenas_rsa_key

Шаг 3: Добавление публичного ключа на TrueNAS

Скопируй содержимое публичного ключа и добавь его в учётную запись пользователя:

bash
# Показать публичный ключ для копирования
cat ~/.ssh/truenas_key.pub

# Скопируй вывод и вставь в TrueNAS:
# 1. Перейди в "Учётные записи → Пользователи"
# 2. Выбери или создай пользователя (не root!)
# 3. В разделе "SSH Public Key" вставь ключ
# 4. Сохрани изменения

Шаг 4: Подключение и настройка клиента

Создай конфигурационный файл SSH для удобного подключения:

config
# ~/.ssh/config
Host truenas-remote
    HostName 192.168.1.100  # IP твоего TrueNAS
    Port 22
    User твой_пользователь
    IdentityFile ~/.ssh/truenas_key
    IdentitiesOnly yes
    ServerAliveInterval 60
    ServerAliveCountMax 3
    # Для доступа из интернета через проброс портов:
    # HostName твой_домен.ру
    # Port 2222

Теперь подключайся одной командой: ssh truenas-remote

Организация VPN-доступа через WireGuard

WireGuard — современное, быстрое и простое VPN-решение. Давай настроим его в TrueNAS SCALE (в CORE потребуется ручная установка).

Шаг 1: Установка и настройка приложения WireGuard

  • В TrueNAS SCALE перейди в "Приложения"
  • Найди "WireGuard" в каталоге (официальное приложение)
  • Установи с настройками по умолчанию
  • После установки открой конфигурацию приложения

Шаг 2: Конфигурация сервера WireGuard

Создай конфигурацию сервера в интерфейсе приложения:

config
# Пример конфигурации сервера (генерируется в UI)
[Interface]
Address = 10.10.0.1/24
ListenPort = 51820
PrivateKey = серверный_приватный_ключ
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

# Клиентские конфигурации будут добавляться сюда
[Peer]
# Клиент 1
PublicKey = клиентский_публичный_ключ
AllowedIPs = 10.10.0.2/32

Шаг 3: Создание клиентских конфигураций

Для каждого устройства создай отдельную конфигурацию в интерфейсе WireGuard:

  1. Нажми "Добавить пира" (Add Peer)
  2. Укажи имя (например, "iphone-вася")
  3. Скопируй сгенерированный публичный ключ
  4. Назначь IP из подсети (10.10.0.2, 10.10.0.3 и т.д.)
  5. Сохрани и скачай конфиг файл (.conf)
Важно: Не забудь пробросить порт 51820 UDP на роутере на IP-адрес твоего TrueNAS сервера для доступа из интернета.

Безопасный проброс портов для веб-доступа

Если тебе действительно необходим доступ к веб-интерфейсу извне, сделай это максимально безопасно.

Шаг 1: Настройка обратного прокси (рекомендуется)

Используй Nginx Proxy Manager или Traefik в Docker/приложении:

docker-compose.yml
version: '3.8'
services:
  nginx-proxy-manager:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: npm
    restart: unless-stopped
    ports:
      - '80:80'      # HTTP
      - '81:81'      # Admin UI
      - '443:443'    # HTTPS
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    networks:
      - proxy-network

networks:
  proxy-network:
    driver: bridge

Шаг 2: Конфигурация прокси-правила

В Nginx Proxy Manager (порт 81) создай хост:

  • Domain Names: nas.твой-домен.ру
  • Scheme: http
  • Forward Hostname/IP: локальный-ip-truenas
  • Forward Port: 80 (или 443 если включен HTTPS на TrueNAS)
  • Включи SSL с сертификатом Let's Encrypt
  • Добавь Basic Auth или ограничь по IP

Шаг 3: Проброс портов на роутере

Настрой проброс только для необходимых портов:

bash
# Какие порты пробрасывать (пример):
# 443 TCP → IP_NPM:443    # HTTPS для веб-интерфейса
# 51820 UDP → IP_TrueNAS:51820  # WireGuard VPN
# 2222 TCP → IP_TrueNAS:22      # SSH (если не используешь VPN)

# НЕ пробрасывай:
# - Порт 80 (используй 443 с SSL)
# - Порт 22 (используй нестандартный или VPN)
# - Порт 445, 139 (SMB/CIFS) - только через VPN!

Настройка Cloud Sync для удаленного доступа к данным

Иногда VPN — это overkill. Для простого доступа к файлам используй синхронизацию с облаком.

Шаг 1: Создание задачи Cloud Sync

Перейди в Задачи данных → Cloud Sync:

  1. Нажми "Добавить"
  2. Выбери провайдера (Google Drive, Dropbox, S3-совместимый)
  3. Авторизуйся через OAuth или введи ключи доступа
  4. Настрой путь: локальный датасет → облачная папка
  5. Режим: "Синхронизировать" или "Копировать"
  6. Расписание: каждые 6 часов или по требованию

Шаг 2: Шифрование данных перед отправкой

Включи шифрование в настройках задачи Cloud Sync:

config
# Параметры шифрования в Cloud Sync:
☑ Включить шифрование
Тип шифрования: AES-256-CBC
Пароль шифрования: используй менеджер паролей!
Генерировать ключ: да

# Теперь даже если облако скомпрометируют,
# твои данные останутся зашифрованными

Мониторинг и безопасность удаленного доступа

Настроить доступ — полдела. Нужно следить за его безопасностью.

Настройка fail2ban для защиты от брутфорса

Установи fail2ban через Shell или как приложение:

bash
# Установка в TrueNAS SCALE через Shell
apt update
apt install fail2ban -y

# Базовая конфигурация
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

# Редактируем конфиг
nano /etc/fail2ban/jail.local

# Добавляем для SSH (если порт 22 открыт):
[sshd]
enabled = true
port = ssh,2222  # укажи свои порты
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600

# Для веб-интерфейса (если открыт):
[truenas-web]
enabled = true
port = http,https
filter = truenas-auth
logpath = /var/log/middlewared.log
maxretry = 5
bantime = 86400

# Запускаем и включаем автозагрузку
systemctl enable --now fail2ban
systemctl status fail2ban

Регулярные проверки безопасности

  • Проверка логов: tail -f /var/log/auth.log | grep -i "fail\|invalid"
  • Активные сессии SSH: who и last
  • Обновление системы: регулярно обновляй TrueNAS и приложения
  • Аудит правил брандмауэра: проверь, что открыты только необходимые порты
Критически важно: Регулярно делай бэкапы конфигурации TrueNAS! Если доступ будет скомпрометирован, ты сможешь быстро восстановить систему с чистой конфигурацией.

Часто задаваемые вопросы (FAQ)

Какой метод удаленного доступа самый безопасный?

WireGuard VPN + доступ только через него. VPN создаёт зашифрованный туннель, и все сервисы (SMB, веб-интерфейс, SSH) доступны только внутри этого туннеля. Это исключает прямое воздействие из интернета на сервисы TrueNAS.

Можно ли использовать DynDNS для динамического IP?

Да, TrueNAS имеет встроенную поддержку DynDNS. Перейди в Сеть → Динамический DNS, выбери провайдера (No-IP, DuckDNS и др.), введи учётные данные. Сервис будет автоматически обновлять IP при его изменении.

Как ограничить доступ по географическому признаку?

На уровне роутера (если поддерживает) или через Cloudflare (бесплатный план). В Cloudflare настрой Firewall Rules с гео-фильтрацией, разреши только свою страну/регион. Это значительно снизит количество атак.

SSH подключение работает локально, но не из интернета

Проверь цепочку: 1) Проброс порта на роутере (внешний порт → IP TrueNAS:22), 2) Брандмауэр TrueNAS разрешает подключения, 3) Провайдер не блокирует входящие подключения (часто блокируют порт 22). Используй нестандартный порт (2222, 8022).

Как организовать доступ для нескольких пользователей?

Для SSH: создай отдельных пользователей в TrueNAS, каждому добавь свой SSH-ключ. Для VPN: в WireGuard создай отдельного пира для каждого устройства/пользователя. Для веб-доступа: используй Basic Auth в обратном прокси или OAuth/SSO если настроен.

Заключение: золотые правила удаленного доступа

Давай резюмируем основные принципы, которые сделают твой удаленный доступ к TrueNAS безопасным и надежным:

  • Принцип минимальных привилегий: Давай доступ только к тому, что действительно необходимо
  • Многофакторная аутентификация: Ключи для SSH, сертификаты для VPN, 2FA для веб-интерфейса
  • Шифрование везде: TLS для веб, WireGuard для VPN, SSH-ключи вместо паролей
  • Мониторинг и логирование: Знай, кто и когда подключается к твоей системе
  • Регулярные обновления: Безопасность — процесс, а не состояние

Помни: правильная настройка удаленного доступа — это баланс между удобством и безопасностью. Начни с VPN для полного контроля, добавь Cloud Sync для простого доступа к файлам, и никогда не оставляй сервисы открытыми в интернет без защиты.

Поделиться:
Сохранить гайд? В закладки браузера