Headscale,Tailscale 的开源实现

几天前 我们在博客上谈论 Firezone, 这是用于创建基于 WireGuard 的 VPN 服务器的出色实用程序。

现在是时候讨论一个非常相似的实用程序,称为“Headscale”,它是 作为开源实现开发的项目 服务器组件 来自 Tailscale 网络 VPN,它允许您在自己的场所创建类似于 Tailscale 的 VPN 网络,而无需链接到第三方服务。

尾标 允许在网络中组合任意数量的地理上分散的主机, 建立在网状网络的形象上,其中每个节点直接 (P2P) 或通过相邻节点与其他节点通信,无需通过 VPN 提供商的集中式外部服务器传输流量。

除此之外 支持基于 ACL 的路径和访问控制 并且为了在使用地址转换器(NAT)的条件下建立通信通道,支持STUN、ICE和DERP机制(类似于TURN,但基于HTTPS)。 如果某些节点之间的通信通道被阻塞,网络可以重新路由以通过其他节点路由流量。

尾鳞以及与星云项目的区别 它还旨在创建具有网状路由的分布式 VPN 网络,使用 Wireguard 协议组织节点之间的数据传输, 而 Nebula 使用了 Tinc 项目的开发成果, 它使用 AES-256 算法加密 GSM 数据包(Wireguard 使用 ChaCha20 加密,在测试中显示出更高的性能和响应能力)。

另一个类似的项目 Innernet 正在单独开发,其中 Wireguard 协议 它还用于在节点之间交换数据。 相比之下,Innernet 上的 Tailscale 和 Nebula 使用了不同的基于 ACL 的访问分离系统 在不同范围的 IP 地址的分离和隔离中,标签与单个节点和子网无关,就像在传统 Internet 网络中一样。

此外,Innernet 使用 Rust 而不是 Go,值得一提的是,几天前发布了具有改进 NAT 遍历支持的 Innernet 1.5。 还有一个 Netmaker 项目,它允许您使用 Wireguard 连接具有不同拓扑的网络,但它的代码是在 SSPL(服务器端公共许可证)下提供的,由于存在歧视性要求,该项目不开放。

Tailscale 使用免费增值模式分发 个人和公司和团队的付费访问。 Tailscale 客户端的组件,除了适用于 Windows 和 macOS 的图形应用程序,都是在 BSD 许可下以开源项目的形式开发的。

Tailscale 用于验证新客户端的外包服务器软件, 协调密钥管理s 和组织节点之间的通信是专有的。 Headscale 项目解决了这个问题,并提供了一个单独的 Tailscale 服务器组件的开源实现。

Headscale 接管节点公钥交换功能并且还执行分配IP地址和在节点之间分配路由表的操作。

以目前的形式, Headscale 实现了管理服务器的所有主要功能, 除了支持 MagicDNS 和 Smart DNS。 特别是, 支持注册节点功能 (甚至通过网络),调整网络以添加或删除节点,使用命名空间划分子网(您可以为多个用户创建 VPN 网络),组织从节点到不同命名空间中的子网的共享访问,路由控制(包括分配出口节点)访问外部世界)、通过 ACL 共享访问和 DNS 执行。

Headscale 代码是用 Go 编写的,并在 BSD 许可下分发。 该项目由欧洲航天局的胡安·丰特开发。

最后,如果您有兴趣能够了解更多,可以咨询详情 在下面的链接中。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。