Как настроить доступ через WG Easy (WireGuard-протокол) к домашнему серверу на TrueNas за пределами домашней сети. Github-репозиторий.
В предыдущей статье мы подключили общесетевой-диск через SMB-Share. Такой доступ работает только в пределах домашней сети. Теперь давайте настроим доступ к серверу и диску за пределами домашней сети с помощью WG Easy.
Перед установкой - создайте отдельный новый датасет, например /mnt/main_pool/wireguard и дайте ему полный доступ (включая Write) для Others для корректной установки WG Easy.

Через встроенный Apps Market находим и устанавливаем WG Easy.

Задаем настройки:
Запускаем установку. После установки проверьте, что приложение запущено и кликнете на Web UI. Откроется мастер настройки WG Easy и попросит задать логин, пароль и желаемый порт (51820 по умолчанию, можно задать свой). Запишите порт, он нам понадобится дальше.

По умолчанию все порты на вашем роутере закрыты. Нам нужно открыть лишь один порт, указанный в предыдущем шаге. В моём случае провайдер выдает статический IP, поэтому заморачиваться с DDNS не требуется. Идем в админку роутера и ищем Port Forwarding. У меня роутер Asus, и там эта настройка лежит в разделе WAN - Port Forwarding.

Заполните:
Применяем правило. Теперь все входящие соединения на ваш внейшний IP:51820, будут перенаправляться на внутренний IP:51820.
Сперва добавляем в Admin Panel - Config - Allowed IP's (/admin/config) две записи:

По умолчанию там пусто (0.0.0.0/0, ::/0) - WG Easy из коробки настроен на full-tunnel, весь трафик будет идти через ваш домашний TrueNas. Заменив его на значение 10.8.0.0/24 - это виртуальная внутренняя сеть самого WireGuard, за счет чего подключение станет типа Split-tunnel. Так мы созраним возможность ходить в интернет через основную сеть, в то же время будем дополнительно подключены через Wireguard к домашнему TrueNas.
Создаем конфиг подключения Wireguard в WG Easy - переходим в Web UI, указываем имя и создаем.

Скачиваем полученный файл .conf. Можно открыть этот файлом блокнотом и дополнительно убедиться, что внутри прописаны правильные Allowed IP's.
Теперь мы скачиваем на второе устройство (ноутбук) клиент https://www.wireguard.com/install/, устанавливаем и добавляем конфиг .conf.
Для теста можно раздать Wi-Fi со смартфона на ноутбук (чтобы выйти за пределы домашней сети). Активируем соединение и проверяем, что у нас есть доступ в интернет с IP мобильной сети и в то же время общесетевая папка остаётся доступной.