Headscale 项目正在为 Tailscale 分布式 VPN 网络开发开放服务器

Headscale 项目正在开发 Tailscale VPN 网络的服务器组件的开放实现,它允许您在自己的设施中创建类似于 Tailscale 的 VPN 网络,而无需绑定到第三方服务。 Headscale 的代码是用 Go 编写的,并根据 BSD 许可证获得许可。 该项目由欧洲航天局的胡安·丰特开发。

Tailscale 允许您将任意数量的地理上分散的主机组合到一个网络中,该网络像网状网络一样构建,其中每个节点直接 (P2P) 或通过相邻节点与其他节点交互,而无需通过 VPN 的集中式外部服务器传输流量提供者。 支持基于ACL的访问和路由控制。 为了在使用地址转换器 (NAT) 时建立通信通道,提供了对 STUN、ICE 和 DERP 机制(类似于 TURN,但基于 HTTPS)的支持。 如果某些节点之间的通信通道被阻塞,网络可以重建路由以引导流量通过其他节点。

Headscale 项目正在为 Tailscale 分布式 VPN 网络开发开放服务器

Tailscale 与 Nebula 项目不同,Nebula 项目也旨在创建具有网状路由的分布式 VPN 网络,通过使用 Wireguard 协议来组织节点之间的数据传输,而 Nebula 使用 Tinc 项目的开发,该项目使用 AES-256 算法来加密数据包-GSM(Wireguard 使用 ChaCha20 密码,在测试中表现出更高的吞吐量和响应能力)。

另一个类似的项目正在单独开发——Innernet,其中也使用Wireguard协议进行节点之间的数据交换。 与 Tailscale 和 Nebula 不同,Innernet 使用不同的访问分离系统,该系统不是基于带有绑定到各个节点的标签的 ACL,而是基于子网的分离和不同范围的 IP 地址的分配,就像常规 Internet 网络一样。 另外,Innernet使用的是Rust语言,而不是Go语言。 三天前,发布了 Innernet 1.5 更新,改进了 NAT 穿越支持。 还有一个 Netmaker 项目,允许您使用 Wireguard 将具有不同拓扑的网络组合起来,但其代码是在 SSPL(服务器端公共许可证)下提供的,由于存在歧视性要求,该许可证并未开放。

Tailscale 使用免费增值模式进行分发,这意味着个人免费使用,企业和团队付费访问。 Tailscale 客户端组件(Windows 和 macOS 的图形应用程序除外)是在 BSD 许可下作为开放项目开发的。 Tailscale 端运行的服务器软件是专有的,在连接新客户端时提供身份验证、协调密钥管理以及组织节点之间的通信。 Headscale 项目解决了这一缺点,并提供了 Tailscale 后端组件的独立、开放的实现。

Headscale 项目正在为 Tailscale 分布式 VPN 网络开发开放服务器

Headscale接管了交换节点公钥的功能,并执行在节点之间分配IP地址和分发路由表的操作。 在目前的形式下,Headscale 实现了管理服务器的所有基本功能,但对 MagicDNS 和 Smart DNS 的支持除外。 特别是注册节点(包括通过网络)、调整网络以添加或删除节点、使用命名空间分隔子网(可以为多个用户创建一个 VPN 网络)、组织节点对不同命名空间中的子网的共享访问等功能、路由控制(包括分配出口节点访问外界)、通过ACL进行访问分离、以及DNS服务操作。

来源: opennet.ru

添加评论