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

Настройка WireGuard VPN на TrueNAS: Полное руководство для безопасного удаленного доступа

04 марта 2026 7 мин. чтения #truenas #truenas scale #vpn #wireguard #безопасность #настройка #сеть #удаленный доступ

Представь, что тебе нужно срочно получить доступ к файлам на домашнем сервере TrueNAS, но ты в командировке или просто не дома. Проброс портов — рискованно, облачные синхронизации — медленно. Решение? Развернуть собственный, легкий и безопасный VPN-сервер прямо на TrueNAS. Давай разберем, как настроить WireGuard на TrueNAS, будь то Scale или Core, чтобы получить защищенный туннель к твоим данным из любой точки мира.

Почему именно WireGuard на TrueNAS?

WireGuard — это современный, простой и быстрый VPN-протокол. В отличие от громоздких решений вроде OpenVPN, он легко интегрируется в ядро системы, что делает его идеальным кандидатом для NAS. TrueNAS, как платформа для хранения данных, отлично подходит для роли VPN-сервера: он всегда включен, имеет стабильное сетевое подключение и достаточную вычислительную мощность.

Что тебе понадобится:

  • Работающий сервер TrueNAS (Scale 22.12+ или Core 13.0+).
  • Статический IP-адрес в локальной сети для TrueNAS или настройка DDNS.
  • Права администратора (root).
  • Порты для WireGuard (обычно UDP/51820), открытые на роутере (проброшенные).

Метод 1: WireGuard на TrueNAS SCALE (Рекомендуемый)

В TrueNAS SCALE, основанном на Linux, WireGuard встроен в ядро. Самый простой способ — использовать официальный TrueCharts хелм-чарт через систему приложений.

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

Сначала убедись, что у тебя настроен Pool для приложений и добавлен каталог TrueCharts.

  1. Перейди в «Apps»«Manage Catalogs». Убедись, что каталог «truecharts» есть в списке и обновлен.
  2. Нажми «Launch Docker Image» или найди «wireguard» в поиске приложений. Мы будем использовать проверенное решение — «wireguard-easy» от TrueCharts.
  3. Нажми «Install».

Шаг 2: Конфигурация приложения WireGuard

В форме настройки приложения обрати внимание на ключевые параметры:

config
# Основные настройки в UI TrueNAS:
Application Name: wireguard-vpn
WireGuard Server URL: mytruenas.ddns.net (или твой IP)
Server Port: 51820
Peer DNS Server: 192.168.1.1 (твой локальный DNS или, например, 8.8.8.8)
Allowed IPs: 10.10.10.0/24 (диапазон адресов для VPN-клиентов)
Persistent Keepalive: 25 (важно для обхода NAT)
Важно: В разделе «Storage» смонтируй путь для конфигурации WireGuard, например, /mnt/tank/apps/wireguard/config в /config внутри контейнера. Это сохранит твои ключи и настройки при обновлении.

Шаг 3: Настройка сети и проброс портов

В настройках приложения выбери «Host Network» или настрой проброс порта (Host Port: 51820 -> Container Port: 51820).

Затем на своем интернет-роутере создай правило Port Forwarding:

  • Протокол: UDP
  • Внешний порт: 51820 (или другой)
  • Внутренний IP: [IP-адрес твоего TrueNAS]
  • Внутренний порт: 51820

Шаг 4: Добавление клиентов (пиров)

После запуска приложения перейди в его Web UI (ссылка появится в статусе приложения).

  1. В интерфейсе WireGuard Easy создай нового пира (клиента).
  2. Задай ему имя (например, "My-Laptop").
  3. Система сгенерирует конфигурационный файл (файл .conf) или QR-код.
  4. Скачай файл или отсканируй QR-код с помощью официального клиента WireGuard на своем устройстве (телефон, ноутбук).

Метод 2: WireGuard на TrueNAS CORE (через плагин/джейл)

На TrueNAS CORE (FreeBSD) процесс чуть более ручной. Самый стабильный способ — установка в отдельном джейле.

bash
# 1. Создай новый джейл (через UI или командой)
iocage create -n "wireguard" -r 13.2-RELEASE vnet=on bpf=yes dhcp=on

# 2. Зайди в консоль джейла
iocage console wireguard

# 3. Установи WireGuard и необходимые пакеты внутри джейла
pkg update && pkg upgrade -y
pkg install wireguard wireguard-tools

