Proiectul Headscale dezvoltă un server deschis pentru rețeaua VPN distribuită Tailscale

Proiectul Headscale dezvoltă o implementare deschisă a componentei server a rețelei VPN Tailscale, care vă permite să creați rețele VPN similare cu Tailscale la propriile facilități, fără a fi legat de servicii terțe. Codul Headscale este scris în Go și este licențiat sub licența BSD. Proiectul este dezvoltat de Juan Font de la Agenția Spațială Europeană.

Tailscale vă permite să combinați un număr arbitrar de gazde dispersate geografic într-o singură rețea, construită ca o rețea mesh, în care fiecare nod interacționează cu alte noduri direct (P2P) sau prin noduri învecinate, fără a transmite trafic prin serverele externe centralizate ale VPN. furnizor. Accesul bazat pe ACL și controlul rutei sunt acceptate. Pentru a stabili canale de comunicare atunci când se utilizează traducători de adrese (NAT), se oferă suport pentru mecanismele STUN, ICE și DERP (analog cu TURN, dar bazat pe HTTPS). Dacă canalul de comunicație între anumite noduri este blocat, rețeaua poate reconstrui rutarea pentru a direcționa traficul prin alte noduri.

Proiectul Headscale dezvoltă un server deschis pentru rețeaua VPN distribuită Tailscale

Tailscale diferă de proiectul Nebula, destinat și creării de rețele VPN distribuite cu rutare mesh, prin utilizarea protocolului Wireguard pentru a organiza transferul de date între noduri, în timp ce Nebula folosește dezvoltările proiectului Tinc, care folosește algoritmul AES-256 pentru a cripta pachetele. -GSM (Wireguard folosește cifrul ChaCha20, care în teste demonstrează un randament și o capacitate de răspuns mai mari).

Un alt proiect similar este dezvoltat separat - Innernet, în care protocolul Wireguard este folosit și pentru schimbul de date între noduri. Spre deosebire de Tailscale și Nebula, Innernet folosește un sistem diferit de separare a accesului, bazat nu pe ACL-uri cu etichete legate de noduri individuale, ci pe separarea subrețelelor și alocarea diferitelor game de adrese IP, ca în rețelele obișnuite de Internet. În plus, în loc de limbajul Go, Innernet folosește limbajul Rust. În urmă cu trei zile, actualizarea Innernet 1.5 a fost publicată cu suport îmbunătățit pentru traversarea NAT. Există și un proiect Netmaker care vă permite să combinați rețele cu diferite topologii folosind Wireguard, dar codul său este furnizat sub SSPL (Server Side Public License), care nu este deschisă din cauza prezenței cerințelor discriminatorii.

Tailscale este distribuit folosind un model freemium, adică utilizarea 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 deschise sub licența BSD. Software-ul de server care rulează pe partea Tailscale este proprietar, oferind autentificare atunci când se conectează clienți noi, coordonând gestionarea cheilor și organizând comunicarea între noduri. Proiectul Headscale abordează acest neajuns și oferă o implementare independentă și deschisă a componentelor backend Tailscale.

Proiectul Headscale dezvoltă un server deschis pentru rețeaua VPN distribuită Tailscale

Headscale preia funcțiile de schimb de chei publice ale nodurilor și efectuează, de asemenea, operațiunile de atribuire a adreselor IP și de distribuire a tabelelor de rutare între noduri. În forma sa actuală, Headscale implementează toate capabilitățile de bază ale serverului de management, cu excepția suportului pentru MagicDNS și Smart DNS. În special, funcțiile de înregistrare a nodurilor (inclusiv prin web), adaptarea rețelei la adăugarea sau eliminarea nodurilor, separarea subrețelelor folosind spații de nume (o rețea VPN poate fi creată pentru mai mulți utilizatori), organizarea accesului partajat al nodurilor la subrețele din spații de nume diferite. , controlul rutare (inclusiv alocarea nodurilor de ieșire pentru a accesa lumea exterioară), separarea accesului prin ACL-uri și operarea serviciului DNS.

Sursa: opennet.ru

Adauga un comentariu