Установка WireGuard на Synology NAS в DSM 7 и DSM 6

Всем привет!!!

Давно хотели запустить Wireguard на своем Synology NAS, но не могли найти как это сделать? Тогда вам сюда. В этой статье я выложу готовые сборки пакетов SPK WireGuard для DSM 7 и расскажу, где скачать пакеты для DSM 6.


!!! ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ !!!

Вы используете все здесь на свой страх и риск. Я не несу ответственности, если это сломает ваш NAS. Реально это не должно привести к потере данных, но это может сделать ваш NAS недоступным, если что-то пойдет не так.


Нужно отметить, что запуск и настройка пакета WireGuard для Synology NAS осуществляется через командную строку по протоколу SSH. Графического интерфейса нет!!! Поэтому вы должны обладать навыками работы в консоли Linux.

Стоит начать с того, откуда я это все взял. На github выложены исходники Wireguard и собраны готовые пакеты в релизах для DSM 6. Что бы узнать архитектуру вашего процессора перейдите на сайт помощи Synology. Скачать готовые пакеты для DSM 6 лучше с сайта github. А вот для DSM 7 автор не выложил готовые пакеты. Поэтому я взялся за это дело самостоятельно, благо автор расписал как скомпилировать данные пакеты самостоятельно. Как это сделать я опишу в конце статьи.

Скачать готовые SPK пакеты WireGuard для DSM 7 можно отсюда. Если вашей архитектуры нет там, то пишите в комментариях, я сделаю.

Установка выполняется вручную через Центр пакетов в DSM. Но только для DSM 7 нужно во время установки убрать галочку “Запустить после установки”. В противном случаи пакет установится поврежденным. Это связано с предотвращением запуска пакетов, не подписанных Synology, с привилегиями root.

Установка wireguard на Synology NAS в DSM 7 и DSM 6

Затем, что бы запустить пакет нужно подключиться к NAS по SSH и ввести команду:

sudo /var/packages/WireGuard/scripts/start

Если вы разбираетесь в настройке WireGuard то дальнейшие шаги для вас будут понятными:

$ sudo su – 
# sudo mkdir /etc/wireguard
# cd /etc/wireguard
# umask 077; wg genkey | tee privatekey | wg pubkey > publickey
# vi wg0.conf (конфигурацию ниже вы можите скопировать и вставить в редактор)

[Interface]
Address = 10.0.1.1/16
PrivateKey = (server private key)
ListenPort = 51820
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o -%i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = (client public key)
AllowedIPs = 10.0.1.2/32

# cat privatekey (copy the privatekey)
# vi wg0.conf (paste the private key in the PrivateKey line)

После настройки клиента введите открытый ключ клиента в конфигурацию на Synology NAS. Добавьте открытый ключ клиента в соответствующий раздел PEER файла конфигурации сервера и сохраните изменения.

$ sudo vi /etc/wireguard/wg0.conf

Команды для управления сервисом:

$ sudo wg-quick up wg0 (Запустить WireGuard сервис)
$ sudo wg show wg0 (Проверка работы WireGuard) 
$ sudo wg-autostart enable wg0 (Запускать WireGuard сервис при старте системы)
$ sudo wg-autostart disable wg0 (Отключить авто старт WireGuard при старте системы)

Теперь как собрать самостоятельно. Для этого нам понадобится Linux, я использую Ubuntu 22.04 сервер. Установить ее можно на виртуальную машину, подключиться по SSH и ввести команды:

# Подготовка
sudo -i
cd /opt/
apt update
apt upgrade
apt install docker.io
apt install git

# Скачиваем и создаем необходимые файлы с GitHub
git clone https://github.com/runfalk/synology-wireguard.git
cd synology-wireguard/
docker build -t synobuild .

# Что бы скомпилировать пакет SPK выполним команду (одна строка)
docker run --rm --privileged --env PACKAGE_ARCH=<arch> --env DSM_VER=<dsm-ver> -v $(pwd)/artifacts:/result_spk synobuild

# Мой пример
docker run --rm --privileged --env PACKAGE_ARCH=geminilake --env DSM_VER=7.0 -v $(pwd)/artifacts:/result_spk synobuild

Начнется процесс сборки, который выглядит примерно так:

Процесс не быстрый, поэтому дождитесь завершения.

Если все пройдет гладко, то в папке artifacts будет лежать готовый spk пакет. Скачайте его с Ubuntu по SFTP (FTP поверх SSH). Это умеет делать без проблем FileZilla.

Установка WireGuard на Synology NAS в DSM 7 и DSM 6

У этой записи 7 комментариев

  1. turbocopy

    подключился к nas по ssh скопировал команду для старта и вот такой ответ
    sudo: /var/packages/WireGuard/scripts/start: command not found

  2. turbocopy

    220+ DSM 6.2 на скрине у тебя версия 1.0.20220627 у меня установилось 1.0.20201221
    может в этом проблема? кавычки не ставил

    1. Я компилил только для DSM 7. вам нужно скачать для DSM 6 и эту команду вам не нужно, у вас из центра пактов можно запускать сервис.

  3. turbocopy

    запускать можно, а как настраивать и управлять вот чем вопрос

  4. turbocopy

    Спасибо Александр. буду тренироваться

Добавить комментарий

19 − 2 =