Das Projekt Headscale entwickelt einen offenen Server für das verteilte VPN-Netzwerk Tailscale.

Das Headscale-Projekt entwickelt eine offene Implementierung des Serverkomponenten für das VPN-Netzwerk Tailscale, die es ermöglicht, eigene VPN-Netzwerke ähnlich wie Tailscale zu erstellen, ohne an externe Dienste gebunden zu sein. Der Code von Headscale ist in Go geschrieben und wird unter der BSD-Lizenz verteilt. Das Projekt wird von Juan Font Alonso vom Europäischen Weltraumorganisation vorangetrieben.

Tailscale ermöglicht es, beliebig viele geografisch verteilte Hosts zu einem Netzwerk zusammenzuführen, das nach dem Vorbild eines Mesh-Netzwerks aufgebaut ist, in dem jeder Knoten direkt (P2P) oder über benachbarte Knoten miteinander kommuniziert, ohne den Datenverkehr über zentralisierte externe Server zu leiten. VPN-anbieter. Es wird die Verwaltung von Zugriffsrechten und Routen basierend auf ACL unterstützt. Für die Einrichtung von Kommunikationskanälen unter Bedingungen mit Adressübersetzern (NAT) werden Mechanismen wie STUN, ICE und DERP bereitgestellt (ähnlich wie TURN, jedoch auf HTTPS-Basis). Im Falle der Blockierung einer Kommunikationsverbindung zwischen bestimmten Knoten kann das Netzwerk die Routenführung anpassen, um den Datenverkehr über andere Knoten zu leiten.

Das Projekt Headscale entwickelt einen offenen Server für das verteilte VPN-Netzwerk Tailscale.

Im Gegensatz zu dem Projekt Nebula, das ebenfalls für den Aufbau verteilter VPN-Netzwerke mit Mesh-Routing konzipiert ist, zeichnet sich Tailscale durch die Verwendung des Wireguard-Protokolls zur Datenübertragung zwischen Knoten aus. Nebula hingegen nutzt die Ansätze des Projekts Tinc, das den AES-256-GSM-Algorithmus zur Verschlüsselung von Paketen verwendet (Wireguard setzt auf den ChaCha20-Verschlüsselungsalgorithmus, der in Tests eine höhere Durchsatzrate und Reaktionsfähigkeit zeigt).

Ein weiteres ähnliches Projekt – Innernet – wird separat entwickelt, bei dem ebenfalls das Wireguard-Protokoll für den Datenaustausch zwischen Knoten verwendet wird. Im Unterschied zu Tailscale und Nebula verfolgt Innernet ein anderes Zugriffsmanagement, das nicht auf ACLs mit der Verknüpfung von Tags zu einzelnen Knoten basiert, sondern auf Unterteilung von Subnetzen und der Zuweisung unterschiedlicher IP-Bereiche. IP-Adressen, wie in herkömmlichen Internetnetzwerken. Darüber hinaus wird in Innernet anstelle der Programmiersprache Go die Sprache Rust verwendet. Vor drei Tagen wurde das Update Innernet 1.5 veröffentlicht, das die Unterstützung für NAT-Umgehung verbessert. Es gibt auch das Projekt Netmaker, das es ermöglicht, Netzwerke mit unterschiedlicher Topologie mithilfe von WireGuard zu verbinden, wobei der Code unter der SSPL (Server Side Public License) lizenziert ist, die aufgrund diskriminierender Anforderungen nicht als offen gilt.

Tailscale wird nach einem Freemium-Modell angeboten, das kostenlosen Zugriff für Einzelpersonen und kostenpflichtigen Zugang für Unternehmen und Teams beinhaltet. Die Client-Komponenten von Tailscale, mit Ausnahme der grafischen Anwendungen für Windows und macOS, werden als Open-Source-Projekte unter der BSD-Lizenz entwickelt. Die serverseitige Software von Tailscale, die die Authentifizierung beim Anschluss neuer Clients, die Koordination der Schlüsselverwaltung und die Interaktion zwischen den Knoten ermöglicht, ist proprietär. Das Projekt Headscale behebt dieses Problem und bietet eine unabhängige Open-Source-Implementierung der Serverkomponenten von Tailscale.

Das Projekt Headscale entwickelt einen offenen Server für das verteilte VPN-Netzwerk Tailscale.

Headscale übernimmt die Funktionen des Austauschs von Public Keys zwischen Knoten und führt auch die Zuweisung von IP-Adressen sowie die Verbreitung von Routing-Tabellen zwischen den Knoten durch. Derzeit sind in Headscale alle grundlegenden Funktionen eines Steuerservers implementiert, mit Ausnahme der Unterstützung von MagicDNS und Smart DNS. Insbesondere werden Funktionen zur Registrierung von Knoten (auch über das Web), zur Anpassung des Netzwerks beim Hinzufügen oder Entfernen von Knoten, zur Aufteilung von Subnetzen mithilfe von Namespaces (ein VPN-Netzwerk kann für mehrere Benutzer erstellt werden), zur Organisation des Zugriffs von Knoten auf Subnetze in verschiedenen Namespaces, zur Verwaltung der Routing-Strategien (einschließlich der Zuweisung von Ausgangsknoten für den Zugriff auf externe Ressourcen), zur Zugangskontrolle über ACL und zur DNS-Dienstbereitstellung unterstützt.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster