IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Zerotier搭建MOON月亮节点

    网友小宋发表于 2024-02-11 11:54:00
    love 0

    ZeroTier

    • ZeroTier是一款利用 UDP 打洞来实现内网穿透的工具,相比其他工具成功率更高、部署更简单。其基本工作原理是组建一个虚拟局域网,各个设备(NAS、Linux、Windows、Mac、iOS、Android)安装了客户端、加入到这个虚拟局域网后,就会自动分配一个IP,从而实现局域网内各个设备及服务的相互访问。
    • 除了使用官方默认的服务外,也可以自建辅助服务。
    • PLANET 行星服务器,Zerotier 官方根服务器,在国外。免费版最大支持25个设备连接。自建的话,会解除一些限制。
    • MOON 卫星服务器,私有根服务器,可以利用带有公网IP的云服务器自己搭建,起到代理加速的作用

    MOON 卫星服务器

    • 搭建MOON 卫星服务器,本次仅是一种尝试。目前zerotier的有线网络连接P2P打洞还是非常顺利的,但是4G网络下,简直一言难尽。通过服务器中转都是极其缓慢,放颗卫星上去也是好了一点,最起码能通了,具体测试我放到了最后面,河南移动和河南电信,基本上大同小异,河南电信稍微好那么一丢丢。
    • 关于docker搭建zerotier的教程,参考我下面的这个文章,下面部分操作内容有引用。树莓派通过Docker安装Zerotier实现内网穿透
    • 官方提供了一键安装命令,其实是部署linux客户端的,搭建步骤及其傻瓜化。
    • 首次安装的话,只要执行以下命令一键安装即可。安装完成,会自动在/var/lib/zerotier-one/下生成相关文件及目录

    curl -s https://install.zerotier.com | sudo bash

    • 加入现有的网络,关于16位ID,可以参考上方文章注册。

      zerotier-cli join af7xxxxxxxxxxx33d  # 添加创建网络生成的16位ID
      zerotier-cli status  # 查看网络状态
    • 客户端查看本地服务器网络情况(如下类似)

    • listnetworks
    • listnetworks af7xxxxxxxxxxx33d angry_gray 99:88:88:77:28:88 OK PRIVATE zthnhkljyl 10.147.20.299/24

    配置moon中转服务器

    • 生成认证配置文件

      cd /var/lib/zerotier-one/
      zerotier-idtool initmoon identity.public > moon.json
    • 执行上述命令后会生成一个moon.json的配置文件
    • 编辑moon.json,添加云服务器的公网ip

    nano moon.json

    • 找到"stableEndpoints": []填加以下信息,并放行9993端口,如图所示。
    • "stableEndpoints": ["云服务器IP/9993"]
      moonIP.png

    生成签名文件

    zerotier-idtool genmoon moon.json
    执行通过后会给出下面的提示,并生成一个000000beab485e08.moon结尾的文件

    生成moon文件.png

    将moon节点加入网络
    在/var/lib/zerotier-one/目录下新建一个moons.d的目录,并将生成的.moon结尾的文件移动到此目录下。

    mkdir moons.d
    mv 000000beab485e08.moon moons.d/

    重启中转服务器的zerotier-one

    systemctl restart zerotier-one 

    Docker镜像加入moon

    • 以我为例在之前创建Docker镜像文章中,Zerotier配置目录是/home/zerotier,在Zerotier目录下创建moons.d文件夹,并将000000beab485e08.moon文件复制到里面。
      添加moon文件.png
    • 重启docker镜像
    • 查询是否加入moon

      docker exec -it zerotier-one zerotier-cli listpeers

      moon节点.png

    • 安卓客户端
    • 通过下方链接下载第三方可以添加moon的客户端。如果你下载不了,可以留言给我。
      github下载
    • 下方是相关测试,使用中国移动4G,中国电信4G,联通有线宽带。
      [album]

    移动4G未添加moon延迟.jpg

    移动4G延迟.jpg
    移动4G传输.jpg
    电信4G网络.jpg
    联通有线延迟.jpg
    联通有线传输.jpg

    [/album]

    结语

    • 就像我上方所说,结果不是很好,仅仅只是从ping不通,到能ping通,连接速度感人,下一步单独部署的行星服务器,得考虑尝试了。要说的是目前前面所写的问题也仅仅是在国内4G5G的网络下产生的,有线网络其实并没有这种困扰,最起码我没遇到。小宋一直也在探索更好的方案,之前有博友再聊直接使用ddos-go加IPV6的方案,或者frp等方案。个人觉得是有点安全隐患的,当然优势也是很明显的。目前处于zerotier和Tailscale的双重挂载,访问还是没有什么问题的,就是比较担心后期Tailscale也会被运营商干扰。
    • 目前Fast OS Docker的作者开发的飞鼠,貌似看展示,效果还是不错的,功能也是能够满足,但是老哥开发主要是跟企业客户对接的,后续有机会找老哥测试一下。还有一些,几乎和frp及其相似的,但是他不是我想要的。当然有自部署的方案的,可以评论区留言讨论一下!


沪ICP备19023445号-2号
友情链接