headscale 组网工具快速部署,以及部署过程中遇到的一些坑

2023-03-06 19:20:40 +08:00
 clikes

首先如果要快速部署的话,还得是用 docker ,本人也不是特别熟悉 docker 的使用,这里算是抛砖引玉了。过程中搜了很多资料,这个资料是看的最多的 https://icloudnative.io/posts/how-to-set-up-or-migrate-headscale/ ,里面讲了挺多基础的部署,不过其实已经稍微有点过时,headscale 最近也有蛮多更新的。 然后大家部署 headscale 我觉得大部分情况还是会需要一个 derper ,这个时候大家就会自己部署 derper ,网上教程有挺多教你如何部署自己的 derper 服务,但是实际上 headscale 其实已经有内置 derper ,只要配置中启动即可不需要再额外部署。以下是部署流程: 0. 此流程是建立在大家已经有域名以及 https 的证书的情况下,因为有了域名和证书这个流程才能跑通也相对容易些。

  1. 创建配置文件夹mkdir -p /data/headscale/config
  2. 进入配置文件夹创建 sqllite 文件cd /data/headscale/config&&touch db.sqlite
  3. 修改 headscale 配置,例子文件可以在这里找到 https://github.com/juanfont/headscale/blob/main/config-example.yaml , 首先修改 server_url 为你自己的域名 server_url: https://wode.yuming:8080 ,接着 derp: server: eneabled:改为 true , 接下来修改 tls 的验证 key 和 crt 路径,tls_cert_path:"/certs/wode.yuming.crt" tls_key_path: "/certs/wode.yuming.key"
  4. 接下来就可以直接用 docker 命令部署了docker run --name headscale --detach -v /data/headscale/config:/etc/headscale/-v /root/certs:/certs -p 8080:8080 -p 9090:9090 -p 3478:3478/udp -p 3478:3478 headscale/headscale:0.20.0 headscale serve 这个地方记得要吧 3478 端口打开(很多搜出来的资料里面都不会帮你打开这个端口,我一开始以为配置没用),因为 derper 服务是走这个端口的,配置里面也可以修改,不过这个地方我没做详尽的测试如果 3478 的 udp 或者 tcp 单独打开是不是可以,印象中是不行,另外记得把你的证书提前复制到服务器的 /root/certs 文件夹或者你自己喜欢的文件夹,同时记得打开 vps 的防火墙里面的这几个端口
  5. 如果 docker 部署好了,那么后面的步骤就相对容易了,可以参考之前的连接里面的部分。可以进入 docker 创建你自己的网络名docker exec headscale headscale user create wodewangluo。然后就可以下载客户端连接啦。
  6. linux 客户端的坑,我部署好之后发现 linux 的 tailscale 客户端连接会卡死,但是连接官方的却可以,查了日志、看了代码之后发现原因是我的证书不在服务器信任列表里面,只需要吧证书拷贝到 /etc/pki/ca-trust/source/anchors/ 下,然后 sudo update-ca-trust 更新证书,然后重启 linux 客户端就可以啦 sudo systemctl restart tailscaled 。这个事情困扰了我一晚上,查了挺久,还问了 chatgpt ,才找到解决办法。 大家可以试试,这个应该是最快速简单的 headscale 部署方法了。
3310 次点击
所在节点    程序员
3 条回复
dengshen
2023-03-06 21:34:28 +08:00
最简单的应该是弄一份 docker-compose 出来吧 改改配置就能启动的那种 哈哈
clikes
2023-03-06 21:39:28 +08:00
@dengshen 不太熟这个,都搞不太清 docker-compose 和 docker 有啥区别
GoRoad
2023-03-07 10:05:17 +08:00
headscale 直接部署也没太麻烦,按照教程走就行了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/921699

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX