A Headscale projekt egy nyílt forráskódú megoldást fejleszt a Tailscale VPN-hálózat szerverkomponensére, amely lehetővé teszi hasonló Tailscale VPN-hálózatok létrehozását saját erőforrásaikon, külső szolgáltatásokhoz való kötődés nélkül. A Headscale kód Go nyelven íródott, és BSD licenc alatt terjesztik. A projekt fejlesztője Juan Font Alonso az Európai Űrügynökségtől.
A Tailscale lehetővé teszi, hogy tetszőleges számú területileg elkülönített hosztot egy hálózatba kapcsoljunk, amely mesh-hálózaton alapul, ahol minden csomópont közvetlenül kommunikál a többi csomóponttal (P2P) vagy szomszédos csomópontokon keresztül, anélkül, hogy a forgalmat központosított külső szervereken keresztül irányítanák. VPN-szolgáltató. Támogatott a hozzáférés- és útvonalkezelés ACL alapú. Az átjárók (NAT) alkalmazása esetén a kommunikációs csatornák létrehozásához STUN, ICE és DERP mechanizmusok támogatása áll rendelkezésre (a TURN analógja, de HTTPS alapú). Ha egyes csomópontok közötti kapcsolat blokkolva van, a hálózat módosíthatja az útválasztást, hogy a forgalmat más csomópontokon keresztül irányítsa.

A Nebula projekttől, amely szintén elosztott VPN-hálózatok létrehozására szolgál mesh útvonalazással, a Tailscale a Wireguard protokoll használatával különbözik, amely a csomópontok közötti adatátvitelt biztosít, míg a Nebula a Tinc projekt megoldásait használja, ahol az AES-256-GSM algoritmust alkalmazzák a csomagok titkosítására (a Wireguard a ChaCha20 titkosítót használja, amely a tesztek során magasabb átbocsátó képességet és válaszidőt mutat).
Egy másik hasonló projekt is külön fejlődik — Innernet, amely szintén a Wireguard protokollt használja a csomópontok közötti adatcserére. A Tailscale-hez és a Nebulához képest az Innernet más hozzáférési megosztási rendszert alkalmaz, amely nem ACL-alapú, ahol címkéket rendelnek egyes csomópontokhoz, hanem alhálózatok megosztásán és különböző tartományok kijelölésén alapul. IP-címek, mint a hagyományos internetes hálózatokban. Ezenkívül az Innernet a Go nyelv helyett Rust nyelvet használ. Három nappal ezelőtt megjelent az Innernet 1.5 frissítés, amely javította a NAT megkerülésének támogatását. Létezik egy Netmaker nevű projekt is, amely lehetővé teszi különböző topológiájú hálózatok összekapcsolását a Wireguard segítségével, de a kódja SSPL (Server Side Public License) licenc alatt áll, amely nem nyílt, mert diszkrét követelményeket tartalmaz.
A Tailscale a Freemium modell alapján terjed, amely lehetővé teszi az egyéni felhasználók ingyenes használatát, míg a cégek és csapatok számára fizetős hozzáférést biztosít. A Tailscale klienskomponensei, kivéve a Windows és macOS grafikus alkalmazásokat, nyílt projektek formájában fejlődnek a BSD licenc alatt. A Tailscale által működtetett szerveroldali szoftver, amely az új kliensek csatlakozásához szükséges autentikációt biztosítja, a kulcsok kezelését koordinálja és a csomópontok közötti kommunikációt szervezi, üzleti jellegű. A Headscale projekt megszünteti ezt a hátrányt, és független nyílt implementációt kínál a Tailscale szerverkomponenseiből.

A Headscale átveszi a csomópontok közötti nyílt kulcsok megosztásának funkcióit, valamint végrehajtja az IP-címek hozzárendelését és a routing táblák elosztását a csomópontok között. Jelenlegi formájában a Headscale minden alapvető funkciót megvalósít a vezérlőszerverhez, kivéve a MagicDNS és a Smart DNS támogatását. Különösen támogatja a csomópontok regisztrálásának funkcióit (beleértve a webes regisztrációt), a hálózat alkalmazkodását a csomópontok hozzáadásához vagy eltávolításához, a névtér alapú alhálózatok szétválasztását (egy VPN-hálózat létrehozható több felhasználó számára), a csomópontok közötti alhálózatokhoz való hozzáférés megszervezését különböző névterekben, a routing kezelését (beleértve a kimenő csomópontok hozzárendelését a külső világ eléréséhez), a hozzáférés szétválasztását ACL-en keresztül, és a DNS-szolgáltatás működését.
Forrás: opennet.ru
