Налаштування ZeroTier для віртуальної приватної мережі

Коли сервери розкидані по різних дата-центрах і хмарах, а старі системи потребують єдиної локальної мережі, звичайні 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