Tailscale Derp和Peer-Relay部署

日期:2026-03-14
服务器版本:Ubuntu 24.04LTS
官方文档:https://tailscale.com/docs

Tailscale安装

Peer-Relay是通过tailscale客户端实现的,而且Derp的验证客户端的功能需要本地安装tailscale,因此,

  1. 按照官方给的命令安装tailscale。
curl -fsSL https://tailscale.com/install.sh | sh
  1. 登录tailscale,
sudo tailscale up

执行后会有一个链接,复制到浏览器中登录tailscale账号即可。

[可选] 设置开机自启,

sudo systemctl enable tailscaled

Peer-Relay设置

  1. 设置对等通信端口40000,端口号自己设置,大于20000不容易被阻断。
sudo tailscale set --relay-server-port=40000
  1. 开放服务器udp协议40000的端口号
  2. 在tailscale管理面板https://login.tailscale.com/admin/acls/file中创建对等中继策略
  3. 找到以下对应的部分
"grants": [
  {
      "src": ["*"],
      "dst": ["*"],
      "ip":  ["*"],
  }
]
  1. 在这一部分添加控制策略
"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部署

  1. 安装go
 rm -rf /usr/local/go && tar -C /usr/local -xzf go1.26.1.linux-amd64.tar.gz
  1. 设置环境变量
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.profile

source ~/.profile
  1. 安装derp
go install tailscale.com/cmd/derper@latest
  1. 启动derp
sudo derper -a=":8443" -certmode=manual -hostname=xxxx.net -certdir=/home/ubuntu/certs  -http-port=-1 -verify-clients
  1. 参数说明

-a 使用的https端口号,默认是443

-certmode SSL证书的获取方式,默认letsencryptmanual是手动配置

-certdir SSL证书的存储目录,如果是manual模式,需要将证书的前缀改成域名

-hostname 域名

-http-port http监听端口,-1 表示禁用

-verify-clients 要求derp验证用户是否与客户端登陆用户一致