Headscale, një zbatim me burim të hapur i Tailscale

Disa ditë më parë folëm këtu në blog rreth Firezone, i cili është një program i shkëlqyer për krijimin e serverëve VPN të bazuar në WireGuard.

Dhe tani, me këtë rast, do të flasim për një program shumë të ngjashëm të quajtur "Headscale", i cili është një projekt i zhvilluar si një implementim me burim të hapur i komponentit të serverit VPN Tailscale , duke ju lejuar të krijoni VPN të ngjashme me Tailscale në ambientet tuaja, pa qenë të lidhur me shërbime të palëve të treta.

Tailscale lejon kombinimin e një numri arbitrar të hosteve të shpërndarë gjeografikisht në një rrjet , të ndërtuar në imazhin e një rrjeti mesh, në të cilin çdo nyje komunikon me nyje të tjera direkt (P2P) ose përmes nyjeve fqinje, pa transmetuar trafik përmes serverave të jashtëm të centralizuar të ofruesit VPN.

Përveç mbështetjes së kontrollit të rrugëve dhe aksesit të bazuar në ACL , dhe mundësimit të krijimit të kanaleve të komunikimit në kushtet e përdorimit të Përkthimit të Adresës së Rrjetit (NAT), sistemi mbështet mekanizmat STUN, ICE dhe DERP (analogë me TURN, por të bazuar në HTTPS). Nëse kanali i komunikimit midis nyjeve të caktuara është i bllokuar, rrjeti mund ta ridrejtojë trafikun përmes nyjeve të tjera.

Tailscale ndryshon nga projekti Nebula , i cili është gjithashtu i projektuar për të krijuar rrjete VPN të shpërndara me rrjetë, duke përdorur protokollin Wireguard për të organizuar transferimin e të dhënave midis nyjeve, ndërsa Nebula përdor zhvillimet nga projekti Tinc, i cili përdor algoritmin AES-256 për të kriptuar paketat GSM (Wireguard përdor kriptimin ChaCha20, i cili në teste tregon performancë dhe reagim më të lartë).

Një projekt tjetër i ngjashëm, Innernet, po zhvillohet veçmas, në të cilin protokolli Wireguard përdoret gjithashtu për të shkëmbyer të dhëna midis nyjeve. Në ndryshim nga Tailscale dhe Nebula, Innernet përdor një sistem të ndryshëm ndarjeje të aksesit bazuar në ACL; etiketat nuk janë të lidhura me nyje dhe nënrrjete individuale për të ndarë dhe izoluar diapazone të ndryshme të adresave IP, si në rrjetet konvencionale të internetit.

Gjithashtu, Innernet përdor Rust në vend të Go dhe vlen të përmendet se Innernet 1.5 me mbështetje të përmirësuar të përshkimit të NAT u lëshua disa ditë më parë. Ekziston gjithashtu një projekt Netmaker, i cili ju lejon të lidhni rrjete me topologji të ndryshme duke përdorur Wireguard, por kodi i tij furnizohet nën SSPL (Licenca Publike e Server-Side), e cila nuk është e hapur për shkak të pranisë së kërkesave diskriminuese.

Tailscale shpërndahet duke përdorur një model freemium, duke ofruar akses falas për individët dhe akses me pagesë për bizneset dhe ekipet. Komponentët e klientit Tailscale, me përjashtim të aplikacioneve grafike për Windows dhe macOS, zhvillohen si projekte me burim të hapur sipas licencës BSD.

Softueri i serverit të Tailscale i kontraktuar nga jashtë, i cili autentifikon klientët e rinj , koordinon menaxhimin e çelësave dhe organizon komunikimin midis nyjeve, është pronësor. Projekti Headscale adreson këtë çështje dhe ofron një implementim me burim të hapur të pavarur nga komponentët e serverit Tailscale.

Headscale merr përsipër funksionet e shkëmbimit të çelësave publik midis nyjeve dhe gjithashtu kryen operacionet e caktimit të adresës IP dhe shpërndarjes së tabelës së rrugëzimit midis nyjeve.

Në formën e saj aktuale, Headscale zbaton të gjitha veçoritë kryesore të një serveri menaxhimi, me përjashtim të mbështetjes për MagicDNS dhe Smart DNS. Në mënyrë specifike, ai mbështet regjistrimin e nyjeve (duke përfshirë edhe nëpërmjet internetit), përshtatjen e rrjetit për të shtuar ose hequr nyje, krijimin e nënrrjeteve duke përdorur hapësira emrash (duke lejuar krijimin e një VPN për përdorues të shumtë), organizimin e aksesit të përbashkët të nyjeve në nënrrjete në hapësira emrash të ndryshme, kontrollin e rrugëzimit (duke përfshirë caktimin e nyjeve dalëse për të aksesuar botën e jashtme), aksesin e përbashkët nëpërmjet ACL-ve dhe ekzekutimin e DNS-së.

Kodi Headscale është shkruar në Go dhe shpërndahet nën licencën BSD. Projekti është duke u zhvilluar nga Juan Font i Agjencisë Evropiane të Hapësirës.

Së fundmi, nëse jeni të interesuar të mësoni më shumë, mund t'i gjeni detajet në lidhjen e mëposhtme.


Shto si burim të preferuar në Google