• 异地组网-zerotier


    zerotier概述

    一个网络层面的穿透工具, 可以让用户轻松搭建自己的虚拟网络, 经过授权后将真实环境下非同一局域网的电脑分配到同一网段下来并提供相应的虚拟网络IP地址;

    使得各个设备间可以通过虚拟地址来访问彼此

    概念

    在zerotier网络体系中,根服务器(root server)被称为星球(planet),而每一台联网设备都被称为叶子(leaf),两台星球之间是通过星球节点握手建立隧道连接的,而zerotier作为一家总部位于加州的美国公司并没有在中国设有根服务器,因此在两台设备连接时受制于星球节点的连接质量,不免要产生高延迟,因此我们可以按照官方指引来搭建月亮(moon)节点,让设备相互连接时通过我们自己搭建的月亮节点来握手建立隧道,从而降低握手时的网络延迟、也提高联网稳定性和安全性。

    1. planet: 根服务器节点, zerotier在全球提供了共用的一些节点, 当使用官方提供的服务时, 需要通过这些节点去连接彼此, 在打洞成功情况下, 数据是不会经过这些节点的; — 也可以部署自己的根服务节点
    2. leaf: 你自己分散在各个地方的电脑,
    3. moon: 为你自己的电脑提供公网级别的节点, 更快更稳定的建立连接

    使用说明

    1. 如果基于官方的节点进行局域网创建, 需要在官方控制台中创建网络, 并在客户端中加入对应的网络即可;
    2. 连上后, 需要勾选对应的节点, 表示鉴权通过才可正常互联
    3. 如果打洞失败的话, 可以自建moon服务器, 并加入到各个节点中, 这样可以更好的建立连接
    4. 如果moon方案还是太慢, 或者需要自行管理网络; 那么就可以进行planet服务器的搭建

    PLANET搭建

    GitHub - Jonnyan404/zerotier-planet: 一分钟自建zerotier-planet

    一分钟自建zerotier-plant - Jonnyan的原创笔记

    git clone https://github.com/Jonnyan404/zerotier-planet
    OR
    git clone https://gitee.com/Jonnyan404/zerotier-planet
    
    cd zerotier-planet
    
    # 在这里需要修改docker-compose.yaml中的ip和端口等信息
    docker-compose up -d
    # 以下步骤为创建planet和moon
    docker cp mkmoonworld-x86_64 ztncui:/tmp
    docker cp patch.sh ztncui:/tmp
    docker exec -it ztncui bash /tmp/patch.sh
    docker restart ztncui
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 浏览器访问 http://ip:4000 打开web控制台界面。
    用户名:admin
    
    密码:mrdoc.fun
    
    • 1
    • 2
    • 3
    • 浏览器访问 http://ip:3180 打开planet和moon文件下载页面(亦可在项目根目录 的./ztncui/etc/myfs/里获取)。
    • 创建对应的网络, 并设置ip范围
    • 客户端安装后, 替换客户端中的 planet文件, 并重启服务

    Download - ZeroTier

    # 不同的系统在不同的目录下
    Windows: C:\ProgramData\ZeroTier\One
    Macintosh: /Library/Application Support/ZeroTier/One
    Linux: /var/lib/zerotier-one
    FreeBSD/OpenBSD: /var/db/zerotier-one
    
    # 配置文件在以上目录增加 local.conf文件
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 加入创建的网络即可使用: zerotier-cli join xxxxx

    MOON搭建

    # docker部署zero-tier moon
    version: "3"
    
    services:
      zerotier-moon:
        image: seedgou/zerotier-moon
        container_name: "zerotier-moon"
        restart: always
        ports:
          - "9993:9993/udp"
        volumes:
          - /self/devData/zerotier/config:/var/lib/zerotier-one
        entrypoint:
          - /startup.sh
          - "-4"
          - <公网IP>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 客户端加入moon: zerotier-cli orbit
  • 相关阅读:
    金融企业为啥不选择云服务器还是考虑服务器托管
    关于尚硅谷禹神Vue视频四十二级v-cloak,delay_server服务器服务器的替代方案
    【行为型模式】模板方法模式
    洛必达法则
    pacman 升级软件包提示 “failed to commit transaction (invalid or corrupted package)“
    JavaScript-DOM按钮事件
    【HuggingFace】Transformers(V4.34.0 稳定)支持的模型
    【无标题】
    设计模式——21. 中介者模式
    数据结构算法之——时间复杂度和空间复杂度
  • 原文地址:https://blog.csdn.net/qq_35566365/article/details/127901468