背景

需要在阿里云 ECS 上部署 Tailscale DERP relay,让 Windows 客户端能通过 DERP 连接到节点。

目标

  • 域名:derp.***.cn
  • 泛域名证书:.**.cn
  • derper 运行在 443 端口
  • STUN 运行在 3478 UDP

踩坑记录

1. DNSPod Token 格式

问题:API 返回 401,原因是 SecretId 是腾讯云 CAM 的,不是 DNSPod 的。

解决:DNSPod Token 格式是 ID,Token(两部分用逗号连接),腾讯云控制台生成的 SecretId/SecretKey 是 CAM 的,不通用。

2. lucky 安装失败

问题:jsdelivr CDN 在阿里云 ECS 上无法访问,导致 lucky 安装脚本无法下载二进制文件。

解决:从 GitHub 直接下载 release 包,传到 ECS 再解压安装。

3. derper 证书参数

问题:新版 derper 参数变了,不再是 -c cert -k key,改为 -certmode manual -certdir。

解决:新版参数:

  • certmode manual:手动模式
  • certdir:证书目录,文件名格式 {hostname}.crt / {hostname}.key
  • hostname:指定域名

4. 证书路径

发现:acme.sh 申请的泛域名证书在 /root/.acme.sh/***.cn/,derper 需要复制到 /root/.cache/tailscale/derper-certs/。

最终配置

``` ExecStart=/root/go/bin/derper -a :443 -certmode manual -certdir /root/.cache/tailscale/derper-certs -hostname derp.***.cn ```

验证

``` curl -sI https://derp.***.cn/ HTTP/1.1 200 OK ```

待完成

  • Tailscale 管理后台添加 DERP relay(用户操作)
  • 阿里云安全组开放 443 TCP + 3478 UDP(用户操作)

总结

DERP 部署成功,Windows 客户端通过 derp.***.cn 连接 DERP relay 正常。lucky 在此次任务中未发挥作用。

安装包下载

文件 下载
tailscale_1.96.4_amd64.tar.gz Tailscale 1.96.4 客户端
derper_v1.96.5_linux_amd64.tar.gz DERP relay 1.96.5