Всем привет!!!
Если у вас нет белого IP адреса, то есть очень простое решение использовать VPN от ZeroTier, что бы подключаться к Synology откуда угодно.
Этот материал не предназначен для обхода блокировок, а направлен на обеспечение доступа к законному программному обеспечению, обновлению баз данных антивирусов, а также на создание соединения между домашними сетями для обмена личными файлами и просмотра персонального контента. Любая фраза или предложение выдернутая из контекста статьи не может быть доказательством обратного.
Оглавление
Введение
Последнее время Synology QuickConnect работает со сбоями и пользователи, у которых нет белого IP адреса не могут подключаться через интернет к своим NAS устройствам. Самое простое это получить у провайдера белый IP адрес и лучше всего динамический и использовать DDNS. Но к сожалению не все провайдеры дают такую возможность.
Ранее я делал статью и видео ролик как можно обойти эти проблемы используя TailScale, К сожалению разработчик данного ПО решил действовать вопреки здравому смыслу, видимо задняя точка давно раздолблена, и поэтому запретил пользователям из нашей страны, которая ведет СВО против фашистов и бандитов на территории страны 404, использовать TailScale. Конечно можно сменить регион и использовать VPN, что бы скачать и у становить TailScale, но нужно понимать, что люди, которое перешли на сторону зла, могут не только запретить использовать ПО, но и заложить в него вредоносный код, который может навредить.
На данный момент разработчики ZroTier не были замечены в противоправных действиях против здравого смысла и потому и потому я расскажу как установить ZeroTier на Synology и опишу с чем вы столкнётесь в процессе.
ZeroTier – это программное обеспечение, которое позволяет пользователям создавать виртуальную частную сеть (VPN) между компьютерами. Оно работает на различных операционных системах, включая Windows, macOS, Linux и телефоны Android или IOS. С помощью ZeroTier пользователи могут легко обмениваться файлами и данными между устройствами в сети, а также обеспечивать защиту данных от внешних угроз.
Проще говоря ZeroTier строит VPN сеть между вашими устройствами, что бы они могли передавать данные по защищенным каналам связи.
ZeroTier можно запустить практически на любых устройствах
Установка на Synology
Начиная с DSM 7 компания Synology ввела много ограничений на запуск стороннего программного обеспечения. Если у вас DSM 6, то скачать пакеты можно по ссылке. DSM 6 от Synology войдет в статус EOL где-то в 2023 году. ZeroTier будет поддерживать последние исправленные версии DSM 6.2 до этого момента.
Официальная инструкция тут
Для DSM 7 программное обеспечение ZeroTier можно установить только в контейнер Docker (Container Manager) поэтому перед тем как продолжить убедитесь, что ваше устройство поддерживает Docker.
Активация TUN интерфейс
Так же в DSM 7 по умолчанию нет поддержки TUN интерфейсов необходимых для работы ZeroTier, но это легко исправить. Самый простой способ установить из центра пакетов Virtual Machines Manager (VMM) и просто один раз его запустить. Не нужно запускать виртуальную машину, достаточно просто открыть окно VMM и пройти процедуру первоначальной настройки. После этого поддержка TUN интерфейса в DSM 7 активируется и можно переходить к настройке контейнера Docker.
Если у вас нет возможности установить VMM, то придется активировать TUN интерфейс через SSH используя команды терминала. Как подключиться по SSH к Synology я описал в этой статье. В окне терминала введите такую команду для получения прав root и введите пароль от вашей учетной записи:
sudo -i
Затем нужно создать скрипт активации TUN интерфейса
echo -e '#!/bin/sh -e \ninsmod /lib/modules/tun.ko' > /usr/local/etc/rc.d/tun.sh
Сделать этот скрипт исполняемым
chmod a+x /usr/local/etc/rc.d/tun.sh
Теперь просто запустите этот скрипт
/usr/local/etc/rc.d/tun.sh
Проверить, что есть поддержка TUN интерфейса можно командой:
ls /dev/net/tun
Если вы увидите модуль, который обозначен на картинке ниже желтым цветом, то все в порядке и TUN интерфейс в Synology активирован
Установка ZeroTier в Docker
Установку ZeroTier в контейнер Docker я буду в DSM 7.2, в которой есть поддержка проектов (docker compose). Если у вас нет проектов, то эта инструкция вам не подойдет, но можно воспользоваться официальным мануалом ZeroTier для Synology.
Первое, что нужно сделать это создать в общей папке Docker через File Station пустую папку ZeroTier.
Затем открываем Container Manager, проекты и создаем новый проект. Придумываем имя, указываем папку и выбираем создать docker-compose.yml как показано на картинке ниже
В поле docker-compose вставляем такой код:
---
version: "3.8"
services:
zerotier:
container_name: zerotier
image: zerotier/zerotier-synology:latest
cap_add:
- NET_ADMIN
- SYS_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
network_mode: "host"
restart: unless-stopped
Затем везде жмем далее и по окончанию должен создастся проект с контейнером, у которого Exit Code 0, что означает все прошло успешно. Если этот код не равен 0, то нужно разобраться почему.
Но это еще не все. Теперь нужно привязать ZeroTier на Synology к вашей виртуальной сети. Для этого вам нужно в личном кабинете my.zerotier.com получить ID вашей сети. Если сеть у вас не создана, то просто создайте ее.
Теперь вам нужно подключиться по SSH к Synology. Как подключиться по SSH к Synology я описал в этой статье. В окне терминала введите команду и пароль от вашего пользователя:
Я пробовал запустить эту команду через планировщик задач, но не получилось. Знаете почему, поделитесь, пожалуйста.
sudo docker exec -it zerotier zerotier-cli join Network_ID
Думаю понятно, что network_ID нужно заменить на ваше значение
В ответ вы должны увидеть следующее:
В личном кабинете my.zerotier.com должно появиться новое устройство. Нужно разрешить ему доступ к сети соответствующей опцией и подписать, что бы знать кто это такой.
Я подписал SynologyNAS, а через некоторое время появился IP адрес. Нужно запомнить его, так как это и будет IP адресом для подключения к Synology
После этого вы уже сразу можете подключаться к Synology используя внутренний IP адрес ZeroTier VPN
Установка ZeroTier в из репозитория
Я не люблю такой метод, но он самый простой.
Вам нужно в центре пакетов добавить репозиторий spk7.imnks.com
Затем найти ZeroTier и установить его
Единственное во время установки снимите флажок запуска приложения после установки.
ZeroTier установится, но не будет работать
В командной строке (через sudo) или в планировщике от имени root запустите такую команду:
sed -i 's/package/root/g' /var/packages/zerotier/conf/privilege
Затем в центре приложений можно запускать ZeroTier
Что бы подключить установку Zerotier к вашей сети в командной строке (через sudo) или в планировщике от имени root запустите такую команду:
/var/packages/zerotier/target/bin/zerotier-one -q join xxxxxx
Где xxxxxx это network_ID из личного кабинета. Далее все действия как в пункте про docker для личного кабинета.
Тесты на телефоне
Прошу не смотрите на скорости, у меня дома плохо ловит сеть LTE, если бы я мог я бы, вышел на улицу, где скорость очень хорошая.
Дополнительные возможности
Что можно сделать еще? Можно сделать так, что бы вы дома и в интернете подключались к своему Synology всегда одинаково. Для этого в личном кабинете my.zerotier.com добавьте маршрут IP-NAS/32 через IP-NAS-VPN
Где
- IP-NAS это локальный IP адрес вашего Synology
- Маска 32
- IP-NAS-VPN это IP адрес Synology в сети ZeroTier VPN
Я не использовал 24 маску, так как ZeroTier не умеет маршрутизировать пакеты либо не умеет делать NAT, по крайней мере я не понял как это настроить
И теперь можно подключаться к Synology используя его локальный IP адрес откуда угодно в интернете без белого IP адреса и без QuickConnect
После всего этого во всех приложениях, которые подключаются из локальной сети и через ZeroTier нужно указывать локальный IP адрес Synology. Его можно узнать в панели управления, сети и вкладка сетевые интерфейсы. Лучше всего, что бы он был статическим, ну или зарезервирован в настройках DHCP сервера на роутере.
На этом статья Synology установка ZeroTier или как подключаться без белого адреса подошла к концу. Надеюсь, что у вас все получится. Если возникнут трудности, то вы всегда можете обратиться ко мне за помощью через раздел фриланс на моем сайте.
Дополнительные команды на всякий случай:
Просмотр статуса
sudo docker exec -it zt zerotier-cli status
Присоединяйтесь к своей сети
sudo docker exec -it zt zerotier-cli join e5cd7a9e1cae134f
Просмотрите статус сети
sudo docker exec -it zt zerotier-cli listnetworks
Войти в контейнер (необязательно)
sudo docker exec -it zt bash