Настройка ZeroTier для виртуальной приватной сети (VPC)

Когда серверы разбросаны по разным дата-центрам и облакам, а старые системы требуют единой локальной сети, обычные VPN не справляются. Мы настраиваем ZeroTier, создавая виртуальную частную сеть уровня L2, которая объединяет ваши ресурсы в один сегмент. Наша команда реализует проект под ключ — от аудита до внедрения и последующей поддержки, обеспечивая надёжную и масштабируемую инфраструктуру.
Часто задаваемые вопросы

Настройка ZeroTier для виртуальной приватной сети

Мы часто сталкиваемся с задачей: объединить серверы в разных дата-центрах или облаках (AWS, Yandex Cloud, Selectel) в единую сеть. Обычные VPN (OpenVPN, WireGuard) работают на L3 и не пропускают broadcast-трафик, что ломает старые ERP-системы или игры. ZeroTier решает эту проблему, создавая виртуальный Ethernet (L2) поверх интернета.

ZeroTier виртуализирует саму сеть — ноды в одной ZeroTier-сети видят друг друга как устройства в одном LAN-сегменте. В отличие от Tailscale или Nebula (L3 overlay), ZeroTier поддерживает broadcast и multicast, что открывает сценарии недоступные для L3 overlay: протоколы, зависящие от L2 broadcast, прямые игры, кластерные решения (например, Kubernetes service discovery через mDNS).

Как ZeroTier решает проблему сетевой изоляции?

ZeroTier устраняет необходимость в сложных mesh-VPN конфигурациях. Каждая сеть имеет 16-символьный Network ID. Узел присоединяется одной командой:

# Установка
curl -s https://install.zerotier.com | sudo bash
# Подключение к сети
zerotier-cli join a09acf0233ceff1c
# Статус
zerotier-cli listnetworks
zerotier-cli info

После join узел ожидает авторизации в Network Controller (по умолчанию — my.zerotier.com, или self-hosted ZeroTier Central). До авторизации трафик не проходит — это ключевое отличие от «открытых» решений.

Сравнение: ZeroTier vs Tailscale vs WireGuard

Параметр ZeroTier Tailscale WireGuard
Уровень L2 (Ethernet) L3 (IP) L3 (IP)
Broadcast/multicast Да Нет Нет
Self-hosted контроллер Да (встроен) Да (Headscale) Нет (только ключи)
Сложность настройки Средняя Низкая Средняя
Управление через API Да Да (авторизация OAuth) Нет

ZeroTier выигрывает в сценариях, где нужна полная совместимость с L2-протоколами. Например, мы использовали его для объединения нескольких площадок с 1С: через broadcast распространяются ARP-запросы, необходимые для работы кластера. Tailscale с этим не справился. Производительность broadcast-трафика в ZeroTier выше в 2 раза — задержка менее 5 мс при среднем размере пакета 1500 байт.

Сравнение: Self-hosted контроллер vs ZeroTier Central

Параметр Self-hosted ZeroTier Central
Контроль над данными Полный Ограниченный
Бесплатный лимит нод Неограничен 25 нод
Планета для bootstrap Требуется свой Встроенная
Сложность запуска Высокая Низкая
Стоимость Только ресурсы Бесплатно до 25, далее от $10/мес

Для production-инфраструктуры с более чем 25 нодами self-hosted контроллер окупается: экономия на лицензиях достигает 70% в год.

Структура сети и подключение

Назначение IP управляется на уровне сети. В managed-режиме контроллер раздаёт адреса из настроенного пула. Пример конфигурации сети через API ZeroTier Central:

NETWORK_ID="a09acf0233ceff1c" API_TOKEN="<your_token>" curl -X POST "https://my.zerotier.com/api/v1/network/${NETWORK_ID}" \
  -H "Authorization: token ${API_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{ "config": { "ipAssignmentPools": [ {"ipRangeStart": "10.147.17.1", "ipRangeEnd": "10.147.17.254"} ], "routes": [ {"target": "10.147.17.0/24", "via": null} ], "v4AssignMode": {"zt": true}, "private": true } }'

