Headscale, une implémentation open source de Tailscale

Il ya quelques jours nous parlions ici sur le blog de Firezone, qui est un excellent utilitaire pour créer des serveurs VPN basés sur WireGuard.

Et maintenant, cette fois, il est temps de parler d'un utilitaire assez similaire appelé "Headscale" qui est un projet développé comme une implémentation open source composant serveur du réseau Tailscale VPN, qui vous permet de créer des réseaux VPN similaires à Tailscale dans vos propres locaux, sans être lié à des services tiers.

Échelle de queue permet de combiner un nombre arbitraire d'hôtes géographiquement dispersés dans un réseau, construit sur l'image d'un réseau maillé, dans lequel chaque nœud communique avec d'autres nœuds directement (P2P) ou via des nœuds voisins, sans transmettre de trafic via des serveurs externes centralisés du fournisseur VPN.

En plus que Chemin d'accès basé sur ACL et contrôle d'accès pris en charge et que pour établir les canaux de communication dans les conditions d'utilisation des traducteurs d'adresses (NAT), les mécanismes STUN, ICE et DERP sont supportés (analogues à TURN, mais basés sur HTTPS). Si le canal de communication entre certains nœuds est bloqué, le réseau peut se réacheminer pour acheminer le trafic via d'autres nœuds.

échelle de queue set différence avec le projet Nebula qui est également conçu pour créer des réseaux VPN distribués avec routage maillé, utilisant le protocole Wireguard pour organiser le transfert de données entre les nœuds, tandis que Nebula utilise les développements du projet Tinc, qui utilise l'algorithme AES-256 pour crypter les paquets GSM (Wireguard utilise le cryptage ChaCha20, qui, lors des tests, montre des performances et une réactivité supérieures).

Un autre projet similaire, Innernet, est développé séparément, dans lequel le protocole Wireguard il est également utilisé pour échanger des données entre les nœuds. En revanche, à partir de Tailscale et Nebula sur Innernet, un système différent de séparation d'accès basé sur ACL a été utilisé. Les étiquettes ne sont pas liées à des nœuds et sous-réseaux individuels dans la séparation et l'isolement de différentes plages d'adresses IP, comme dans les réseaux Internet conventionnels.

De plus, Innernet utilise Rust au lieu de Go et il convient de mentionner qu'Innernet 1.5 avec une prise en charge améliorée de la traversée NAT a été publié il y a quelques jours. Il existe également un projet Netmaker, qui permet de connecter des réseaux avec différentes topologies à l'aide de Wireguard, mais son code est fourni sous la licence SSPL (Server Side Public License), qui n'est pas ouverte en raison de la présence d'exigences discriminatoires.

Tailscale est distribué à l'aide d'un modèle Freemium gratuit pour les particuliers et accès payant pour les entreprises et les équipes. Les composants du client Tailscale, à l'exception des applications graphiques pour Windows et macOS, sont développés sous forme de projets open source sous licence BSD.

Le logiciel serveur externalisé de Tailscale qui authentifie les nouveaux clients, coordonne la gestion des cléss et organise la communication entre les nœuds est propriétaire. Le projet Headscale résout ce problème et fournit une implémentation open source distincte des composants du serveur Tailscale.

Headscale prend en charge les fonctions d'échange de clés publiques de nœuds et effectue également les opérations d'attribution d'adresses IP et de distribution des tables de routage entre les nœuds.

Dans sa forme actuelle, Headscale implémente toutes les fonctionnalités principales du serveur de gestion, à l'exception de la prise en charge de MagicDNS et Smart DNS. En particulier, prend en charge les fonctions d'enregistrement des nœuds (même sur le Web), adapter le réseau pour ajouter ou supprimer des nœuds, diviser les sous-réseaux à l'aide d'espaces de noms (vous pouvez créer un réseau VPN pour plusieurs utilisateurs), organiser l'accès partagé des nœuds aux sous-réseaux dans différents espaces de noms, contrôle de routage (y compris l'attribution de nœuds de sortie pour accéder au monde extérieur), accès partagé via ACL et exécution DNS.

Le code Headscale est écrit en Go et est distribué sous licence BSD. Le projet est développé par Juan Font de l'Agence spatiale européenne.

Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.