Найти в Дзене
DeSoft.ru

Установка контроллера ZeroTier на свой сервер с помощью ZTNET

В комментариях к заметке в Telegram-канале про построение защищенной виртуальной сети подсказали одно из opensource решений для размещения контроллера ZeroTier на собственном сервере с полноценной админкой - ZTNET. Проект развивается уже несколько лет и успел обзавестись расширенной функциональностью по сравнению с базовыми функциями контроллера. Возникновение подобных наработок было лишь вопросом времени, поскольку разработчики ZeroTier не выкладывают в открытый доступ свою панель администратора, но предоставляют исходный код самого контроллера. Помимо основного назначения - создание и управление виртуальными сетями, система предоставляет целый ряд дополнительных возможностей: ❎ Наличие docker и standalone (под Debian / Ubuntu и FreeBSD) вариантов установки. ❎ Гибкая настройка многопользовательского доступа (роли, группы, организации). ❎ Двухфакторная аутентификация из коробки. ❎ Поддержка OAuth2. ❎ Наличие REST API для интеграции. ❎ Отправка уведомлений по списку событий через Webhoo
Оглавление
Selfhosted размещение ZeroTier контроллера со встроенной панелью администратора
Selfhosted размещение ZeroTier контроллера со встроенной панелью администратора

В комментариях к заметке в Telegram-канале про построение защищенной виртуальной сети подсказали одно из opensource решений для размещения контроллера ZeroTier на собственном сервере с полноценной админкой - ZTNET. Проект развивается уже несколько лет и успел обзавестись расширенной функциональностью по сравнению с базовыми функциями контроллера. Возникновение подобных наработок было лишь вопросом времени, поскольку разработчики ZeroTier не выкладывают в открытый доступ свою панель администратора, но предоставляют исходный код самого контроллера.

🔥 Особенности

Помимо основного назначения - создание и управление виртуальными сетями, система предоставляет целый ряд дополнительных возможностей:

❎ Наличие docker и standalone (под Debian / Ubuntu и FreeBSD) вариантов установки.

❎ Гибкая настройка многопользовательского доступа (роли, группы, организации).

❎ Двухфакторная аутентификация из коробки.

❎ Поддержка OAuth2.

❎ Наличие REST API для интеграции.

❎ Отправка уведомлений по списку событий через Webhook.

❎ Подключение к SMTP серверу для почтовых уведомлений.

❎ Создание организаций со встроенным пользовательским чатом.

BETA версия (на момент публикации v0.7.3).

⚒️ Установка с помощью docker

🔹 Забираем compose файл из репозитория

wget -O docker-compose.yml https://raw.githubusercontent.com/sinamics/ztnet/main/docker-compose.yml

✖️ Запускаю на виртуалке ради теста, поэтому домен и https не прикручиваю. Остается лишь сменить адрес в переменной окружения NEXTAUTH_URL сервиса ztnet на ip виртуалки. В документации подсказывают как это сделать с помощью sed

sed -i "s|http://localhost:3000|http://$(hostname -I | cut -d' ' -f1):3000|" docker-compose.yml

🔹 Стартуем

docker compose up -d

Через 3000 порт доступна веб панель системы.

❗️ Первый зарегистрированный пользователь получает права администратора.

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

🔖 Standalone варианты установки описаны в документации - Debian / Ubuntu и FreeBSD.

🌐 Создание собственной планеты

Также в комментариях был затронут вопрос касательно публичного сервера-координатора или "планеты" от разработчиков ZeroTier, который используется zt контроллером по умолчанию. ZTNET позволяет создать собственную планету и перенаправить задачи организации сетевого взаимодействия на нее.

  • Открываем раздел Контроллер ZT - СОЗДАТЬ PLANET. Endpoints заполнится адресом хоста, на котором запущена система. Также можно указать адреса дополнительных резервных серверов, на которых развернут zt контроллер. Важный момент - endpoints должны быть глобальными, т.е. доступными всем клиентам сети.
  • Чтобы контроллер подхватил изменения, необходимо перезапустить сервис zerotier, например, так docker restart zerotier.
  • Чтобы клиенты смогли использовать созданную планету, скачиваем архив с параметрами - СКАЧАТЬ КОНФИГ, внутри которого найдем файл planet, который и нужно передать всем клиентам сети для применения.
  • Файл planet подменяется на стороне клиентского приложения ZeroTier. Инструкция по замене под разные системы здесь.

Больше полезной информации в моем Telegram-канале.