Tailscale 是一种基于 WireGuard 的虚拟组网工具,它在用户态实现了 WireGuard 协议,相比于内核态WireGuard 性能会有所损失,但在功能和易用性上下了很大功夫:
- 安装,登录账号即用,不需要配置(如无需配置防火墙)
- 高安全性/私密性,自动密钥轮换,点对点连接,支持用户审查端到端的访问记录
但是...
Tailscale 终究是第三方平台,如该平台发生数据泄露、异常崩溃、服务终止等,就无能为力。或许,我们可以自己建一个类似的私有平台?
Headscale旨在实现一个自托管、开源的Tailscale控制服务器替代方案,可以实现较小范围内和实现单个Tailnet的功能,通常可用于设置为单个组织、家庭或个人使用。
由于udp直连会被运营商限速,所以会出现速度骤降,但是ping非常稳定,传速速度页非常稳定。
项目 | Headscale | Tailscale 个人免费版 |
---|---|---|
设备数量 | 无限制(默认:100.64.0.0/10) | 20 个 |
IP地址 | 可自行更改网段(IPV4/V6) | 不同网段,地址可改 |
控制端 | 1 个 | 1 个 |
GUI管理界面 | 有第三方的GUI | 登录账号后有专业GUI |
操作环境
- Headscale v0.23.0-alpha5 2024/2/19
- 群晖Synology DSM_DS920_69057_u1 2023/10/12
- VPS OS: ubuntu 16.04,带外网ipv4+ipv6
- SSH: xshell7, WinSCP
VPS部署Headscale
# 下载服务端(二进制文件)
wget --output-document=/usr/local/bin/headscale https://github.com/juanfont/headscale/releases/tag/v0.23.0-alpha5
# 设置执行权限
chmod +x /usr/local/bin/headscale
# 创建配置文件目录
mkdir -p /etc/headscale
# 创建目录用来存储数据与证书
mkdir -p /var/lib/headscale
# 创建空的 SQLite 数据库文件
touch /var/lib/headscale/db.sqlite
# 创建 Headscale 配置文件
wget https://github.com/juanfont/headscale/raw/main/config-example.yaml -O /etc/headscale/config.yaml