Tailscale Derp和Peer-Relay部署
日期:2026-03-14
服务器版本:Ubuntu 24.04LTS
官方文档:https://tailscale.com/docs
Tailscale安装
Peer-Relay是通过tailscale客户端实现的,而且Derp的验证客户端的功能需要本地安装tailscale,因此,
- 按照官方给的命令安装tailscale。
curl -fsSL https://tailscale.com/install.sh | sh- 登录tailscale,
sudo tailscale up执行后会有一个链接,复制到浏览器中登录tailscale账号即可。
[可选] 设置开机自启,
sudo systemctl enable tailscaledPeer-Relay设置
- 设置对等通信端口
40000,端口号自己设置,大于20000不容易被阻断。
sudo tailscale set --relay-server-port=40000- 开放服务器udp协议
40000的端口号 - 在tailscale管理面板https://login.tailscale.com/admin/acls/file中创建对等中继策略
- 找到以下对应的部分
"grants": [
{
"src": ["*"],
"dst": ["*"],
"ip": ["*"],
}
]- 在这一部分添加控制策略
"grants": [
{
"src": [
"100.64.10.1",
"100.64.10.2",
"100.64.10.3",
"100.64.10.4",
// 这边是其他设备的标记
// 可以是tailscale分配的IP,
// 也可以是为设备分配的tag标签,
// 如 "tag:relay"
],
"dst": [
"100.64.10.10" // 为服务器分配的IP
],
"app": {"tailscale.com/cap/relay": []},
},
// 以下保留
{
"src": ["*"],
"dst": ["*"],
"ip": ["*"],
},
]Derp部署
- 安装
go
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.26.1.linux-amd64.tar.gz- 设置环境变量
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.profile
source ~/.profile- 安装derp
go install tailscale.com/cmd/derper@latest- 启动derp
sudo derper -a=":8443" -certmode=manual -hostname=xxxx.net -certdir=/home/ubuntu/certs -http-port=-1 -verify-clients- 参数说明
-a 使用的https端口号,默认是443
-certmode SSL证书的获取方式,默认letsencrypt,manual是手动配置
-certdir SSL证书的存储目录,如果是manual模式,需要将证书的前缀改成域名
-hostname 域名
-http-port http监听端口,-1 表示禁用
-verify-clients 要求derp验证用户是否与客户端登陆用户一致