TrueNAS VPN: Настройка WireGuard и OpenVPN для удаленного доступа | AdminWiki
Timeweb Cloud — сервера, Kubernetes, S3, Terraform. Лучшие цены IaaS.
Попробовать

TrueNAS VPN: Полное руководство по настройке WireGuard и OpenVPN

06 февраля 2026 8 мин. чтения #devops #homelab #openvpn #truenas #vpn #wireguard #безопасность #настройка

Представь, что твой TrueNAS сервер — это крепость с бесценными данными. Брандмауэр — это стены, а VPN — это секретный, зашифрованный туннель, по которому только ты можешь попасть внутрь, из любой точки мира. В этом руководстве, как Senior DevOps, я покажу тебе, как развернуть этот туннель, используя самые современные и надежные инструменты: WireGuard и OpenVPN. Мы не просто поставим галочку, а разберемся, как это работает изнутри.

Зачем нужен VPN на TrueNAS?

Прямое открытие портов веб-интерфейса (UI) или сетевых шаров (SMB/NFS) в интернет — это как оставить парадную дверь нараспашку. VPN решает эту проблему, создавая защищенное соединение между твоим устройством и домашней сетью. После подключения к truenas vpn ты будешь работать с сервером так, будто находишься прямо рядом с ним.

  • Безопасный удаленный доступ к веб-интерфейсу TrueNAS (не нужно открывать порт 443).
  • Доступ к сетевым шарам (SMB, NFS, AFP) как в локальной сети.
  • Защищенное управление Docker-контейнерами, виртуальными машинами и другими сервисами.
  • Шифрование всего трафика, даже при использовании публичных Wi-Fi сетей.
Важный момент: TrueNAS Scale (на базе Linux) и TrueNAS Core (на базе FreeBSD) имеют разные возможности. WireGuard в ядре доступен «из коробки» в Scale. В Core, на момент написания, проще использовать OpenVPN или WireGuard через плагин/джейл.

Сравнение WireGuard и OpenVPN для TrueNAS

Давай выберем инструмент под задачу. Вот краткое сравнение, которое я, как ментор, рекомендую держать в голове.

Критерий WireGuard OpenVPN
Производительность Высокая (реализация в ядре) Средняя (пользовательское пространство)
Простота конфигурации Очень простая (1 файл конфига) Сложная (множество опций, сертификаты)
Безопасность Современная криптография (Noise protocol) Проверенная, гибкая (TLS)
Идеально для Постоянного, быстрого туннеля (Site-to-Site, мобильные клиенты) Сложных корпоративных сценариев, максимальной гибкости

Настройка WireGuard VPN на TrueNAS Scale

WireGuard — мой фаворит для homelab. Он быстрый, легкий и его настройка займет 15 минут. Работаем через веб-интерфейс и CLI.

Шаг 1: Подготовка и установка приложения

В TrueNAS Scale WireGuard можно развернуть как официальное приложение.

  1. Зайди в «Apps»«Discover Apps».
  2. Найди «WireGuard» (официальный образ от linuxserver.io).
  3. Нажми «Install».

Шаг 2: Генерация ключей и конфигурация сервера

Ключи — основа безопасности WireGuard. Сгенерируем их через Shell (SSH или встроенную консоль).

bash
# Генерация приватного и публичного ключа для СЕРВЕРА (TrueNAS)
wg genkey | tee /tmp/server_private.key | wg pubkey > /tmp/server_public.key

# Генерация ключей для КЛИЕНТА (твой ноутбук/телефон)
wg genkey | tee /tmp/client_private.key | wg pubkey > /tmp/client_public.key

# Посмотрим ключи (запиши их в надежное место!)
cat /tmp/server_private.key  # Приватный ключ сервера
cat /tmp/server_public.key   # Публичный ключ сервера
cat /tmp/client_public.key   # Публичный ключ клиента
Внимание! Никогда не коммить и не передавай приватные ключи (.key) по открытым каналам. Публичные ключи (.pub) — можно.

Шаг 3: Настройка приложения WireGuard

Вернись в настройки устанавливаемого приложения WireGuard. Важные параметры:

  • Host Path: Примонтируй директорию для конфигов, например, /mnt/pool/apps/wireguard.
  • PEERS: Укажи количество клиентов (например, 1).
  • SERVERURL: Внешний IP твоего роутера или DynDNS-адрес (например, vpn.mydomain.com).
  • SERVERPORT: Внешний порт для WireGuard (например, 51820). Этот порт нужно будет пробросить на роутере на IP TrueNAS.

Шаг 4: Конфигурационный файл сервера (wg0.conf)

После установки приложения, отредактируй основной конфиг. Он будет в смонтированной папке.

