Headscale, Tailscale atvērtā koda ieviešana

Pirms dažām dienām mēs šeit emuārā runājām par Firezone, kas ir lieliska utilīta WireGuard balstītu VPN serveru izveidei.

Un tagad, šoreiz, mēs runāsim par ļoti līdzīgu utilītu ar nosaukumu "Headscale", kas ir projekts, kas izstrādāts kā Tailscale VPN servera komponentes atvērtā koda ieviešana , ļaujot jums izveidot Tailscale līdzīgus VPN savās telpās, nepiesaistot tos trešo pušu pakalpojumiem.

Tailscale ļauj apvienot patvaļīgu skaitu ģeogrāfiski izkliedētu resursdatoru tīklā , kas veidots režģa tīkla attēlā, kurā katrs mezgls sazinās ar citiem mezgliem tieši (P2P) vai caur kaimiņu mezgliem, nepārraidot datplūsmu caur VPN pakalpojumu sniedzēja centralizētiem ārējiem serveriem.

Papildus ACL balstītas maršrutēšanas un piekļuves kontroles atbalstam un sakaru kanālu izveides iespējošanai tīkla adrešu tulkošanas (NAT) lietošanas apstākļos sistēma atbalsta STUN, ICE un DERP mehānismus (analogi TURN, bet balstīti uz HTTPS). Ja sakaru kanāls starp noteiktiem mezgliem ir bloķēts, tīkls var novirzīt datplūsmu caur citiem mezgliem.

Tailscale atšķiras no Nebula projekta , kas arī ir paredzēts izkliedētu VPN tīklu izveidei ar tīkla maršrutēšanu, izmantojot Wireguard protokolu datu pārsūtīšanas organizēšanai starp mezgliem, savukārt Nebula izmanto Tinc projekta izstrādes, kas GSM pakešu šifrēšanai izmanto AES-256 algoritmu (Wireguard izmanto ChaCha20 šifrēšanu, kas testos uzrāda augstāku veiktspēju un atsaucību).

Atsevišķi tiek izstrādāts vēl viens līdzīgs projekts — Innernet, kurā datu apmaiņai starp mezgliem tiek izmantots arī Wireguard protokols. Atšķirībā no Tailscale un Nebula, Innernet izmanto atšķirīgu piekļuves atdalīšanas sistēmu, kuras pamatā ir ACL; etiķetes nav saistītas ar atsevišķiem mezgliem un apakštīkliem, lai atdalītu un izolētu dažādus IP adrešu diapazonus, kā tas ir tradicionālajos interneta tīklos.

Tāpat Innernet Go vietā izmanto Rust, un ir vērts pieminēt, ka Innernet 1.5 ar uzlabotu NAT šķērsošanas atbalstu tika izlaists pirms dažām dienām. Ir arī Netmaker projekts, kas ļauj savienot tīklus ar dažādām topoloģijām, izmantojot Wireguard, taču tā kods tiek piegādāts saskaņā ar SSPL (Server Side Public License), kas nav atvērta diskriminējošu prasību dēļ.

Tailscale tiek izplatīts, izmantojot freemium modeli, piedāvājot bezmaksas piekļuvi privātpersonām un maksas piekļuvi uzņēmumiem un komandām. Tailscale klienta komponenti, izņemot grafiskās lietojumprogrammas operētājsistēmām Windows un macOS, tiek izstrādāti kā atvērtā pirmkoda projekti saskaņā ar BSD licenci.

Tailscale ārpakalpojumu servera programmatūra, kas autentificē jaunus klientus , koordinē atslēgu pārvaldību un organizē saziņu starp mezgliem, ir patentēta. Headscale projekts risina šo problēmu un nodrošina atvērtā koda ieviešanu neatkarīgi no Tailscale servera komponentiem.

Headscale uzņemas publiskās atslēgas apmaiņas funkcijas starp mezgliem , kā arī veic IP adreses piešķiršanas un maršrutēšanas tabulas izplatīšanas darbības starp mezgliem.

Pašreizējā formā Headscale ievieš visas pārvaldības servera pamatfunkcijas, izņemot atbalstu MagicDNS un Smart DNS. Konkrēti, tas atbalsta mezglu reģistrēšanu (tostarp, izmantojot tīmekli), tīkla pielāgošanu mezglu pievienošanai vai noņemšanai, apakštīklu veidošanu, izmantojot vārdtelpas (ļaujot izveidot VPN vairākiem lietotājiem), koplietotas mezglu piekļuves organizēšanu apakštīkliem dažādās vārdtelpās, maršrutēšanas kontroli (tostarp izejošo mezglu piešķiršanu piekļuvei ārpasaulei), koplietotu piekļuvi, izmantojot ACL, un DNS izpildi.

Headscale kods ir rakstīts Go un tiek izplatīts saskaņā ar BSD licenci. Projektu izstrādā Huans Fonts no Eiropas Kosmosa aģentūras.

Visbeidzot, ja vēlaties uzzināt vairāk, informāciju varat atrast tālāk norādītajā saitē.


Pievienot kā vēlamo avotu pakalpojumā Google