Headscale, o implementare open source a Tailscale

Acum câteva zile am vorbit aici pe blog despre Firezone, care este un utilitar excelent pentru crearea de servere VPN bazate pe WireGuard.

Și acum, cu această ocazie, vom vorbi despre un utilitar foarte similar numit „Headscale”, care este un proiect dezvoltat ca o implementare open-source a componentei serverului VPN Tailscale , permițându-vă să creați VPN-uri de tip Tailscale în propriile spații, fără a fi legați de servicii terțe.

Tailscale permite combinarea unui număr arbitrar de gazde dispersate geografic într-o rețea , construită după imaginea unei rețele mesh, în care fiecare nod comunică cu alte noduri direct (P2P) sau prin nodurile vecine, fără a transmite trafic prin serverele externe centralizate ale furnizorului VPN.

Pe lângă faptul că suportă controlul rutelor și accesului bazat pe ACL și permite stabilirea de canale de comunicație în condiții de utilizare a NAT (Network Address Translation), sistemul acceptă mecanisme STUN, ICE și DERP (analog cu TURN, dar bazat pe HTTPS). Dacă canalul de comunicație dintre anumite noduri este blocat, rețeaua poate redirecționa traficul prin alte noduri.

Tailscale diferă de proiectul Nebula , care este, de asemenea, conceput pentru a crea rețele VPN distribuite cu rutare mesh, folosind protocolul Wireguard pentru a organiza transferul de date între noduri, în timp ce Nebula folosește dezvoltări din proiectul Tinc, care folosește algoritmul AES-256 pentru a cripta pachetele GSM (Wireguard folosește criptarea ChaCha20, care în teste demonstrează performanțe și o capacitate de răspuns mai mare).

Un alt proiect similar, Innernet, este dezvoltat separat, în care protocolul Wireguard este, de asemenea, utilizat pentru schimbul de date între noduri. Spre deosebire de Tailscale și Nebula, Innernet folosește un sistem diferit de separare a accesului, bazat pe ACL-uri; etichetele nu sunt legate de noduri și subrețele individuale pentru a separa și izola diferite intervale de adrese IP, așa cum se întâmplă în rețelele de internet convenționale.

De asemenea, Innernet folosește Rust în loc de Go și merită menționat faptul că Innernet 1.5 cu suport îmbunătățit de traversare NAT a fost lansat acum câteva zile. Există, de asemenea, un proiect Netmaker, care vă permite să conectați rețele cu diferite topologii utilizând Wireguard, dar codul său este furnizat sub SSPL (Server-Side Public License), care nu este deschis din cauza prezenței unor cerințe discriminatorii.

Tailscale este distribuit folosind un model freemium, oferind acces gratuit pentru persoane fizice și acces plătit pentru companii și echipe. Componentele client Tailscale, cu excepția aplicațiilor grafice pentru Windows și macOS, sunt dezvoltate ca proiecte open-source sub licența BSD.

Software-ul de server externalizat al Tailscale, care autentifică noii clienți , coordonează gestionarea cheilor și organizează comunicarea între noduri, este proprietar. Proiectul Headscale abordează această problemă și oferă o implementare open-source independentă de componentele serverului Tailscale.

Headscale își asumă funcțiile de schimb de chei publice între noduri și efectuează, de asemenea, operațiunile de atribuire a adreselor IP și distribuire a tabelelor de rutare între noduri.

În forma sa actuală, Headscale implementează toate caracteristicile de bază ale unui server de management, cu excepția suportului pentru MagicDNS și Smart DNS. Mai exact, acceptă înregistrarea nodurilor (inclusiv prin web), adaptarea rețelei pentru adăugarea sau eliminarea nodurilor, subrețealizarea folosind spații de nume (permițând crearea unui VPN pentru mai mulți utilizatori), organizarea accesului partajat al nodurilor la subrețele în diferite spații de nume, controlul rutării (inclusiv atribuirea de noduri de ieșire pentru a accesa lumea exterioară), acces partajat prin ACL-uri și executarea DNS.

Codul Headscale este scris în Go și este distribuit sub licența BSD. Proiectul este dezvoltat de Juan Font de la Agenția Spațială Europeană.

În final, dacă sunteți interesați să aflați mai multe, puteți găsi detalii la linkul următor.


Adăugați ca sursă preferată în Google