V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mbooyn
V2EX  ›  宽带症候群

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

  •  
  •   mbooyn · 2022-06-26 17:00:41 +08:00 · 3236 次点击
    这是一个创建于 879 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    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
    
    10 条回复    2022-07-14 20:34:56 +08:00
    mbooyn
        1
    mbooyn  
    OP
       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
        2
    superhack  
       2022-06-26 21:58:07 +08:00
    记得关闭双向证书验证模式
    mbooyn
        3
    mbooyn  
    OP
       2022-06-26 22:32:20 +08:00
    @superhack 搜了一轮,不知道应该是在哪里进行操作关闭双向认证呢 😅可以指点一下嘛 😚
    mbooyn
        4
    mbooyn  
    OP
       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
        5
    Sekai  
       2022-06-27 12:20:59 +08:00
    docker 我就没成功弄好过
    superhack
        6
    superhack  
       2022-06-27 13:28:36 +08:00
    @mbooyn tls_client_auth_mode
    mbooyn
        7
    mbooyn  
    OP
       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
        8
    mbooyn  
    OP
       2022-07-01 20:35:43 +08:00
    破案了,阿里域名下载 nginx 证书,域名.pem 、 域名.key 文件,将 pem 改为 crt 后缀,放入证书目录即可
    modrich
        9
    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
        10
    mbooyn  
    OP
       2022-07-14 20:34:56 +08:00
    @modrich 在 ./data 文件夹里面创建一个 private.key 文件,这个文件内容我空着会报错,提示要是多少多少位字符,我就直接用 WireGuard 生成私钥,然后粘进去了。。。可以成功执行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1067 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:18 · PVG 03:18 · LAX 11:18 · JFK 14:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.