Headscale Project ontwikkelt open server voor het gedistribueerde VPN-netwerk van Tailscale

Het Headscale-project ontwikkelt een open implementatie van de servercomponent van het Tailscale VPN-netwerk, waarmee u op uw eigen locatie VPN-netwerken kunt creëren die vergelijkbaar zijn met Tailscale, zonder gebonden te zijn aan diensten van derden. De code van Headscale is geschreven in Go en gedistribueerd onder de BSD-licentie. Het project wordt ontwikkeld door Juan Font van de European Space Agency.

Met Tailscale kunt u een willekeurig aantal geografisch verspreide hosts combineren in één netwerk, gebouwd als een mesh-netwerk, waarin elk knooppunt rechtstreeks (P2P) of via aangrenzende knooppunten communiceert met andere knooppunten, zonder verkeer via de gecentraliseerde externe servers van de VPN te verzenden aanbieder. Op ACL gebaseerde toegang en routecontrole worden ondersteund. Om communicatiekanalen tot stand te brengen bij het gebruik van adresvertalers (NAT), wordt ondersteuning geboden voor de STUN-, ICE- en DERP-mechanismen (analoog aan TURN, maar gebaseerd op HTTPS). Als het communicatiekanaal tussen bepaalde knooppunten geblokkeerd is, kan het netwerk de routering opnieuw opbouwen om verkeer via andere knooppunten te leiden.

Headscale Project ontwikkelt open server voor het gedistribueerde VPN-netwerk van Tailscale

Tailscale verschilt van het Nebula-project, ook bedoeld voor het creëren van gedistribueerde VPN-netwerken met mesh-routering, door het Wireguard-protocol te gebruiken om gegevensoverdracht tussen knooppunten te organiseren, terwijl Nebula de ontwikkelingen van het Tinc-project gebruikt, dat het AES-256-algoritme gebruikt om pakketten te versleutelen. -GSM (Wireguard gebruikt het ChaCha20-cijfer, dat in tests een hogere doorvoer en reactievermogen aantoont).

Een ander soortgelijk project wordt afzonderlijk ontwikkeld: Innernet, waarin het Wireguard-protocol ook wordt gebruikt voor gegevensuitwisseling tussen knooppunten. In tegenstelling tot Tailscale en Nebula gebruikt Innernet een ander toegangsscheidingssysteem, niet gebaseerd op ACL's met tags die aan individuele knooppunten zijn gekoppeld, maar op de scheiding van subnetten en de toewijzing van verschillende reeksen IP-adressen, zoals in reguliere internetnetwerken. Bovendien gebruikt Innernet in plaats van de Go-taal de Rust-taal. Drie dagen geleden werd de Innernet 1.5-update gepubliceerd met verbeterde NAT-traversal-ondersteuning. Er is ook een Netmaker-project waarmee je netwerken met verschillende topologieën kunt combineren met behulp van Wireguard, maar de code ervan wordt geleverd onder de SSPL (Server Side Public License), die niet open is vanwege de aanwezigheid van discriminerende vereisten.

Tailscale wordt gedistribueerd via een freemium-model, wat betekent gratis gebruik voor individuen en betaalde toegang voor bedrijven en teams. Tailscale clientcomponenten, met uitzondering van grafische applicaties voor Windows en macOS, worden ontwikkeld als open projecten onder de BSD-licentie. De serversoftware die aan de kant van Tailscale draait, is bedrijfseigen en biedt authenticatie bij het verbinden van nieuwe clients, coördineert het sleutelbeheer en organiseert de communicatie tussen knooppunten. Het Headscale-project pakt deze tekortkoming aan en biedt een onafhankelijke, open implementatie van Tailscale backend-componenten.

Headscale Project ontwikkelt open server voor het gedistribueerde VPN-netwerk van Tailscale

Headscale neemt de functies over van het uitwisselen van de publieke sleutels van knooppunten, en voert ook de bewerkingen uit van het toewijzen van IP-adressen en het distribueren van routeringstabellen tussen knooppunten. In de huidige vorm implementeert Headscale alle basismogelijkheden van de beheerserver, met uitzondering van ondersteuning voor MagicDNS en Smart DNS. In het bijzonder de functies van het registreren van knooppunten (ook via het web), het aanpassen van het netwerk voor het toevoegen of verwijderen van knooppunten, het scheiden van subnetten met behulp van naamruimten (één VPN-netwerk kan voor meerdere gebruikers worden aangemaakt), het organiseren van gedeelde toegang van knooppunten tot subnetten in verschillende naamruimten , routeringscontrole (inclusief het toewijzen van exit-knooppunten voor toegang tot de buitenwereld), toegangsscheiding via ACL's en DNS-servicewerking.

Bron: opennet.ru

Voeg een reactie