Le projet Headscale propose une implémentation ouverte du composant serveur du réseau VPN Tailscale, permettant de créer des réseaux VPN similaires à Tailscale sur ses propres infrastructures, sans dépendre de services tiers. Le code de Headscale est écrit en Go et est distribué sous licence BSD. Le projet est développé par Juan Font Alonso de l'Agence spatiale européenne.
Tailscale permet de relier un nombre arbitraire d'hĂŽtes gĂ©ographiquement dispersĂ©s en un seul rĂ©seau, construit Ă l'image d'un rĂ©seau maillĂ©, dans lequel chaque nĆud interagit directement avec les autres nĆuds (P2P) ou via des nĆuds voisins, sans transmettre le trafic par des serveurs externes centralisĂ©s. VPN- fournisseur. La gestion des accĂšs et des routes basĂ©e sur les ACL est prise en charge. Pour Ă©tablir des canaux de communication dans des environnements utilisant des traducteurs d'adresses (NAT), le support des mĂ©canismes STUN, ICE et DERP (analogue Ă TURN mais basĂ© sur HTTPS) est fourni. En cas de blocage du canal de communication entre certains nĆuds, le rĂ©seau peut rĂ©organiser sa routage pour diriger le trafic Ă travers d'autres nĆuds.

Le projet Nebula, Ă©galement destinĂ© Ă crĂ©er des rĂ©seaux VPN distribuĂ©s avec routage maillĂ©, se distingue de Tailscale par son utilisation du protocole Wireguard pour l'organisation du transfert de donnĂ©es entre les nĆuds, tandis que Nebula utilise des techniques du projet Tinc, qui chiffre les paquets avec l'algorithme AES-256-GSM (Wireguard utilise le chiffrement ChaCha20, qui dĂ©montre dans les tests une bande passante et une rĂ©activitĂ© supĂ©rieures).
Un autre projet similaire, nommĂ© Innernet, est Ă©galement en dĂ©veloppement, utilisant le protocole Wireguard pour l'Ă©change de donnĂ©es entre les nĆuds. Contrairement Ă Tailscale et Nebula, Innernet applique un systĂšme d'accĂšs diffĂ©rent, basĂ© non pas sur des ACL avec des balises attachĂ©es Ă des nĆuds individuels, mais sur la sĂ©paration de sous-rĂ©seaux et l'allocation de plages diffĂ©rentes. adresses IP, comme dans les rĂ©seaux Internet ordinaires. De plus, au lieu du langage Go, Innernet utilise le langage Rust. Une mise Ă jour d'Innernet 1.5 a Ă©tĂ© publiĂ©e il y a trois jours, amĂ©liorant la prise en charge du contournement du NAT. Il existe Ă©galement un projet appelĂ© Netmaker, permettant de relier des rĂ©seaux de topologies diffĂ©rentes Ă l'aide de Wireguard, mais son code est proposĂ© sous la licence SSPL (Server Side Public License), qui n'est pas ouverte en raison de ses exigences discriminatoires.
Tailscale est distribuĂ© selon un modĂšle Freemium, offrant la possibilitĂ© d'une utilisation gratuite pour les particuliers et un accĂšs payant pour les entreprises et les Ă©quipes. Les composants clients Tailscale, Ă l'exception des applications graphiques pour Windows et macOS, sont dĂ©veloppĂ©s sous forme de projets ouverts sous la licence BSD. Le logiciel serveur de Tailscale, qui gĂšre l'authentification lors de la connexion de nouveaux clients, coordonne la gestion des clĂ©s et organise l'interaction entre les nĆuds, est propriĂ©taire. Le projet Headscale remĂ©die Ă ce problĂšme et propose une mise en Ćuvre indĂ©pendante et ouverte des composants serveur de Tailscale.

Headscale prend en charge les fonctions d'Ă©change de clĂ©s publiques entre nĆuds, ainsi que les opĂ©rations d'attribution d'adresses IP et de diffusion de tables de routage entre les nĆuds. Actuellement, toutes les fonctionnalitĂ©s principales du serveur de gestion sont mises en Ćuvre dans Headscale, Ă l'exception du support de MagicDNS et Smart DNS. En particulier, les fonctions d'enregistrement des nĆuds (y compris via le web), d'adaptation du rĂ©seau lors de l'ajout ou de la suppression de nĆuds, de sĂ©paration des sous-rĂ©seaux Ă l'aide d'espaces de noms (un rĂ©seau VPN peut ĂȘtre créé pour plusieurs utilisateurs), d'organisation de l'accĂšs des nĆuds aux sous-rĂ©seaux dans diffĂ©rents espaces de noms, de gestion de la routage (y compris l'attribution de nĆuds de sortie pour se connecter au monde extĂ©rieur), de sĂ©paration d'accĂšs via ACL et de fonctionnement du service DNS sont prises en charge.
Source : opennet.ru
