Muutama päivä sitten puhuimme täällä blogissa Firezonesta, joka on erinomainen apuohjelma WireGuard-pohjaisten VPN-palvelimien luomiseen.
Ja nyt, tällä kertaa, puhumme hyvin samankaltaisesta apuohjelmasta nimeltä "Headscale", joka on Tailscale VPN -palvelinkomponentin avoimen lähdekoodin toteutuksena kehitetty projekti , jonka avulla voit luoda Tailscalen kaltaisia VPN-verkkoja omissa tiloissasi ilman, että olet sidottu kolmannen osapuolen palveluihin.
Tailscale mahdollistaa mielivaltaisen määrän maantieteellisesti hajallaan olevien isäntien yhdistämisen verkkoon , joka on rakennettu mesh-verkon kuvaksi, jossa jokainen solmu kommunikoi muiden solmujen kanssa suoraan (P2P) tai naapurisolmujen kautta ilman, että liikennettä lähetetään VPN-palveluntarjoajan keskitettyjen ulkoisten palvelimien kautta.
ACL-pohjaisen reitti- ja pääsynhallinnan tukemisen ja verkko-osoitteenmuunnoksen (NAT) käyttöolosuhteissa tapahtuvan tietoliikennekanavien muodostamisen lisäksi järjestelmä tukee STUN-, ICE- ja DERP-mekanismeja (analogisia TURN-mekanismeille, mutta perustuvat HTTPS:ään). Jos tiettyjen solmujen välinen tietoliikennekanava estetään, verkko voi reitittää liikenteen muiden solmujen kautta.
Tailscale eroaa Nebula-projektista , joka on myös suunniteltu luomaan hajautettuja VPN-verkkoja mesh-reitityksellä käyttäen Wireguard-protokollaa tiedonsiirron järjestämiseen solmujen välillä, kun taas Nebula käyttää Tinc-projektin kehitystä, joka käyttää AES-256-algoritmia GSM-pakettien salaamiseen (Wireguard käyttää ChaCha20-salausta, joka testeissä osoittaa parempaa suorituskykyä ja reagointikykyä).
Toinen vastaava projekti, Innernet, on kehitteillä erikseen ja siinä käytetään myös Wireguard-protokollaa tiedonsiirtoon solmujen välillä. Toisin kuin Tailscale ja Nebula, Innernet käyttää erilaista käyttöoikeusluetteloihin perustuvaa erottelujärjestelmää; tunnisteita ei ole linkitetty yksittäisiin solmuihin ja aliverkkoihin erottamaan ja eristämään eri IP-osoitealueita, kuten perinteisissä internetverkoissa.
Lisäksi Innernet käyttää Rustia Go: n sijasta, ja on syytä mainita, että Innernet 1.5, jossa on parannettu NAT -kulkutuki, julkaistiin muutama päivä sitten. On myös Netmaker -projekti, jonka avulla voit yhdistää eri topologioiden verkkoja Wireguardin avulla, mutta sen koodi toimitetaan SSPL (Server Side Public License) -palvelun alla, joka ei ole avoinna syrjivien vaatimusten vuoksi.
Tailscalea jaellaan freemium-mallilla, joka tarjoaa ilmaisen käyttöoikeuden yksityishenkilöille ja maksullisen käyttöoikeuden yrityksille ja tiimeille. Tailscalen asiakaskomponentit, lukuun ottamatta Windowsin ja macOS:n graafisia sovelluksia, kehitetään avoimen lähdekoodin projekteina BSD-lisenssin alaisuudessa.
Tailscalen ulkoistettu palvelinohjelmisto, joka todentaa uudet asiakkaat , koordinoi avaintenhallintaa ja järjestää solmujen välisen kommunikaation, on patentoitu. Headscale-projekti ratkaisee tämän ongelman ja tarjoaa avoimen lähdekoodin toteutuksen, joka on riippumaton Tailscalen palvelinkomponenteista.
Headscale hoitaa julkisen avaimen vaihdon solmujen välillä ja suorittaa myös IP-osoitteiden määrityksen ja reititystaulukon jakelun solmujen välillä.
Nykymuodossaan Headscale toteuttaa kaikki hallintapalvelimen ydinominaisuudet lukuun ottamatta MagicDNS:n ja Smart DNS:n tukea. Tarkemmin sanottuna se tukee solmujen rekisteröintiä (myös verkon kautta), verkon mukauttamista solmujen lisäämiseen tai poistamiseen, aliverkkojen luomista nimiavaruuksien avulla (mahdollistaa VPN:n luomisen useille käyttäjille), jaettujen solmujen pääsyn järjestämistä eri nimiavaruuksissa oleviin aliverkkoihin, reitityksen hallintaa (mukaan lukien lähtevien solmujen määrittäminen ulkomaailman käyttöön), jaettua pääsyä ACL-lisäysten kautta ja DNS:n suorittamista.
Headscale -koodi on kirjoitettu Go -muodossa ja jaetaan BSD -lisenssillä. Hanketta kehittää Juan Font Euroopan avaruusjärjestöstä.
Lopuksi, jos olet kiinnostunut oppimaan lisää, löydät tiedot seuraavasta linkistä.