搓了个 tailscale 的带 client 的 derp 二合一 docker

3 月 12 日
 PatchouliTC

二合一,derp+client,直接解决私用配置,外加无需宿主机 net 相关权限需求,理论上一个好的节点可以多 derp 部署了

git 地址是 Tailscale-DERP-Docker

需要做的核心就只有改.env 配置参数就行(参数怎么改在 readme),然后根据使用 Derp 自带 acme/自己做反代/ip 自签修改下 docker compose 端口映射完事(相关配置信息详情在 readme),跑起来之后去 acl/derp.yaml 加一下节点信息(节点信息需要加什么参数不同参数用途也在 readme)

相关特点大概列一下

  1. 一个 container 打包了 derp 和 tailscale client,不用多容器部署了,适合纯粹的 derp 鸡完事
  2. 打包的 tailscale client 运行在用户模式,不会创建设备,也不刚需 NAT 相关权限,纯粹用于权限验证避免白嫖,理论上如果以反代模式跑的话一台宿主机可以同时跑多个 derp 用于不同的 tailscale 虚拟网络了
  3. 支持 derp 自带 acme 获取证书/反代自行管理证书/ip 自签证书配置
  4. 支持 headscale 和官方协调中央服务器
  5. 根据配置的 derp hostname,自动识别是否为 IP 自签,如果是会自动签 100 年对应证书并同时输出 certname 信息和相关证书文件,支持自己签相关证书[名称和 IP 相同即可]然后直接读取使用
2041 次点击
所在节点    宽带症候群
7 条回复
arphone
3 月 12 日
这个能解决不少问题,赞!
heliang614
3 月 12 日
我自己家里有公网 ip ,没有 80 和 443 端口,能不能在家里的 nas 安装 derp 和 headscale 呢?
worker201
3 月 12 日
可以试一下 tailscale 新出的 peer relay 功能,不需要 derp
PatchouliTC
3 月 12 日
@worker201 peer relay 功能 headscale 还没更进,其次 pr 还是 UDP 会 QOS,除非中继节点是对双方视角都是精品网不然网络质量还是差,而且 derp relay 是 https+tls 的 tcp 连接,有域名的话就是等于走常规浏览网页的 https 流量,在很多严格防火墙环境[仅 80,443 访问允许]的时候依旧可以连,同时 derp 负担了 stun 功能[节点 V4,V6IP 发现],怎么着也得部署至少一个
PatchouliTC
3 月 12 日
@worker201 不过看了下就是个配置项,我已经顺带加上了,现在可以 peer relay node/verify derp node 在同一个 container 了
cmj2010
3 月 13 日
我也试了一下,根本不需要自建 Derp ,有固定 IP 直接用 peer relay 入向放一个 UDP 端口,出向放一个 HTTPS 就能用了,用官方的 Derp 还方便
flynaj
3 月 14 日
你可以试试 easytier, 无论自由度,穿透性,还是速度都比 tailscale 好

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

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

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

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

© 2021 V2EX