TcDhl
0.04D

分享下自建 ZeroTier 根节点服务端

  •  
  •   TcDhl · Jan 11, 2023 · 6466 views
    This topic created in 1220 days ago, the information mentioned may be changed or developed.

    ZeroTier 自建根节点服务端:


    适配 Debian10.10:

    • 全自动安装
    • 自动识别主机系统
    • 自动识别主机 IP,切换对应的下载节点
    • 主要解决了原版本中'显示大量历史节点记录'的 Bug

    注意事项及参考:

    • 建议用个干干净净的 Debian10 系统进行安装 ZtnCui 控制器 - 根节点服务端
    • 测试用的服务器系统为: Debian10.10 64 位
    • 提供的一键安装脚本只做了适配 Debian10 系统
    • 如果想用 Centos, 请自行解决环境搭建相关的问题

    安装步骤

    • 进入目录:
    cd ~
    
    • 下载脚本:
    wget https://agent-github.08w80.com/https://github.com/TcDhlPro/ZeroTierOne-SelfHostingNetworkControllers-ZtnCui/releases/download/v1.0.0/Auto_Install_ZtncuiForZerotier.tar.gz
    
    • 解包:
    tar -zxvf Auto_Install_ZtncuiForZerotier.tar.gz
    
    • 给脚本文件夹权限:
    chmod -R 775 Auto_Install_ZtncuiForZerotier
    
    • 进入目录:
    cd /root/Auto_Install_ZtncuiForZerotier
    
    • 启动脚本进行自动化安装:
    ./Auto_Install_ZtncuiForZerotier
    
    • 初次安装时, 脚本一般都会在倒计时后, 主动断开 ssh 连接, 会有提示, 是为了重新配置环境
    • 断开 ssh 连接后, 重新连接服务器
      • 进入目录cd /root/Auto_Install_ZtncuiForZerotier
      • 运行脚本./Auto_Install_ZtncuiForZerotier
    • 会有一小段时间配置环境......
    • 终端会提示你输入两个自定义端口[ZtnCui 的 Https 端口] [ZeroTier 的 TCP/UDP 端口]
      • 输入3000以外未占用的端口, 因为 3000 端口是被默认用作 ZtnCui-Http
    • 要记得在防火墙放开[ZtnCui 的 Http 端口][ZtnCui 的 Https 端口][ZeroTier 的 TCP/UDP 端口]
    • 等安装完成, 访问 ZtnCui 后台地址进行查看

    在官方仓库 key-networks/ztncui 基础上进行汉化并打包成可直接安装的 linux 包,包含 deb 和 rpm 格式(附带了证书 RPM-KEY-TcDhlProForZtnCui@20230110)的软件包


    新版 ZtnCui(0.8.6)控制器相关截图(汉化完成度 98%):

    • 编辑日期: 2023 年 01 月 10 日
    • 98%是因为有些没必要汉化

    输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明

    新版 ZtnCui(0.8.6)控制器相关截图(未完全汉化阶段):

    • 编辑日期: 2022 年

    输入图片说明 输入图片说明 输入图片说明 输入图片说明


    客户端替换 Planet 文件

    • 服务器安装完成后会在脚本执行的目录找到 planet 文件,例如 /root 下生成的 planet 文件
    • 或者使用/var/lib/zerotier-one目录中的 planet 文件

    重启服务

    • linux 重启 Zerotier: service zerotier-one restart
    • win 系统重启 Zerotier: 需要在服务中重启 ZeroTier One 这个服务

    加入自建的根节点网络

    • 客户端执行zerotier-cli join 网络 ID, 之后就可以在 web 控制中心找到设备。

    特别注意:安装成功后会变更 ZeroTier 默认的 9993 端口为你自己设定的端口

    • 初始安装成功后, zerotier-cli listpeers服务端执行命令查看节点列表,如果打印出的节点列表是空的,则安装正确
    • 无论是什么样的安装方法,在初始安装完成后打印出来如果有其他节点信息,都是错误的
    • 自行部署的 Zerotier 根服务器,服务端在打印出的节点信息中,应该只显示有效连接的客户端
    • 客户端替换 planet 文件后,在不加入自己根服务器网络的情况下, 打印出的节点列表也是空的
    • 加入自己根服务器网络后zerotier-cli listpeers客户端执行命令查看节点信息, 如果 Planet 只有一个,且 IP 为自己服务器,则安装正确.
    27 replies    2023-01-14 16:55:48 +08:00
    cxtrinityy
        1
    cxtrinityy  
       Jan 11, 2023
    感觉 op 很熟 zerotier, 借楼问点问题. 这是自建 planet 么? 为什么要自建 planet? planet 和 moon 啥区别, 看了官方文档, 理解的不太透彻, 没理解错的话, 如果 moon orbit 官方的 planet, 依然是优先通过 moon 打洞, 不行再用官方的 planet 打洞? 那这样只要 moon 可用, 就没必要 planet 吧?
    lithiumii
        2
    lithiumii  
       Jan 11, 2023   ❤️ 1
    @cxtrinityy 首先是给不信任第三方服务的人准备的,自建 Planet 数据就可以不走官方的了。其次是理论上有 Moon 的时候 Moon 优先没错,但跑个一年半载总有那么一两次突然就抽风了,这时候官方的 Planet 由于在国外,效果也不是很好,导致连不上或者速度感人。
    TcDhl
        3
    TcDhl  
    OP
       Jan 11, 2023   ❤️ 1
    @cxtrinityy #1
    如果你是部署了 moon 方式, 假设部署 moon 的机器是国内或者香港的, 那么在你某个 zerotier 客户端, 会同时存在官方节点和你的 moon 节点.

    如果你是部署了 planet 方式, 假设部署 planet 的机器是国内或者香港的, 那么在你某个 zerotier 客户端, 只能通过你的 planet 那台机器进行握手(不会再有官方节点, 对于境内的人来说, 相当于是加快了握手速度和某种程度上提高了两端打洞的稳定性)

    自建 planet 肯定是优于 moon 的
    这两种方式的打洞, 遇到跨运营商的话, 效果都是没那么好, 我是家庭网络的客户端都是电信, 华东那一片的打洞起来很快很稳, 家庭网络打洞到服务器网络也蛮稳
    jiangboyueplus
        4
    jiangboyueplus  
       Jan 11, 2023 via Android
    马克 抽空实践下
    Yien
        5
    Yien  
       Jan 11, 2023
    感谢分享!👍
    Lentin
        6
    Lentin  
       Jan 11, 2023
    https://github.com/jonnyan404/zerotier-planet
    用 docker 更方便一些……
    laoyur
        7
    laoyur  
       Jan 11, 2023
    @TcDhl 电信同省的两个客户端有时会互相 ping 不通,现象是通了 10s 左右就会不通个 30s 的样子,这种是被电信 qos 了吗?一般等个几个小时又会正常,但时不时遇到这种情况是真要命。
    TcDhl
        8
    TcDhl  
    OP
       Jan 11, 2023
    @laoyur #7
    我是上海-江苏-镇江 这三个地方的家庭网络穿透起来蛮稳的, 电信宽带
    TcDhl
        9
    TcDhl  
    OP
       Jan 11, 2023
    @Lentin #6
    他这个如果修复了那个 bug 的话, 那 docker 倒是更方便点
    mercury233
        10
    mercury233  
       Jan 12, 2023
    ZtnCui 不需要长期启动,有新设备加入时手动开启一会就行
    miyuki
        11
    miyuki  
       Jan 12, 2023
    我理解的:Planet 和 Moon 翻译过来就是行星和卫星,如果 Planet 是自己建的,那么肯定只会使用环绕这个 Planet 的 Moon
    YGBlvcAK
        12
    YGBlvcAK  
       Jan 12, 2023 via Android
    之前也搞过自建 planet ,遇到过一个问题,就是一段时间后,某些客户端就连不上了,查看连接是连接到美国的 zerotier 官方节点,jonnyan404 和另一个大佬的,都是这样
    xiaonian233
        13
    xiaonian233  
       Jan 12, 2023
    支持 op ,感觉如果只是临时用一下 n2n 是更轻量点
    sun82kg
        14
    sun82kg  
       Jan 12, 2023
    @TcDhl 实测 没修
    TcDhl
        15
    TcDhl  
    OP
       Jan 12, 2023
    @YGBlvcAK #12
    每个客户端其实也要替换 planet 文件的
    TcDhl
        16
    TcDhl  
    OP
       Jan 12, 2023
    @sun82kg #14
    docker 那个没修的话, 那你可以试试我这个
    TcDhl
        17
    TcDhl  
    OP
       Jan 12, 2023
    @miyuki #11
    自建了 Planet 后就没必要再设置 Moon 了
    sun82kg
        18
    sun82kg  
       Jan 12, 2023
    大佬,要是做个 docker 版就好了。 群晖里也能随意部署
    TcDhl
        19
    TcDhl  
    OP
       Jan 12, 2023
    @sun82kg #18
    docker 我还不是很精, 等后面玩熟了再出个 docker 版的哈哈
    YGBlvcAK
        20
    YGBlvcAK  
       Jan 12, 2023 via Android
    @TcDhl 当然都替换了,不然怎么连上自己的 planet
    TcDhl
        21
    TcDhl  
    OP
       Jan 12, 2023
    @YGBlvcAK #20
    那肯定没整对, 正常自建完成且替换好 planet 后, 除了你服务器的 IP, 是不会有其他节点的
    troilus
        22
    troilus  
       Jan 12, 2023
    DDNS 支持吗?
    TcDhl
        23
    TcDhl  
    OP
       Jan 12, 2023
    @troilus #22
    DDNS 和 zerotier 共存的话你可以试试 OpenWrt
    acupnocup
        24
    acupnocup  
       Jan 14, 2023
    好棒,收藏一下。
    zeze0556
        25
    zeze0556  
       Jan 14, 2023
    version: '2.0'
    services:
    ztncui:
    container_name: zerotier
    restart: always
    networks:
    zerotier_net:
    ipv4_address: 192.168.x.x
    volumes:
    - "/mnt/user/appdata/docker_server/zerotier_keynetworks/opt:/opt/key-networks/ztncui/etc:rw"
    - "/mnt/user/appdata/docker_server/zerotier_keynetworks/zerotier-one:/var/lib/zerotier-one:rw"
    environment:
    - HTTP_PORT=4000
    - HTTP_ALL_INTERFACES=yes
    - ZTNCUI_PASSWD=passwd
    ports:
    - '4000:4000'
    image: keynetworks/ztncui
    networks:
    zerotier_net:
    external:
    name: br0
    TcDhl
        26
    TcDhl  
    OP
       Jan 14, 2023
    @zeze0556 #25
    你这个应该是 Jonnyan404 这位兄弟的 Docker 版
    zeze0556
        27
    zeze0556  
       Jan 14, 2023
    @TcDhl 我喜欢简单直接的一键部署方式。目前我用在 unraid 中,用了大半年了,爽歪歪
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3230 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 96ms · UTC 03:34 · PVG 11:34 · LAX 20:34 · JFK 23:34
    ♥ Do have faith in what you're doing.