Headscale, een open source implementatie van Tailscale

Paar dagen geleden we hadden het hier op de blog over Firezone, wat een uitstekend hulpprogramma is voor het maken van op WireGuard gebaseerde VPN-servers.

En nu is het deze keer tijd om te praten over een redelijk vergelijkbaar hulpprogramma genaamd "Headscale", dat is: een project dat is ontwikkeld als een open source-implementatie servercomponent van het Tailscale-netwerk VPN, waarmee u VPN-netwerken vergelijkbaar met Tailscale op uw eigen locatie kunt creëren, zonder gekoppeld te zijn aan services van derden.

Staartschaal maakt het mogelijk om een ​​willekeurig aantal geografisch verspreide hosts in een netwerk te combineren, gebouwd op het beeld van een mesh-netwerk, waarbij elk knooppunt rechtstreeks (P2P) of via aangrenzende knooppunten communiceert met andere knooppunten, zonder verkeer via gecentraliseerde externe servers van de VPN-provider te verzenden.

Daarnaast ACL-gebaseerd pad en toegangscontrole wordt ondersteund en dat om communicatiekanalen tot stand te brengen onder de gebruiksvoorwaarden van adresvertalers (NAT), de STUN-, ICE- en DERP-mechanismen (vergelijkbaar met TURN, maar gebaseerd op HTTPS) worden ondersteund. Als het communicatiekanaal tussen bepaalde knooppunten is geblokkeerd, kan het netwerk omleiden om verkeer via andere knooppunten te routeren.

staartschaal sen verschil met het Nebula-project die ook is ontworpen om gedistribueerde VPN-netwerken te creëren met mesh-routing, met behulp van het Wireguard-protocol om gegevensoverdracht tussen knooppunten te organiseren, terwijl Nebula de ontwikkelingen van het Tinc-project gebruikt, die het AES-256-algoritme gebruikt om GSM-pakketten te coderen (Wireguard gebruikt ChaCha20-codering, die bij het testen hogere prestaties en reactievermogen laat zien).

Een ander soortgelijk project, Innernet, wordt afzonderlijk ontwikkeld, waarbij het Wireguard-protocol het wordt ook gebruikt om gegevens tussen knooppunten uit te wisselen. Daarentegen werd van Tailscale en Nebula op Innernet een ander systeem van toegangsscheiding op basis van ACL gebruikt Tags zijn niet gebonden aan individuele knooppunten en subnetten bij de scheiding en isolatie van verschillende reeksen IP-adressen, zoals bij conventionele internetnetwerken.

Ook gebruikt Innernet Rust in plaats van Go en het is vermeldenswaard dat Innernet 1.5 met verbeterde NAT-traversal-ondersteuning een paar dagen geleden is uitgebracht. Er is ook een Netmaker-project, waarmee u netwerken met verschillende topologieën kunt verbinden met behulp van Wireguard, maar de code wordt geleverd onder de SSPL (Server Side Public License), die niet open is vanwege de aanwezigheid van discriminerende vereisten.

Tailscale wordt gedistribueerd met behulp van een gratis te gebruiken Freemium-model voor individuen en betaalde toegang voor bedrijven en teams. De componenten van de Tailscale client, met uitzondering van de grafische applicaties voor Windows en macOS, zijn ontwikkeld in de vorm van open source projecten onder de BSD-licentie.

Tailscale's uitbestede serversoftware die nieuwe klanten verifieert, coördineert sleutelbeheers en de communicatie tussen knooppunten organiseert, is eigendom. Het Headscale-project lost dit probleem op en biedt een aparte open source-implementatie van de Tailscale-servercomponenten.

Headscale neemt functies voor het uitwisselen van openbare sleutels overs en voert ook de bewerkingen uit van het toewijzen van IP-adressen en het distribueren van routeringstabellen tussen knooppunten.

In zijn huidige vorm Headscale implementeert alle hoofdfuncties van de beheerserver, met uitzondering van ondersteuning voor MagicDNS en Smart DNS. Vooral, ondersteunt de functies van het registreren van knooppunten (zelfs via het web), het netwerk aanpassen om nodes toe te voegen of te verwijderen, subnetten verdelen met behulp van naamruimten (u kunt een VPN-netwerk maken voor meerdere gebruikers), gedeelde toegang organiseren van knooppunten tot subnetten in verschillende naamruimten, routeringscontrole (inclusief het toewijzen van exit-knooppunten toegang tot de buitenwereld), gedeelde toegang via ACL en DNS-uitvoering.

De Headscale-code is geschreven in Go en wordt gedistribueerd onder de BSD-licentie. Het project wordt ontwikkeld door Juan Font van de European Space Agency.

Tot slot, als u geïnteresseerd bent om er meer over te weten, kunt u de details raadplegen In de volgende link.


De inhoud van het artikel voldoet aan onze principes van redactionele ethiek. Klik op om een ​​fout te melden hier.

Wees de eerste om te reageren

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.