马春杰杰博客
致力于深度学习经验分享!

Tailscale自建DERP来加速连接

最新目录

目前用的版本是1.92.3

目前自建DERP一般推荐是用域名,不过@Javaow大佬推荐了另一种方式,直接用IP+端口的方式,更加方便~这里两种方式都介绍下。

1、IP+端口的方式

懒人命令:

如果选择直接运行上面的懒人命令,则后续直接从1.4节开始即可。

上面这个命令是大佬自己打包的容器,我们可以直接用,如果想要自己打包容器的话,可以参考下面这个步骤:

1.1 打开一个dockerfile文件

1.2 把如下内容复制到dockerfile

注意1:最好使用国外服务器,国内githubdocker连通性不是很好

注意2:此版本是Amd架构,如果要在Arm架构打包需要把 RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2 这一行注释或者删除(此行为了解决Amd架构下alpine镜像无法执行二进制问题)

注意3:随着版本更新,cert.go文件中的代码行数可能发生变化,当前版本是注释91~93行这3行即可,也就是这三行:

编译前最好去官方仓库看下,否则编译不通过:

1.3 编译镜像

编译完成后即可查看本地生成的镜像

启动

1.4 添加节点

首先测试访问(提示不安全访问是正常现象 因为证书是自签)

显示如下即可成功

打开控制台:Access controls – Tailscale

参考下面这个替换掉你的完整JSON内容:

注意:上面这个配置需要注意的是, "OmitDefaultRegions": true, 意思是只用我们自建的节点,官方的节点不用了,因为我这边实际测试的时候发现,只要这个是false,自建的就不显示延迟:

一旦设置为true之后,就正常了:

不知道是不是我这里的问题,大家可以自行测试。

自己打包镜像后可以上传到DockerHub上,让其他机器直接拉取使用,不用再重新编译了

主要注意点就是,随着版本更新cert.go文件中的代码行数可能发生变化,这时就需要修改dockerfile中的91,93d删除行数,只要保证把下面红框里的3行代码删除即可,这三行就是证书验证代码

https://github.com/tailscale/tailscale/blob/v1.70.0/cmd/derper/cert.go

2、域名方式+认证

首先创建目录:

然后将SSL证书放到以上目录,命名为:

别忘了把域名解析一下~

然后安装Tailscale

最后安装一下derp容器:

别忘了把上面的域名改一下~

赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Tailscale自建DERP来加速连接》
文章链接:https://www.machunjie.com/linux/1944.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

:smile: :sad: :arrow: :cool: :confused: :cry: :eek: :evil: :exclaim: :idea: :lol: :mad: :mrgreen: :neutral: :question: :razz: :redface: :rolleyes: :surprised: :wink: :biggrin: :twisted: