−25%

Windows 按年付费,截至 10 月 31 日。 查看套餐

EQVPS

用于 Headscale 的 VPS:自托管 Tailscale 控制服务器

在一台小 VPS 上运行 Headscale,把网状 VPN 的协调服务器掌握在自己手里。安装、第一个用户、连接设备,以及它的局限。

网状 VPN 是那种悄无声息让一切变简单的工具:你的笔记本、家用服务器、手机和各台 VPS 无论身在何处,都能通过私有地址互相访问。托管式网状 VPN 的问题在于协调服务器:一家公司掌握着你所有设备的地图。Headscale 是这台控制服务器的开源替代品。把它跑在一台小 VPS 上,继续使用原来的客户端应用,地图就归你所有。

各部分如何配合

最后这一点正是很小的套餐就够用的原因:VPS 只需响应小小的协调请求。

你需要准备

安装(Debian 12 / Ubuntu 24.04)

从 GitHub 上 Headscale 的发布页面下载当前的 .deb,并把版本号换成最新的:

HS_VER=0.26.1
wget -O headscale.deb \
  "https://github.com/juanfont/headscale/releases/download/v${HS_VER}/headscale_${HS_VER}_linux_amd64.deb"
apt install -y ./headscale.deb caddy

编辑 /etc/headscale/config.yaml,关键的是这两行:

server_url: https://hs.example.com
listen_addr: 127.0.0.1:8080

在前面放一个 Caddy 提供 HTTPS:

cat > /etc/caddy/Caddyfile <<'EOF'
hs.example.com {
    reverse_proxy 127.0.0.1:8080
}
EOF
systemctl enable --now headscale
systemctl reload caddy

添加用户和设备

headscale users create alice
headscale users list            # note the user's ID
headscale preauthkeys create --user 1 --expiration 24h

较旧的版本在 --user 中要求用户名而不是 ID;headscale preauthkeys create --help 会告诉你当前版本需要哪一种。

在 Linux 设备上:

tailscale up --login-server https://hs.example.com --authkey YOUR_KEY

在手机和桌面端,Tailscale 应用允许你在设置中指定自定义的控制服务器。在 VPS 上运行 headscale nodes list,你的设备应该就会出现在列表里。

中继与 NAT 穿透

大多数设备都能直连。当两台设备无法直连时(严格的移动网络、双重 NAT),流量会经过 DERP 中继。开箱即用时,Headscale 使用 Tailscale 的公共中继,中继只能看到加密的数据包。如果你不希望路径上有任何外部环节,就在 config.yaml 中开启内置中继(derp.server.enabled: true),并开放 UDP 3478。此时被中继的流量会计入你的 VPS 带宽。

坦诚的局限

没有官方的 Web 仪表板:用户、密钥和路由都是 CLI 命令(做过两次就熟了)。托管服务的新功能会较晚才出现在 Headscale 中,甚至不会出现。而且控制服务器现在由你负责:它宕机时,已有的连接仍能工作,但新设备无法加入,密钥也无法刷新。请做好备份:全部状态都在 /var/lib/headscale。

对于家庭实验室、一个家庭,或者想把设备地图从第三方服务器上拿回来的小团队来说,这是一台 $8 VPS 最好的用法之一。

相关

准备好部署了?加密货币付款、无需KYC——约一分钟上线。

立即部署 →

常见问题

Headscale 服务器实际上能看到什么?

元数据:有哪些设备、它们的公钥、地址,以及最后一次在线的时间。流量本身通过 WireGuard 在设备之间直接传输(如果彼此无法直连则经由中继),并且是端到端加密的。自托管意味着这些元数据放在你的服务器上,而不是别人的服务器上。

需要特殊的客户端吗?

不需要。你在 Linux、macOS、Windows、iOS 和 Android 上使用普通的 Tailscale 应用,把它们指向你的服务器地址即可。在 Linux 上只需要一个参数:--login-server。

哪个套餐就够了?

Headscale 非常轻量:Nano-IP(每月 $8)足以轻松支撑一个家庭或小团队。你需要独立 IP,因为设备必须通过 HTTPS 访问控制服务器;NAT 套餐不接受入站的 443。

如果两台设备无法直连怎么办?

它们会回退到中继(DERP)。默认情况下,Headscale 使用 Tailscale 的公共中继,中继只能看到加密后的数据包。你也可以改为开启 Headscale 内置的中继;它需要开放 UDP 3478,并会用你的 VPS 带宽转发流量。

和托管版 Tailscale 服务相比少了什么?

没有官方的 Web 管理面板:用户和密钥都通过命令行管理(有社区做的界面)。托管服务的一些新功能会较晚才来到 Headscale,或者根本不会来。对于个人或小团队的网络,核心功能(网状组网、ACL、MagicDNS、出口节点)运行良好。

评论

暂无评论。来做第一个吧。

发表评论

评论在显示前会经过审核。