1. Блог
  2. Мануали

Що таке ZeroTier і як він працює

Що таке ZeroTier і як він працює

ZeroTier об’єднує пристрої в різних мережах в одну віртуальну локальну мережу. Сервер у дата-центрі, домашній комп’ютер за NAT і ноутбук у мобільному інтернеті отримують адреси зі спільної підмережі й бачать один одного напряму — без білих IP-адрес, прокидання портів і ручного налаштування тунелів.

Чим ZeroTier відрізняється від звичайного VPN

Класичний VPN влаштований за схемою «зірка»: усі клієнти підключаються до одного сервера, і весь трафік іде через нього. ZeroTier будує однорангову мережу: пристрої встановлюють прямі зашифровані з’єднання один з одним, а центральні сервери лише допомагають їм знайти один одного.

Звідси головні властивості:

  • не потрібен сервер із публічною адресою — пристрої за NAT з’єднуються самі;
  • трафік іде найкоротшим шляхом, а не через центральний вузол;
  • мережа поводиться як локальна: працюють широкомовні запити, виявлення пристроїв, будь-які протоколи поверх Ethernet;
  • керування централізоване: учасники, адреси та правила задаються в одній панелі.

Основні поняття

Вузол (node). Будь-який пристрій зі встановленим ZeroTier. Кожен вузол має постійну 10-значну адресу, яка створюється під час першого запуску й прив’язана до його криптографічного ключа.

Мережа (network). Віртуальний сегмент Ethernet із 16-значним ідентифікатором. Вузол приєднується до мережі за цим ідентифікатором. Один пристрій може бути учасником кількох мереж одночасно.

Контролер. Служба, яка зберігає налаштування мережі: список дозволених учасників, видані адреси, маршрути та правила. Можна користуватися хмарним контролером ZeroTier Central або розгорнути власний.

Кореневі сервери. Інфраструктура ZeroTier, через яку вузли знаходять один одного. Самі дані через них у звичайній ситуації не проходять.

Ретрансляція (relay). Якщо пряме з’єднання встановити не вдається — наприклад, обидва пристрої перебувають за суворим NAT, — трафік іде через проміжний сервер. З’єднання залишається зашифрованим, але стає повільнішим.

Як встановлюється з’єднання

  1. Вузол запускається й зв’язується з кореневими серверами.
  2. Під час приєднання до мережі він запитує в контролера дозвіл і налаштування.
  3. Адміністратор авторизує вузол у панелі керування — без цього в приватну мережу не потрапити.
  4. Вузол отримує адресу у віртуальній мережі.
  5. Коли два вузли хочуть обмінятися даними, кореневі сервери допомагають їм «пробити» NAT і встановити пряме з’єднання через UDP.
  6. Далі дані йдуть напряму й шифруються від вузла до вузла.

Ключі шифрування не залишають пристроїв: ні кореневі сервери, ні контролер не можуть розшифрувати трафік.

Для чого використовують ZeroTier

  • Доступ до домашньої мережі без білої IP-адреси й налаштування роутера.
  • Об’єднання серверів у різних провайдерів в одну закриту мережу — бази даних і внутрішні сервіси не потрібно публікувати в інтернет.
  • Віддалена робота: співробітники підключаються до офісних ресурсів із будь-якого пристрою.
  • Об’єднання офісів через шлюзи в кожній локальній мережі.
  • Адміністрування: доступ по SSH або RDP до пристроїв за NAT.

ZeroTier, WireGuard і Tailscale

ZeroTier WireGuard Tailscale
Топологія однорангова мережа точка-точка, налаштовується вручну однорангова мережа
Рівень Ethernet (L2) IP (L3) IP (L3)
Налаштування панель керування файли конфігурації панель керування
Робота за NAT автоматично потрібен вузол із публічною адресою автоматично
Власний контролер можливий не потрібен через Headscale
Швидкість висока максимальна висока

WireGuard швидший і простіше влаштований, але кожне з’єднання описується вручну, а принаймні одна сторона має бути доступна з інтернету. Він добрий для схеми «сервер і клієнти» — див. WireGuard із вебінтерфейсом.

Tailscale розв’язує те саме завдання, що й ZeroTier, але поверх WireGuard і на рівні IP. Його простіше почати використовувати, зате ZeroTier дає повноцінну мережу другого рівня — це важливо для протоколів, яким потрібна широкомовна розсилка, і для мережевих мостів.

Обмеження

  • Залежність від інфраструктури ZeroTier. Для пошуку вузлів потрібні кореневі сервери, а в разі використання хмарного контролера — і він. Уже встановлені з’єднання продовжують працювати й без них, але нові вузли підключитися не зможуть.
  • Безкоштовний тариф обмежений за кількістю пристроїв і мереж. Умови змінювалися кілька разів, тому перевіряйте актуальні ліміти на сайті ZeroTier.
  • Продуктивність. ZeroTier працює в користувацькому просторі й на швидких каналах поступається WireGuard, який вбудовано в ядро Linux.
  • UDP. У мережах, де UDP заблоковано, з’єднання піде через ретрансляцію по TCP і буде повільним.

Власний контролер

Якщо не хочеться залежати від хмарної панелі або впиратися в ліміти тарифу, контролер можна розмістити на власному VPS. Він вбудований у кожен екземпляр ZeroTier, а керувати ним зручно через відкриті вебпанелі на кшталт ZTNET або ztncui. Кореневі сервери при цьому залишаються спільними, якщо не розгортати власні.

Безпека

  • Використовуйте приватні мережі: кожен новий учасник має бути авторизований вручну.
  • Ідентифікатор мережі сам по собі не дає доступу, але не публікуйте його без потреби.
  • Налаштуйте правила потоку (flow rules): типово всі учасники мережі бачать один одного, як у звичайній локальній мережі.
  • Не вимикайте файрвол на пристроях: інтерфейс ZeroTier для системи — така сама мережа, як будь-яка інша.

З чого почати

Практична частина — створення мережі, підключення пристроїв і налаштування доступу до локальної мережі через шлюз — описана в наступній статті: Створюємо VPN-мережу із ZeroTier.

#zerotier#vpn#мережа#sd-wan#віддалений доступ

Ця стаття іншими мовами:EnglishРусский