使用 docker 安装 derp 成功了,但是 headscale 不知道如何设置自建 derp

2022-06-26 17:00:41 +08:00
 mbooyn

整了一圈,不知道自己哪里出错了,求大佬们指路 🤦‍♂️

1 、根据此链接( https://techoverflow.net/2022/01/16/how-to-setup-headscale-server-in-5-minutes-using-docker-compose/) 在云服务器安装 docker 版 headscale ,在多个客户端成功连接上 headscale 并相互访问
2 、根据此链接( https://icloudnative.io/posts/custom-derp-servers/) 的‘自建私有 DERP server’部分在具有公网 ip 的 all in boom 上面的 ubuntu 搭建 derp 服务器成功(访问 https://myhomeip.me:12345 成功出现 This is a Tailscale DERP server.)
3 、修改云服务器 /opt/headscale/.config/config.yaml 的 derp 部分的 paths

paths:
  - /etc/headscale/derp.yaml
paths: []


4 、云服务器编辑文件 /opt/headscale/.config/derp.yaml

regions:
900:
  regionid: 900
  regioncode: myderp
  regionname: myhomederp
  nodes:
    - name: 900a
      regionid: 900
      hostname: myhomeip.me
      stunport: 3478
      stunonly: false
      derpport: 12345


5 、更新 headscale 服务端并重启服务,mac 客户端重启后 netcheck 仍然没有自建 derp 服务器

docker-compose up -d
sudo systemctl restart headscale
3271 次点击
所在节点    宽带症候群
10 条回复
mbooyn
2022-06-26 19:26:19 +08:00
更新:
刚刚发现之前其实外网没有访问成功家庭网络里搭建的 derp 服务器(我在内网输入域名可以访问),修改 ikuai 为网关不指向旁路由 openwrt 后,现在外网使用手机流量可以访问到 `https://myhomeip.me:12345` ,但是服务端使用 curl 访问会提示
curl: (35) gnutls_handshake() failed: An unimplemented or disabled feature has been requested.
同时 derp 服务端提示
2022/06/26 10:56:19 http: TLS handshake error from xxxxip:33754: read tcp 172.17.0.2:12345->xxxxip:33754: read: connection reset by peer
superhack
2022-06-26 21:58:07 +08:00
记得关闭双向证书验证模式
mbooyn
2022-06-26 22:32:20 +08:00
@superhack 搜了一轮,不知道应该是在哪里进行操作关闭双向认证呢 😅可以指点一下嘛 😚
mbooyn
2022-06-27 00:46:25 +08:00
我是下载阿里云域名的 apache 证书 myhomeip.me_chain.crt 和 myhomeip.me.key 直接改名成 myhomeip.me.crt 、myhomeip.me.key 放入 /home/myhostname/certpath 映射进去的,是不是这里出了问题?
```shell
-v /home/myhostname/certpath:/app/certs
```
Sekai
2022-06-27 12:20:59 +08:00
docker 我就没成功弄好过
superhack
2022-06-27 13:28:36 +08:00
@mbooyn tls_client_auth_mode
mbooyn
2022-06-28 00:23:14 +08:00
@superhack 我在 docker run 里面加上参数 -e tls_client_auth_mode=relaxed 或者 -e tls_client_auth_mode=disabled ,服务端还是提示 remote error: tls: bad certificate 😭
mbooyn
2022-07-01 20:35:43 +08:00
破案了,阿里域名下载 nginx 证书,域名.pem 、 域名.key 文件,将 pem 改为 crt 后缀,放入证书目录即可
modrich
2022-07-14 16:18:11 +08:00
2022/07/14 08:16:39 Error initializing: open /var/lib/headscale/private.key: no such file or directory,
我也是参照 https://techoverflow.net/2022/01/16/how-to-setup-headscale-server-in-5-minutes-using-docker-compose/%EF%BC%89 这个连接去做,但是就是报这个错误,请问有办法解决吗
mbooyn
2022-07-14 20:34:56 +08:00
@modrich 在 ./data 文件夹里面创建一个 private.key 文件,这个文件内容我空着会报错,提示要是多少多少位字符,我就直接用 WireGuard 生成私钥,然后粘进去了。。。可以成功执行

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

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

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

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

© 2021 V2EX