将使用容器安装headscale
首先安装容器也就是docker#
安装过程就不记录,详细教程在官网。
配置并运行#
- 准备一个目录用来存放headscale的文件,它的最终形态是这样的
cd headscale
mkdir config
mkdir data
touch docker-compose.yml
root@VM-A2J416XGSG53:~/headscale# tree
.
├── config
├── data
└── docker-compose.yml
- 下载配置示例并将其保存到config目录下
wget https://raw.githubusercontent.com/juanfont/headscale/refs/heads/main/config-example.yaml -O config.yaml
server_url改成服务器解析的域名listen_addr: 0.0.0.0:8080 #listen_addr: 127.0.0.1:8080prefixes字段,将ipv6注释,自定义私有地址网段:refixes: #v6: fd7a:115c:a1e0::/48 v4: 10.0.0.0/8- 修改
nameservers,添加几个国内dns:nameservers: global: - 223.5.5.5 - 119.29.29.29 - 8.8.8.8 - 2606:4700:4700::1111 - 2606:4700:4700::1001
- 编辑 docker-compose.yaml 文件,启动服务并验证
version: "3.6"
services:
headscale:
image: ghcr.io/juanfont/headscale
container_name: headscale
volumes:
- ./config:/etc/headscale/
- ./data:/var/lib/headscale
ports:
- 8080:8080
- 9090:9090
command: serve
restart: unless-stopped
#cap_add:
# - CAP_NET_BIND_SERVIC
docker compose up -d
浏览器输入http://公网IP或域名:8080/windows或http://公网IP或域名:8080/apple,有内容返回证明服务启动成功
创建用户#
docker exec -it headscale headscale user create USERNAME
USERNAME 为你想要设置的用户名称
docker exec -it hedscale headscale user list
终端接入#
| 操作系统 | Headscale支持 |
|---|---|
| MacOS | yes |
| Windows | yes |
| linux | yes |
| IOS | yes |
| Android | yes |
Mac & iPhone & iPad#
Mac浏览器打开http://公网IP或域名:8080/apple,下载macOS AppStore profile文件并运行 打开系统设置>通用>设备管理 双击打开,安装

- 在app商店(非国区ID)安装Tailscale客户端并运行它,在状态栏上点击应用图标按下
command+,点击Add Account... 会发现浏览器会打开一个验证页面
此时我们回到headscale服务端运行:
docker exec -it headscale headscale nodes register --user USERNAME --key nodekey:345c366fe6de46a8ae56ba6dfe706573b45017a8432f08c9ad0459c9adf7ca77
Machine ffzmacbookpro14 registered
提示Machine XXX registered为接入成功;注意USERNAME应为上面创建用户时的用户
iPhone和iPad同理使用appstore下载tailscale 打开软件点击右上角 login > Use a cuntom… > 输入
http://公网IP或域名:8080/ 依旧会弹出验证页面然后回到headscale服务端运行即可