config
# /mnt/pool/apps/wireguard/config/wg0.conf
[Interface]
Address = 10.10.0.1/24  # Внутренняя сеть VPN
ListenPort = 51820      # Внутренний порт (должен совпадать с SERVERPORT)
PrivateKey = <СЕРВЕРНЫЙ_ПРИВАТНЫЙ_КЛЮЧ>  # Вставь свой из /tmp/server_private.key
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]
PublicKey = <ПУБЛИЧНЫЙ_КЛЮЧ_КЛИЕНТА>  # Вставь из /tmp/client_public.key
AllowedIPs = 10.10.0.2/32  # Выдаем клиенту этот IP в VPN-сети

Шаг 5: Конфиг для клиента (например, Windows/macOS)

Создай файл на своем компьютере truenas-vpn-client.conf.

config
[Interface]
PrivateKey = <ПРИВАТНЫЙ_КЛЮЧ_КЛИЕНТА>  # Вставь из /tmp/client_private.key
Address = 10.10.0.2/32
DNS = 10.10.0.1  # Можно указать DNS сервер в сети TrueNAS (например, AdGuard Home)

[Peer]
PublicKey = <ПУБЛИЧНЫЙ_КЛЮЧ_СЕРВЕРА>  # Вставь из /tmp/server_public.key
Endpoint = vpn.mydomain.com:51820  # Твой внешний адрес и порт
AllowedIPs = 10.0.0.0/8, 192.168.1.0/24  # Какие сети маршрутизировать через VPN
PersistentKeepalive = 25

Импортируй этот файл в клиент WireGuard на своем устройстве, активируй соединение. Если все настроено верно, с клиента должен пинговаться IP сервера в VPN-сети (10.10.0.1), а затем и IP самого TrueNAS в локальной сети (например, 192.168.1.100).

Настройка OpenVPN на TrueNAS Core через плагин

Для TrueNAS Core (FreeBSD) классический путь — плагин OpenVPN. Он более требователен к настройке, но невероятно гибкий.

  1. Зайди в «Plugins» и установи плагин «OpenVPN».
  2. После установки, создай jail для плагина.
  3. В настройках jail включи «vnet» и «Berkeley Packet Filter».
  4. Запусти плагин и открой его веб-интерфейс (обычно по адресу jail).

Дальнейшая настройка (генерация сертификатов, конфигов) обычно проводится через этот веб-интерфейс по шагам мастера. Основная сложность — правильная настройка маршрутизации и файрвола.

bash
# Пример: Проверка, работает ли OpenVPN сервер в jail
jls  # Узнаем ID jail с OpenVPN
jexec <ID> sockstat -l | grep 1194  # Ищем слушающий порт OpenVPN (по умолчанию 1194)

Проброс портов и настройка роутера

Без этого шага соединение извне не установится. Зайди в настройки своего роутера (обычно 192.168.1.1).

  • Найди раздел «Port Forwarding» (Проброс портов / Виртуальные серверы).
  • Создай правило: Внешний порт (например, 51820 для WireGuard) → Внутренний IP (адрес твоего TrueNAS) → Внутренний порт (тот же, 51820). Протокол UDP.
  • Для OpenVPN правило аналогичное, но порт обычно 1194 и протокол UDP/TCP.
Совет от ментора: Используй динамический DNS (DynDNS, No-IP) или, если есть, собственный домен, если у тебя динамический белый IP от провайдера. В клиентском конфиге указывай не IP, а доменное имя.

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

Как проверить, работает ли VPN соединение?

Подключись с клиента и выполни команды:

bash
# На клиенте (в командной строке или терминале)
ping 10.10.0.1          # Должен пинговать сервер в VPN-сети
ping 192.168.1.100      # Должен пинговать TrueNAS в локальной сети

# На сервере TrueNAS (в Shell)
wg show                 # Для WireGuard — покажет активные пиры и трафик

Я подключился к VPN, но не вижу сетевые шары (SMB)

Скорее всего, проблема в маршрутах или firewall. Убедись, что в клиентском конфиге WireGuard (AllowedIPs) указана подсеть твоей домашней сети (например, 192.168.1.0/24). Также проверь настройки общего доступа TrueNAS — в параметрах SMB должна быть разрешена работа с подключаемыми клиентами.

Можно ли использовать VPN для доступа к приложениям TrueNAS Scale (Apps)?

Да, и это одна из главных причин! После подключения к VPN ты можешь обращаться к веб-интерфейсам приложений (например, Nextcloud, Plex, AdGuard Home) по их внутреннему IP и порту, как если бы ты был дома. Это безопаснее, чем пробрасывать каждый порт наружу.

WireGuard или OpenVPN — что выбрать для начала?

Если ты только начинаешь и используешь TrueNAS Scale — однозначно WireGuard. Он проще, быстрее и современнее. OpenVPN выбирай, если у тебя специфические требования (например, необходимость аутентификации по сертификатам и логину/паролю одновременно) или ты используешь TrueNAS Core и хочешь готовый плагин.

Заключение

Настройка truenas vpn — это не просто «галочка», а фундаментальное улучшение безопасности и доступности твоего homelab. WireGuard, с его простотой и скоростью, идеально вписывается в философию современного DevOps. OpenVPN остается мощным и гибким инструментом для сложных сценариев.

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

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