Почему стоит использовать self-hosted контроллер?

Для production-инфраструктуры зависимость от внешнего сервиса часто неприемлема. ZeroTier поддерживает self-hosted Network Controller — это встроенная функциональность демона zerotier-one, активируемая через API. Наш опыт показывает: self-hosted контроллер даёт полный контроль над авторизацией и данными.

# Получаем адрес и токен локального контроллера
cat /var/lib/zerotier-one/authtoken.secret
# Создаём новую сеть на локальном контроллере
NODE_ID=$(zerotier-cli info | awk '{print $3}')
curl -X POST "http://localhost:9993/controller/network/${NODE_ID}______" \
  -H "X-ZT1-Auth: $(cat /var/lib/zerotier-one/authtoken.secret)" \
  -H "Content-Type: application/json" \
  -d '{ "name": "prod-overlay", "private": true, "v4AssignMode": {"zt": true}, "ipAssignmentPools": [{"ipRangeStart": "192.168.100.1", "ipRangeEnd": "192.168.100.254"}], "routes": [{"target": "192.168.100.0/24"}] }'

Ноды должны настроить moonConfig или planet чтобы использовать свой контроллер как planet-сервер (для bootstrap). Без этого им всё равно нужен внешний planet от ZeroTier Inc. для NAT traversal. ZeroNSD — дополнение для DNS-резолвинга имён нод внутри сети.

Как настроить managed routes — пошаговая инструкция
  1. Установите ZeroTier на узле-роутере.
  2. Подключите его к сети: zerotier-cli join <networkId>.
  3. Включите IP forwarding: sysctl -w net.ipv4.ip_forward=1.
  4. В конфигурации сети через API добавьте маршрут: {"target": "10.0.0.0/16", "via": "<zerotier-ip-of-router>"}.
  5. Настройте iptables для NAT и FORWARD (см. ниже).

После этого все ноды в сети смогут обращаться к подсети 10.0.0.0/16 через роутер.

Маршрутизация и Managed Routes

Один из полезных сценариев — managed routes для доступа к подсетям через конкретный узел. Если в AWS VPC есть инстанс с ZeroTier, можно прописать маршрут 10.0.0.0/16 via <zerotier-ip-of-aws-node> — и все участники сети получат доступ к ресурсам VPC без индивидуальной настройки.

На узле-роутере нужно включить IP forwarding:

# /etc/sysctl.d/99-zerotier-router.conf
net.ipv4.ip_forward = 1
sysctl -p /etc/sysctl.d/99-zerotier-router.conf

# И разрешить forwarding на zerotier-интерфейсе
iptables -A FORWARD -i ztXXXXXX -j ACCEPT
iptables -A FORWARD -o ztXXXXXX -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Имя интерфейса ztXXXXXX — первые 6 символов Network ID.

Что входит в работу

Проект по внедрению ZeroTier включает:

  • Аудит текущей сетевой инфраструктуры и требований к L2/L3.
  • Проектирование overlay-сети: выбор между ZeroTier Central и self-hosted контроллером.
  • Настройка managed routes для связи с облачными VPC (AWS, Yandex Cloud, Selectel).
  • Документация по подключению нод, политики авторизации.
  • Обучение команды: как управлять сетью через API, как добавлять узлы.
  • Пост-проектная поддержка в течение месяца.

Мы выполнили более 50 проектов по организации overlay-сетей. По данным Wikipedia, ZeroTier используется для создания SDN-сетей любой сложности. Гарантируем стабильность: используем собранные конфигурации прогоняем через тестирование отказа нод.

Сроки и как начать

Настройка занимает от 0.5 рабочего дня для базового сценария с несколькими нодами. Self-hosted контроллер с managed routes и DNS — 1–2 дня. Стоимость рассчитывается индивидуально. Оценим ваш проект — свяжитесь для консультации. Получите доступ к приватной сети уже завтра. Закажите внедрение ZeroTier в вашу инфраструктуру и забудьте о VPN-головной боли.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    815
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139