# 4. Включи поддержку WireGuard в загрузке ядра
sysrc wireguard_enable="YES"

# 5. Сгенерируй ключи сервера
cd /usr/local/etc/wireguard
wg genkey | tee server-private.key | wg pubkey > server-public.key
chmod 600 server-private.key

Создание конфигурационного файла сервера

config
# /usr/local/etc/wireguard/wg0.conf на сервере (TrueNAS CORE джейл)
[Interface]
Address = 10.10.10.1/24
ListenPort = 51820
PrivateKey = [Содержимое файла server-private.key]
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o em0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o em0 -j MASQUERADE

# Клиент 1
[Peer]
PublicKey = [Публичный ключ клиента 1]
AllowedIPs = 10.10.10.2/32
Внимание: Не забудь заменить em0 на имя своего физического сетевого интерфейса в джейле (узнать можно командой ifconfig). Правила PostUp/PostDown обеспечивают проброс трафика (NAT) из VPN в твою локальную сеть.

Пример клиентской конфигурации

Вот как выглядит типичный файл конфигурации для твоего ноутбука или телефона:

config
[Interface]
PrivateKey = [Твой_приватный_ключ_клиента]
Address = 10.10.10.2/32
DNS = 192.168.1.1, 8.8.8.8

[Peer]
PublicKey = [Публичный_ключ_твоего_сервера_WireGuard]
Endpoint = mytruenas.ddns.net:51820
AllowedIPs = 192.168.1.0/24, 10.10.10.0/24
PersistentKeepalive = 25

Ключ AllowedIPs = 192.168.1.0/24 говорит клиенту маршрутизировать через VPN трафик к твоей домашней сети. Если хочешь пропускать через VPN весь интернет-трафик, укажи 0.0.0.0/0.

Сравнение методов настройки WireGuard на TrueNAS

Критерий TrueNAS SCALE (Приложение) TrueNAS CORE (Джейл)
Сложность Низкая (GUI, несколько кликов) Средняя/Высокая (CLI, ручная настройка)
Управление клиентами Удобный Web UI (WireGuard Easy) Ручное редактирование файла wg0.conf
Обновление Через систему Apps (1 клик) Вручную внутри джейла (pkg upgrade)
Идеально для Большинства пользователей, кто хочет быстрое и простое решение Опытных пользователей, нуждающихся в полном контроле

Частые проблемы и их решение (FAQ)

Подключение есть, но нет доступа к ресурсам в локальной сети TrueNAS?

Проверь параметр AllowedIPs в конфиге клиента. Он должен включать подсеть твоей домашней сети (например, 192.168.1.0/24). Убедись, что на сервере включен IP forwarding и правильно настроены правила iptables/nftables (в методе с джейлом).

Клиент не подключается из внешней сети (интернета)?

1) Убедись, что порт UDP/51820 проброшен (Port Forwarding) на твоем роутере именно на IP-адрес TrueNAS. 2) Проверь, не блокирует ли порт провайдер или брандмауэр самого TrueNAS. 3) В конфиге клиента в Endpoint должен быть указан твой внешний IP или домен DDNS, а не локальный адрес.

Как добавить нового пользователя (пира)?

В SCALE (WireGuard Easy): через Web UI приложения. В CORE (джейл): сгенерируй новую пару ключей для клиента, добавь новую секцию [Peer] в файл wg0.conf сервера с его публичным ключом и выделенным IP (например, 10.10.10.3/32). Перезагрузи интерфейс WireGuard: wg-quick down wg0 && wg-quick up wg0.

WireGuard сильно нагружает процессор TrueNAS?

Обычно WireGuard очень легковесен. Заметная нагрузка может возникнуть только на очень старом железе или при гигантских скоростях (гигабит+). В 99% случаев проблем с производительностью нет.

Итог и следующие шаги:

Ты только что развернул собственный, безопасный и быстрый VPN-сервер на основе WireGuard на своей системе TrueNAS. Теперь ты можешь:

  • Безопасно подключаться к своей домашней сети из любой точки мира.
  • Получать доступ к веб-интерфейсам TrueNAS, сервисам (Plex, Nextcloud) и файлам по локальным адресам.
  • Зашифровать свой трафик в публичных Wi-Fi сетях, маршрутизируя его через домашний интернет.

Дальнейшая настройка — это тонкая отладка маршрутов, настройка автоматического переподключения и, возможно, использование нескольких VPN-профилей для разных задач. Но основа уже готова!

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