最近tailscale官方节点越来越慢了,之前上传种子到家里的nas上也挺快的,现在页面都要刷好久才能打开。。。
于是乎只能从公司的阿里云轻量服务器自建一个DERP中继服务,通过国内阿里云服务器进行流量中转,来加速网络。
使用中继效果对比,可以直接远程桌面到公司的电脑,丝滑无卡顿。在公司访问家里nas的服务也是秒开。

首先:登录云服务器拉取镜像
新建docker-compose.yaml内容如下
services:
derper:
image: ghcr.io/yangchuansheng/ip_derper:latest
container_name: derper
restart: always
ports:
- "11223:11223"
- "5689:5689/udp"
environment:
- DERP_ADDR=:11223
- DERP_CERTS=/app/certs
- DERP_VERIFY_CLIENTS=false # 关闭验证
然后运行 docker compose up -d 启动
然后登录到Tailscale Access Controls 修改ACL
// 添加DERP服务
"derpMap": {
"OmitDefaultRegions": true,
"Regions": {
"901": {
"RegionID": 901,
// 编号900-999依次递增
"RegionCode": "CN-QD",
// 区域代码,会在 `tailscale netcheck` 显示
"RegionName": "中国-青岛",
// 区域名称,会在 `tailscale netcheck` 显示
"Nodes": [
{
"Name": "CN-QD",
"RegionID": 901,
// 对应上方ID
"HostName": "18.19.2.1",
// DERP服务IP/域名
"DERPPort": 11223,
// DERP服务端口与部署时一致
"InsecureForTests": true, // 必须为true,以跳过证书验证
},
],
},
},
},
具体位置如图

保存后在装有 Tailscale 的机器上使用tailscale netcheck命令可查看,节点已经生效。
使用正常,虽然没有UDP直连,8.4ms的中继延迟也可以接受,凑合用。

这里直接采用的IP+端口方式进行连接,阿里云服务器上没有安装tailscale,没有进行验证,容易被扫,所以如果只是单一账号组网建议还是进行客户端验证,如果是多账号比如家里一个公司一个,那可以不用进行客户端验证,服务器做好防护就可以。
参考资料:
构建你的私有网络:Tailscale 节点搭建教程
自建免备案防偷 Tailscale 国内中继(DERP)教程 - Sleepstars 的记录室
如果部署在openwrt或者nas上,用来实现整个内部局域网,可以参考:
极空间NAS docker部署tailscale远程异地组网映射内网IP实现内网穿透 - N把刀