适用于 Debian 系统(Ubuntu 同样适用)
一键搭建 Headscale + Headscale-UI + DERP,实现内网穿透、远程访问与点对点传输。
所有命令均基于 GitHub 官方源,支持公网域名部署。


📦 一键命令速查表

功能 命令 说明
更新系统 apt update && apt upgrade -y 确保系统为最新状态
关闭防火墙 sudo ufw disable 避免端口阻断
下载 Go wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz 下载 Go 运行环境
安装 Go tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz 解压至系统路径
设置环境变量 echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc && source ~/.bashrc 使 Go 命令全局可用
下载 Headscale wget https://github.com/juanfont/headscale/releases/latest/download/headscale_amd64.deb 获取最新 Headscale
安装 Headscale dpkg -i headscale_amd64.deb 安装 Headscale 服务端
下载 UI 前端 wget https://github.com/gurucomputing/headscale-ui/releases/latest/download/headscale-ui.tar.gz 下载 Headscale-UI
启动 Headscale systemctl enable --now headscale 启动并设置开机自启
启动 UI nohup ./headscale-ui & 启动 Web UI(可视化管理)

🧰 环境准备

1. 服务器要求

  • Debian 11 或 12(建议 1 核 1G 内存以上)
  • 公网 IPv4(推荐使用国外 VPS)
  • Root 权限

2. 域名准备

在 Cloudflare 中解析两条记录:

记录类型 名称 指向 用途
A derp.yourdomain.com VPS 公网 IP DERP 中继服务器
A head.yourdomain.com VPS 公网 IP Headscale 控制平面

⚠️ 请关闭 Cloudflare 代理(橙色云 → 灰色云)


🪄 部署步骤(含命令与解释)

第 1 步:关闭防火墙

1
sudo ufw disable

避免端口阻塞,确保 HTTP/HTTPS、DERP、Headscale 端口可访问。


第 2 步:安装依赖

1
apt install curl wget unzip git -y

安装基础工具,确保后续脚本运行无误。


第 3 步:安装 Go 环境

1
2
3
4
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc && source ~/.bashrc
go version

Headscale 需 Go 支持,验证是否正确安装。


第 4 步:下载并安装 Headscale

1
2
wget https://github.com/juanfont/headscale/releases/latest/download/headscale_amd64.deb
dpkg -i headscale_amd64.deb

Headscale 是私有控制端(自建 Tailscale 控制平面)。


第 5 步:配置 Headscale

1
2
mkdir -p /etc/headscale
nano /etc/headscale/config.yaml

样例配置:

1
2
3
4
5
6
7
8
9
server_url: https://head.yourdomain.com
listen_addr: 0.0.0.0:8080
derp:
urls:
- https://derp.yourdomain.com/derpmap.json
private_key_path: /etc/headscale/private.key
db_type: sqlite3
db_path: /var/lib/headscale/db.sqlite
log_level: info

第 6 步:启动服务

1
2
3
systemctl enable headscale
systemctl start headscale
systemctl status headscale

确认服务运行正常后访问 https://head.yourdomain.com/web


第 7 步:部署 Headscale-UI

1
2
3
4
wget https://github.com/gurucomputing/headscale-ui/releases/latest/download/headscale-ui.tar.gz
tar -xzf headscale-ui.tar.gz
cd headscale-ui
nohup ./headscale-ui &

默认访问路径:http://head.yourdomain.com/web
若使用 Nginx,可反代 3000 端口。


第 8 步:部署 DERP 中继节点

1
2
3
4
git clone https://github.com/tailscale/tailscale.git
cd tailscale/cmd/derper
go build .
nohup ./derper -a ":443" -hostname "derp.yourdomain.com" -certdir "/etc/letsencrypt/live/derp.yourdomain.com" &

DERP 用于中继无法直接打洞的设备流量。
建议搭配 Let’s Encrypt 自动签发证书。


第 9 步:客户端登录

1
sudo tailscale up --login-server=https://head.yourdomain.com

出现登录链接 → 在浏览器登录 → 回到终端显示 Success 即连接成功。


🧩 网络结构图(详细 ASCII 示意)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
              ┌──────────────────────────────────┐
│ Cloudflare DNS │
│ ────────────────────────────── │
│ derp.yourdomain.com → VPS_IP │
│ head.yourdomain.com → VPS_IP │
└──────────────────────────────────┘


┌────────────────┐
│ VPS 主机 │
│ Debian + Nginx │
│ ───────────────│
│ Headscale 服务 │ ← 控制平面
│ DERP 中继节点 │ ← NAT 穿透辅助
│ Headscale-UI │ ← Web 管理界面
└────────────────┘
▲ ▲
│ │
┌────────────┘ └────────────┐
│ │
┌──────────────┐ ┌────────────────┐
│ 家中软路由 │ │ 外网笔记本 / 手机 │
│ Tailscale 客户端 │ ← P2P / DERP → │ Tailscale 客户端 │
└──────────────┘ └────────────────┘

🧩 客户端连接说明

客户端 方式 登录命令
Windows 管理员终端执行 tailscale up --login-server=https://head.yourdomain.com
Android / iOS 设置 → 登录服务器 https://head.yourdomain.com
OpenWRT / iStoreOS GUI → Tailscale 插件 → 自定义登录服务器 同上

🔧 常见问题与维护命令

问题 解决命令 / 说明
修改配置后未生效 systemctl restart headscale
查看服务日志 journalctl -u headscale -f
重启 DERP 服务 systemctl restart derp
检查中继连通性 tailscale netcheck
退出登录 tailscale logout
停止服务 systemctl stop headscale
查看节点状态 tailscale status

🛠️ 自动更新脚本(可选)

创建文件 /usr/local/bin/update-headscale.sh

1
2
3
4
5
6
#!/bin/bash
systemctl stop headscale
wget -O /tmp/headscale.deb https://github.com/juanfont/headscale/releases/latest/download/headscale_amd64.deb
dpkg -i /tmp/headscale.deb
systemctl restart headscale
echo "✅ Headscale 已更新完成"

添加执行权限并定期运行:

1
chmod +x /usr/local/bin/update-headscale.sh

可搭配 cron 定时任务:

1
2
3
crontab -e
# 每周日凌晨更新
0 2 * * 0 /usr/local/bin/update-headscale.sh

📚 参考资源


🎉 结语

至此,你已完成一个完全独立、自建控制平面的 Tailscale 私有网络
该方案支持多端互联、子网路由、DERP 中继与可视化管理,是目前最稳定且安全的自托管穿透方案之一。

💡 建议将 Headscale 与 DERP 部署在同一台 VPS,以简化维护与降低延迟。