Tailscale 是开源的,也很好用,就是其中转节点(DERP) 都在国外,所以速度还是慢了点。
有台闲置的国内主机,想着利用起来,搭个DERP,加快Tailscale的访问速度。
搭完后发现目前网上搭建DERP的教程过于繁琐,一些关键之处也没有说清楚,于是记录一下过程。
DERP 的工作方式
DERP 提供了中转和STUN两种服务,STUN是可选的,有配置项可以关闭,如果需要开启,就得占用一个UDP端口; 而中转服务的传输层是websocket,只需放在常见的nginx等代理服务之后即可,无需在防火墙开启端口。
建议最好开启STUN,这里观察到的现象是,如果没有开启,在tailscale netcheck
里自建节点的 ping 值是不显示的。
安装、配置、运行
- 安装
- 运行
- nginx 的部分配置
记得配好https
添加DERP节点
在浏览器打开 Tailscale 管理页面,切换到 Access Controls
,添加如下配置,
"derpMap" 和 "groups", "hosts" 等同一级。
"derpMap": ,
验证
添加完DERP后,用 tailscale netcheck
就能看到,等待片刻,或者尝试重启 tailscaled ,Tailscale 就
会自动选取ping值最低的DERP节点。
也可以使用 derpprobe
去验证,若没有报错,说明配置是正确的。