Найти в Дзене

ZeroTier в XPEnology - Делаем дырку в NAT!

Многие ищут варианты вывести свой локальный сервер в интернет. Для этого существует только три варианта - 1. Белый IP адрес на вашем роутере. Вроде все просто, но на деле не каждый провайдер даст эту услугу даже за деньги. Если есть возможность купить у провайдера белый адрес, то это сопоставимо со стоимостью аренды VDS. Соответственно лучше арендовать виртуалку. На ней можно навесить многие сервисы, даже тот же ZeroTier server, и конечно использовать для хостинга. 2. Использовать VDS сервер и настроить SSH мост, OpenVPN или WireGuard сервер для выхода в свет через IP от VDS. Впрочем вариантов много и даже перечислять займет много времени. 3. Довольно простой способ настроить сеть ZeroTier, который использует собственный протокол, построенный поверх протокола (UDP). В протоколе обмена есть два ключа - Идентификатор сети и ID устройства. ID сети, объединяет все устройства, подключенные с этим идентификатором в одну сеть, но доступ регулируется администратором программного хаба который
Оглавление

Многие ищут варианты вывести свой локальный сервер в интернет. Для этого существует только три варианта -

1. Белый IP адрес на вашем роутере. Вроде все просто, но на деле не каждый провайдер даст эту услугу даже за деньги. Если есть возможность купить у провайдера белый адрес, то это сопоставимо со стоимостью аренды VDS. Соответственно лучше арендовать виртуалку. На ней можно навесить многие сервисы, даже тот же ZeroTier server, и конечно использовать для хостинга.

2. Использовать VDS сервер и настроить SSH мост, OpenVPN или WireGuard сервер для выхода в свет через IP от VDS. Впрочем вариантов много и даже перечислять займет много времени.

3. Довольно простой способ настроить сеть ZeroTier, который использует собственный протокол, построенный поверх протокола (UDP). В протоколе обмена есть два ключа - Идентификатор сети и ID устройства. ID сети, объединяет все устройства, подключенные с этим идентификатором в одну сеть, но доступ регулируется администратором программного хаба который находится на узле my.zerotier.com или на вашем VDS. Если админ даст доступ устройству к сети, устанавливается связь со всеми разрешенными клиентами этой сети. В конечном итоге, получаем связь, напоминающую P2P (точка-точка) но позволяющую соединять множество клиентов в одной сети.

ZeroTier в XPEnology

Для установки ZeroTier в XPEnology, я использовал сторонний инсталлятор (вариант с Docker контейнером не рабочий). Для этого надо подключить сторонний App. Открываем в XPEnology "Центр пакетов" и в правом верхнем углу жмем кнопку "Настройка".

Переходим на вкладку - "Источники пакетов". Нажимаем добавить и в форме вносим -

Название: synocommunity

Местоположение: https://packages.synocommunity.com

-2

После введения данных, в Центре пакетов появится новая ссылка - "Сообщество". Жмем эту ссылку и в конце списка программ, находим ZeroTier и жмем "Установить".

-3

В начале процесса установки, система предупредит что пакет не проверялся компанией Synology, принимаем условия.

-4

На следующем шаге нас просят ввести ID нашей сети. Вводим его в поле и жмем Далее.

-5

На следующем этапе, снимите галку с автозапуска. Программа все равно не запустится.

-6

Жмем Выполнено и ждем окончания установки.

Предоставление прав для ZeroTier

Программа не запускается по причине недостаточных прав в системе. Похоже это связано с поднятием TUN/TAP виртуального адаптера сети. Для делегирования прав сервису, надо выполнить строку в терминале XPEnology -

sed -i 's/package/root/g' /var/packages/zerotier/conf/privilege

Что бы не открывать SSH доступ к серверу, будем действовать через планировщик. Для этого идем - Панель управления -> Планировщик задач, и создаем новую задачу - Создать -> Запланированная задача -> Скрипт, заданный пользователем. Выбираем пользователя root.

-7

Во вкладке Настройки задач, в форме Скрипт, вставляем нашу строку команды и жмем ОК.

-8

Нас попросят ввести пароль пользователя (Администратора).

-9

Когда команда создана, отмечаем ее в интерфейсе и жмем кнопку "Запустить". Соглашаемся с выполнением команды.

-10

После этих операций, находим в списке установленных сервисов ZeroTier и запускаем. Программа предупредит что запускается с правами root. Соглашаемся и жмем ОК.

-11

Теперь надо подключить наш инстанс ZeroTier, к нашей виртуальной сети. Для этого надо выполнить еще одну команду, которая передает программе идентификатор нашей виртуальной сети ZeroTier. Команда выглядит так -

/var/packages/zerotier/target/bin/zerotier-one -q join xxxxxx

Где ХХХХХХ, это наш ID сети к которой мы подключаем наш NAS сервер.

Для выполнения команды, в запланированной задаче которой мы делегировали права рута этому сервису, заменим командную строку на вышеуказанную, внеся вместо ХХХХХХ наш ID сети, и точно так же выполним ее нажав кнопку "Запустить".

-12

После этих действий, заходим в аккаунт ZeroTier. В настройках нашей сети теперь можем наблюдать что одно устройство просит дать разрешение на подключение к нашей виртуальной сети.

-13

Ставим крыж в левом чек боксе, и жмем Authorize.

-14

После этого загорится чек авторизации. Теперь устройство NAS в сети.

-15

Нажав значок редактирования, можно сменить имя устройства на понятное. Я ввел имя NAS.

-16

Запомним адрес в графе - "Managed IPs", это адрес конкретного устройства в нашей виртуальной сети. В данном случае, устройство NAS, имеет адрес - 192.168.191.28.

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

Качаем дистрибутив установщика для WIN тыц. Устанавливаем сервис. В запустившемся приложении тыкаем мышкой на иконку в трэе, и жмем "Join New Network" и загоняем в форму номер ID нашей сети. Жмем в форме "Join".

-17

Возвращаемся на страницу ZeroTier, и обновив ее видим новое устройство. Подключаем его к сети как мы делали с NAS.

-18

Получаем такую картину. Оба устройства в сети!

-19

Теперь мы знаем, что устройства имеют следующие IP адреса-

NAS - 192.168.191.28

My_Comp - 192.168.191.48

Давайте проверим работу нашей сетки. Запускаем терминал на нашем компьютере и пропингуем оба адреса.

NAS сервер -

-20

Локальный компьютер -

-21

Теперь на компьютере введем адрес нашего NAS сервера - http://192.168.191.28

-22

У нас открылась страница авторизации NAS сервера. Причем открылась через ZeroTier а потом связь перешла на прямую связь между устройствами (это заметно по пингам на NAS).

Бесплатно, сеть может иметь до 10 точек (устройств). Теперь можно устроить совместные игры или шарить файлы и сервисы с локалки.

Всем удачи!