Headscale, implementacja open source Tailscale

Kilka dni temu rozmawialiśmy tu na blogu o Firezone, które jest doskonałym narzędziem do tworzenia serwerów VPN opartych na WireGuard.

A teraz tym razem nadszedł czas, aby porozmawiać o dość podobnym narzędziu o nazwie „Skala głowy”, którym jest projekt, który jest rozwijany jako implementacja open source komponent serwera z sieci Tailscale VPN, który umożliwia tworzenie sieci VPN podobnych do Tailscale we własnej siedzibie, bez łączenia się z usługami stron trzecich.

Łuska ogonowa pozwala na łączenie dowolnej liczby hostów rozproszonych geograficznie w sieci, zbudowany na obrazie sieci mesh, w której każdy węzeł komunikuje się z innymi węzłami bezpośrednio (P2P) lub przez węzły sąsiednie, bez przesyłania ruchu przez scentralizowane serwery zewnętrzne dostawcy VPN.

poza tym Obsługa ścieżek opartych na listach ACL i kontroli dostępu oraz że w celu ustalenia kanałów komunikacji w warunkach korzystania z translatorów adresów (NAT) obsługiwane są mechanizmy STUN, ICE i DERP (analogicznie do TURN, ale w oparciu o HTTPS). Jeśli kanał komunikacyjny między niektórymi węzłami jest zablokowany, sieć może zmienić trasę, aby przekierować ruch przez inne węzły.

Skala ogonowa si różnica w stosunku do projektu Nebula który jest również przeznaczony do tworzenia rozproszonych sieci VPN z routingiem mesh, wykorzystującym protokół Wireguard do organizowania transferu danych między węzłami, podczas gdy Nebula wykorzystuje osiągnięcia projektu Tinc, który wykorzystuje algorytm AES-256 do szyfrowania pakietów GSM (Wireguard wykorzystuje szyfrowanie ChaCha20, które w testach wykazuje wyższą wydajność i responsywność).

Inny podobny projekt, Innernet, jest rozwijany oddzielnie, w którym protokół Wireguard służy również do wymiany danych między węzłami. Natomiast od Tailscale i Nebula on Innernet zastosowano inny system separacji dostępu oparty na ACL Etykiety nie są powiązane z poszczególnymi węzłami i podsieciami w separacji i izolacji różnych zakresów adresów IP, jak w konwencjonalnych sieciach internetowych.

Ponadto Innernet używa Rust zamiast Go i warto wspomnieć, że Innernet 1.5 z ulepszoną obsługą przechodzenia przez NAT został wydany kilka dni temu. Istnieje również projekt Netmaker, który pozwala łączyć sieci o różnych topologiach za pomocą Wireguard, ale jego kod jest dostarczany na licencji SSPL (Server-Side Public License), która nie jest otwarta ze względu na obecność dyskryminujących wymagań.

Tailscale jest dystrybuowana za pomocą bezpłatnego modelu Freemium dla osób indywidualnych oraz płatny dostęp dla firm i zespołów. Komponenty klienta Tailscale, z wyjątkiem aplikacji graficznych dla Windows i macOS, rozwijane są w formie projektów open source na licencji BSD.

Zewnętrzne oprogramowanie serwerowe Tailscale, które uwierzytelnia nowych klientów, koordynuje zarządzanie kluczamis i organizuje komunikację między węzłami jest zastrzeżona. Projekt Headscale rozwiązuje ten problem i zapewnia oddzielną implementację open source składników serwera Tailscale.

Headscale przejmuje funkcje wymiany klucza publicznego węzłas, a także wykonuje operacje przydzielania adresów IP i dystrybucji tablic routingu między węzłami.

W obecnej formie Headscale implementuje wszystkie główne funkcje serwera zarządzania, z wyjątkiem obsługi MagicDNS i Smart DNS. W szczególności, obsługuje funkcje rejestracji węzłów (nawet przez Internet), dostosuj sieć, aby dodawać lub usuwać węzły, dzielić podsieci za pomocą przestrzeni nazw (możesz utworzyć sieć VPN dla wielu użytkowników), organizować współdzielony dostęp od węzłów do podsieci w różnych przestrzeniach nazw, kontrola routingu (w tym przypisywanie węzłów wyjściowych dostęp do świata zewnętrznego), współdzielony dostęp przez ACL i wykonanie DNS.

Kod Headscale jest napisany w Go i jest rozpowszechniany na licencji BSD. Projekt rozwija Juan Font z Europejskiej Agencji Kosmicznej.

Na koniec, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami W poniższym linku.


Bądź pierwszym który skomentuje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.