Headscale, реалізація Tailscale з відкритим кодом

Кілька днів тому ми говорили тут у блозі про Firezone, що є чудовою утилітою для створення VPN-серверів на основі WireGuard.

А тепер настав час поговорити про досить схожу утиліту під назвою "Headscale" проект, розроблений як реалізація з відкритим кодом компонент сервера з мережі Tailscale VPN, що дозволяє створювати мережі VPN, подібні до Tailscale, у власних приміщеннях, без зв’язку зі сторонніми службами.

Хвостова шкала дозволяє об'єднати довільну кількість географічно розпорошених хостів у мережі, побудований на зображенні сітчастої мережі, в якій кожен вузол спілкується з іншими вузлами безпосередньо (P2P) або через сусідні вузли, не передаючи трафік через централізовані зовнішні сервери постачальника VPN.

Крім того Підтримується шлях та контроль доступу на основі ACL і що для встановлення каналів зв'язку в умовах використання перекладачів адрес (NAT) підтримуються механізми STUN, ICE та DERP (аналогічно TURN, але на основі HTTPS). Якщо канал зв'язку між певними вузлами заблокований, мережа може повторно маршрутизувати маршрут трафіку через інші вузли.

Хвостова шкала sі відмінність від проекту Туманність яка також призначена для створення розподілених мереж VPN з сітчастою маршрутизацією, використовуючи протокол Wireguard для організації передачі даних між вузлами, в той час як Туманність використовує розробки проекту Tinc, який використовує алгоритм AES-256 для шифрування пакетів GSM (Wireguard використовує шифрування ChaCha20, яке при тестуванні демонструє більш високу продуктивність і чуйність).

Інший подібний проект, Innernet, розробляється окремо, в якому протокол Wireguard він також використовується для обміну даними між вузлами. На відміну від Tailscale та Nebula в Innernet, була використана інша система поділу доступу на основі ACL Мітки не прив’язані до окремих вузлів та підмереж при розділенні та ізоляції різних діапазонів IP -адрес, як у звичайних мережах Інтернету.

Крім того, Innernet використовує Rust замість Go, і варто згадати, що Innernet 1.5 з покращеною підтримкою обходу NAT був випущений кілька днів тому. Існує також проект Netmaker, який дозволяє підключати мережі з різними топологіями за допомогою Wireguard, але його код поставляється під SSPL (Серверна ліцензія на стороні сервера), який не відкритий через наявність дискримінаційних вимог.

Хвостова шкала поширюється за допомогою безкоштовної моделі Freemium для приватних осіб та платний доступ для компаній та команд. Компоненти клієнта Tailscale, за винятком графічних додатків для Windows та macOS, розробляються у вигляді проектів з відкритим кодом під ліцензією BSD.

Аутсорсингове серверне програмне забезпечення Tailscale для автентифікації нових клієнтів, координує управління ключамиs та організовує зв'язок між вузлами є фірмовою. Проект Headscale вирішує цю проблему та забезпечує окрему реалізацію компонентів сервера Tailscale з відкритим кодом.

Headscale бере на себе функції обміну відкритими ключами вузлаs, а також виконує операції призначення IP -адрес та розподілу таблиць маршрутизації між вузлами.

У теперішньому вигляді Headscale реалізує всі основні функції сервера управління, за винятком підтримки MagicDNS та Smart DNS. Зокрема, підтримує функції реєстрації вузлів (навіть через Інтернет), адаптувати мережу для додавання або видалення вузлів, розділити підмережі за допомогою просторів імен (можна створити мережу VPN для кількох користувачів), організувати спільний доступ від вузлів до підмереж у різних просторах імен, керувати маршрутизацією (включаючи призначення вузлів виходу) для доступу до зовнішнього світу), спільний доступ через ACL та виконання DNS.

Код Headscale написаний на Go та розповсюджується під ліцензією BSD. Проект розробляється Хуаном Фонтом з Європейського космічного агентства.

Нарешті, якщо вам цікаво дізнатися більше про це, ви можете ознайомитися з деталями У наступному посиланні.


Зміст статті відповідає нашим принципам редакційна етика. Щоб повідомити про помилку, натисніть тут.

Будьте першим, щоб коментувати

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.