服务器部署Tailscale Derper
准备工作
公网服务器(Linux系统),IP与自己常住的地区越近越好
域名,解析到公网服务器,如derper.example.com,申请SSL证书
防火墙开放端口
TCP
8443用于DEPR服务UDP
3478用于STUN打洞
注册Tailscale账户
[acme.sh需求] 腾讯云【这个根据你的域名服务商决定】API密钥,需要授权完整的DNS操作权限
官网说要开放80端口和443端口,如果你的服务器只部署derper的话就可以占用这两个端口,即80端口用来自动申请SSL证书,443端口用来走derp的信息。
Derper中继服务器部署
安装Go [Ref]
下载Go安装包(根据自己的系统、架构选择)
wget https://golang.google.cn/dl/go1.27.0.linux-amd64.tar.gz移除已安装的Go(如果存在,可能需要sudo权限)
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.27.0.linux-amd64.tar.gz添加Go到环境变量中
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.profile
source ~/.profile添加Go工具路径到环境变量中
echo "export PATH=$PATH:$(go env GOPATH)/bin" >> ~/.bashrc # 假设目录为/home/ubuntu/go/bin
source ~/.bashrc检验Go是否安装成果
go version部署Derper服务器 [Ref]
安装Derper
go install tailscale.com/cmd/derper@latest安装Tailscale【可选】
curl -fsSL https://tailscale.com/install.sh | sh登录tailscale【可选】
sudo tailscale up # 会出现一个链接,复制到浏览器打开并登录即可创建SSL证书目录
mkdir ~/.certs上传SSL证书
derper.example.com.crtderper.example.com.key
注意前缀必须与域名保持一致
创建systemd服务
sudo vim /etc/systemd/system/derper.service写入以下内容
[Unit]
Description=Tailscale DERP Server
After=network-online.target tailscaled.service
Wants=network-online.target
Requires=tailscaled.service
[Service]
# 注意这里的derper路径必须写绝对路径,即包含Go工具路径,可以通过go env GOPATH命令获取
ExecStart=/home/ubuntu/go/bin/derper \
-a=:8443 \
-certmode=manual \
-hostname=derper.example.com \
-certdir=/home/ubuntu/.certs \
-http-port=-1 \
-verify-clients # 这个参数需要完成步骤3,如果没有登录tailscale记得删掉这行,并删掉上一行最后的\
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
ReadOnlyPaths=/home/ubuntu/.certs
[Install]
WantedBy=multi-user.target启动derper
sudo systemctl daemon-reload
sudo systemctl enable --now derper部署acme.sh实现ssl证书自动获取并部署 [Ref]
安装acme.sh
curl https://get.acme.sh | sh -s email=换成你的邮箱
source ~/.bashrc申请证书
根据dnsapi 查看需要的环境变量名是什么,腾讯云是Tencent_SecretId和Tencent_SecretKey
export Tencent_SecretId="你的SecretId"
export Tencent_SecretKey="你的SecretKey"
acme.sh --issue --dns dns_tencent -d derper.example.com --server letsencryptderper免sudo密码执行
sudo tee /etc/sudoers.d/derper-reload << 'EOF'
ubuntu ALL=(root) NOPASSWD: /bin/systemctl restart derper
EOF
sudo chmod 440 /etc/sudoers.d/derper-reload注意ubuntu是你的服务器登录用户名
部署证书+自动重启derper
acme.sh --install-cert -d derper.randd.icu \
--fullchain-file /home/ubuntu/.certs/derper.example.com.crt \
--key-file /home/ubuntu/.certs/derper.example.com.key \
--reloadcmd "sudo systemctl restart derper"如果没配置第3步,就没办法自动重启derper,需要在更新SSL证书后手动执行
Tailscale管理端配置
打开https://console.tailscale.com/admin/acls/file [Access controls > JSON Editor]
在配置文件末尾添加
{
/// ……其他已有的配置
"derpMap": {
"OmitDefaultRegions": false, // 保留官方服务器作为备用
"Regions": { // RegionID需要在900-999之间
"901": { // 跟RegionID保持一致
"RegionID": 901,
"RegionCode": "selfhost", // 自己设置,别用中文
"RegionName": "Custom Derper", // 自己取名字,别用中文就行
"Nodes": [
{
"Name": "1",
"RegionID": 901,
"HostName": "derper.randd.icu", // 你的域名
"DERPPort": 8443, // 如使用自定义端口,修改此处
"STUNPort": 3478, // 如使用自定义端口,修改此处
"STUNOnly": false,
},
],
},
},
},
/// 结尾
}测试derper(自己电脑上安装tailscale并登录后用命令行执行)
tailscale netcheck显示
Report:
* Time: 2026-08-22 03:50:23.8337719+08:00
* UDP: true
* IPv4: yes, 112.2.252.30:57612
* IPv6: no, but OS has support
* MappingVariesByDestIP: false
* PortMapping: UPnP, NAT-PMP, PCP
* CaptivePortal: false
* Nearest DERP: Nanjing Derp
* DERP latency:
- selfhost: 5.9ms (Custom Derper)
- hkg: 64.7ms (Hong Kong)
- tok: 69.8ms (Tokyo)
- sin: 76ms (Singapore)
- blr: 110.6ms (Bengaluru)