LoongLee's blog

Headscale 使用指南

Headscale 使用指南

来源

原始文档: headscale_use.md

核心内容

Headscale 是一个开源的、自托管的 Tailscale 控制服务器实现,允许你搭建私有的 Tailscale 网络。

服务器端安装

# 下载并安装
wget https://github.com/juanfont/headscale/releases/download/v0.26.1/headscale_0.26.1_linux_amd64.deb
sudo dpkg -i headscale_0.26.1_linux_amd64.deb

# 配置并启动
sudo vi /etc/headscale/config.yaml
sudo systemctl enable --now headscale
sudo systemctl status headscale

用户管理

# 创建用户
sudo headscale users create admin --email admin@abc.com
sudo headscale users list

# 创建预授权密钥
sudo headscale preauthkeys create -u admin
sudo headscale preauthkeys list -o json -u 2

节点管理命令

  • nodes/list: 查看节点
  • nodes/register: 注册节点
  • nodes/delete/expire: 删除或注销节点
  • nodes/move/rename/tag: 修改节点属性
  • nodes/approve-routes/list-routes: 管理节点路由

客户端连接

# 安装 Tailscale 客户端
curl -fsSL https://tailscale.com/install.sh | sh

# 连接 Headscale 服务器
tailscale up --login-server https://vpn.xxxx.com --authkey key-string

# 查看状态
tailscale status | sort -k2

出口节点配置

# 1. 在节点上声明出口节点
sudo tailscale up --advertise-exit-node

# 2. 开启 IP 转发
sudo sysctl -w net.ipv4.ip_forward=1
sudo sysctl -w net.ipv6.conf.all.forwarding=1

# 持久化配置
sudo tee -a /etc/sysctl.conf <<EOF
net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
EOF
sudo sysctl -p

# 取消出口节点
sudo tailscale up --advertise-exit-node=false
# 或
sudo tailscale up --reset

Web 管理界面

关键要点

  • Headscale 是 Tailscale 控制服务器的开源实现
  • 支持预授权密钥实现无交互设备注册
  • 可配置出口节点实现全流量转发
  • 适合企业私有化部署

相关实体

  • Headscale - 开源 Tailscale 控制服务器
  • Tailscale - 基于 WireGuard 的组网工具
  • VPN - 虚拟专用网络
  • WireGuard - 现代 VPN 协议