Prije nekoliko dana smo ovdje na blogu pričali o Firezoneu, izvrsnom uslužnom programu za stvaranje VPN poslužitelja temeljenih na WireGuardu.
A sada, ovom prilikom, govorit ćemo o vrlo sličnom uslužnom programu pod nazivom "Headscale", koji je projekt razvijen kao implementacija otvorenog koda komponente Tailscale VPN poslužitelja , omogućujući vam stvaranje VPN-ova sličnih Tailscaleu u vlastitim prostorijama, bez vezanja za usluge trećih strana.
Tailscale omogućuje kombiniranje proizvoljnog broja geografski raspršenih hostova u mrežu , izgrađenu po uzoru na mrežnu mrežu, u kojoj svaki čvor komunicira s drugim čvorovima izravno (P2P) ili putem susjednih čvorova, bez prijenosa prometa putem centraliziranih vanjskih poslužitelja VPN pružatelja usluga.
Osim što podržava kontrolu ruta i pristupa temeljenu na ACL-u i omogućuje uspostavljanje komunikacijskih kanala u uvjetima korištenja prevođenja mrežnih adresa (NAT), sustav podržava mehanizme STUN, ICE i DERP (analogno TURN-u, ali temeljeno na HTTPS-u). Ako je komunikacijski kanal između određenih čvorova blokiran, mreža može preusmjeriti promet preko drugih čvorova.
Tailscale se razlikuje od projekta Nebula , koji je također dizajniran za stvaranje distribuiranih VPN mreža s mesh usmjeravanjem, koristeći Wireguard protokol za organiziranje prijenosa podataka između čvorova, dok Nebula koristi razvoje iz projekta Tinc, koji koristi AES-256 algoritam za šifriranje GSM paketa (Wireguard koristi ChaCha20 šifriranje, koje u testovima pokazuje veće performanse i odzivnost).
Zasebno se razvija još jedan sličan projekt, Innernet, u kojem se Wireguard protokol također koristi za razmjenu podataka između čvorova. Za razliku od Tailscalea i Nebule, Innernet koristi drugačiji sustav odvajanja pristupa temeljen na ACL-ovima; oznake nisu povezane s pojedinačnim čvorovima i podmrežama kako bi se odvojili i izolirali različiti rasponi IP adresa, kao u konvencionalnim internetskim mrežama.
Također, Innernet koristi Rust umjesto Go, a vrijedno je spomenuti da je Innernet 1.5 s poboljšanom podrškom za prijelaz NAT objavljen prije nekoliko dana. Postoji i Netmaker projekt koji vam omogućuje povezivanje mreža s različitim topologijama pomoću Wireguarda, ali njegov kôd se isporučuje pod SSPL -om (Server Side Public License), koji nije otvoren zbog prisutnosti diskriminatornih zahtjeva.
Tailscale se distribuira putem freemium modela, nudeći besplatan pristup za pojedince i plaćeni pristup za tvrtke i timove. Klijentske komponente Tailscalea, s izuzetkom grafičkih aplikacija za Windows i macOS, razvijene su kao projekti otvorenog koda pod BSD licencom.
Tailscaleov softver za vanjske poslužitelje, koji autentificira nove klijente , koordinira upravljanje ključevima i organizira komunikaciju između čvorova, vlasnički je. Projekt Headscale rješava ovaj problem i pruža implementaciju otvorenog koda neovisnu o komponentama Tailscale poslužitelja.
Headscale preuzima funkcije razmjene javnih ključeva između čvorova , a također obavlja operacije dodjeljivanja IP adresa i distribucije tablice usmjeravanja između čvorova.
U svom trenutnom obliku, Headscale implementira sve osnovne značajke upravljačkog poslužitelja, s izuzetkom podrške za MagicDNS i Smart DNS. Konkretno, podržava registraciju čvorova (uključujući putem weba), prilagođavanje mreže za dodavanje ili uklanjanje čvorova, podmrežavanje pomoću imenskih prostora (omogućujući stvaranje VPN-a za više korisnika), organiziranje pristupa dijeljenih čvorova podmrežama u različitim imenskim prostorima, kontrolu usmjeravanja (uključujući dodjeljivanje izlaznih čvorova za pristup vanjskom svijetu), dijeljeni pristup putem ACL-ova i izvršavanje DNS-a.
Headscale kôd je napisan u Go i distribuira se pod BSD licencom. Projekt razvija Juan Font iz Europske svemirske agencije.
Konačno, ako ste zainteresirani saznati više, detalje možete pronaći na sljedećoj poveznici.