Tailscale自建(Headscale,derp)记录
-
下载依赖
直接下载headscale的deb安装包即可。
https://github.com/juanfont/headscale/releases/download/v0.26.1/headscale_0.26.1_linux_amd64.deb -
配置
通过deb可以一键安装,省去很多麻烦,安装后提示的内容如下
headscale package has been successfully installed.
Please follow the next steps to start the software:
sudo systemctl enable headscale
sudo systemctl start headscale
Configuration settings can be adjusted here:
/etc/headscale/config.yaml
修改配置文件 /etc/headscale/config.yaml中你需要修改的部分,一般就是监听地址和dns
修改以下的节点信息
server_url: http://XXX.XXX.XXX.XXX:8080 # 这里填写你的实际外网地址,域名或ip都可以
listen_addr: 0.0.0.0:8080
metrics_listen_addr: 0.0.0.0:9090
ip_prefixes:
- fd7a:115c:a1e0::/48
- 10.1.0.0/16
randomize_client_port: true
# 修改对自己来说方便的DNS,可以保持默认
dns_config:
nameservers:
- 223.5.5.5
# 建议关闭Magic DNS,否则有可能造成客户端无法正常上网
magic_dns: false
# 修改Socket存储位置
unix_socket: /var/run/headscale/headscale.sock
根据提示,复制命令到server执行即可。在这之前需要新建一个用户
headscale users create thinkpad
各终端加入节点方法
Windows
tailscale login --login-server http://你的域名或ip:8080
获取返回的命令
headscale -n 命名空间 nodes register --key nodekey:上面这行命令返回结果的key
到Headscale服务器上执行返回的命令
Linux
我的系统是linux,在客户端只需要执行
sudo tailscale up --login-server=http://xxxx:58080 --accept-routes=true --accept-dns=false
[sudo] 的密码:
To authenticate, visit:
http://0.0.0.0:58080/register/-4S61FkilWFRm1Z1iH6es4Tn
自建derp服务器
直接使用前人配置好的docker镜像即可
https://hub.docker.com/r/javaow/tailscale-derp
Headscale 的本地 YAML 文件目前还不支持InsecureForTests这个配置项,所以没办法,目前只能使用在线 URL 了。
{
"Regions": {
"901": {
"RegionID": 901,
"RegionCode": "ali-sh",
"RegionName": "Aliyun Shanghai",
"Nodes": [
{
"Name": "901a",
"RegionID": 901,
"DERPPort": 443,
"HostName": "xxxx",
"IPv4": "xxxx",
"InsecureForTests": true
}
]
}
}
}
配置说明:
HostName 直接填 derper 的公网 IP,即和 IPv4 的值相同。
InsecureForTests 一定要设置为 true,以跳过域名验证。
需要把这个 JSON 文件变成 Headscale 服务器可以访问的 URL,比如在 Headscale 主机上搭个 Nginx,或者上传到对象存储(比如阿里云 OSS)。
一样的修改Headscale 的配置文件
# /etc/headscale/config.yaml
derp:
server:
# 不启用官网自带的derp
enabled: false
urls:
- https://xxxxx/derp.json
paths:
# - /etc/headscale/derp.yaml
# paths: []
检查
成功后的样子
tailscale netcheck
Report:
* Time: 2025-06-07T06:44:23.298840441Z
* UDP: true
* IPv4: yes, xxxxx:49849
* IPv6: no, but OS has support
* MappingVariesByDestIP:
* PortMapping: UPnP
* CaptivePortal: false
* Nearest DERP: Aliyun ChengDu
* DERP latency:
- cd: 10.4ms (Aliyun ChengDu)
浙公网安备 33010602011771号