飞牛nas部署zerotier接入个人服务器自建Moon服务器

由notebooklm生成的教程播客,由ai生成内容正确性请自行辨别
播客简报

简报文档:飞牛NAS部署ZeroTier接入个人服务器自建Moon服务器

来源: 飞牛nas部署zerotier接入个人服务器自建Moon服务器 – ∅ Psycho (文章日期:2025年5月2日)

概述:

这篇技术文章详细介绍了如何在飞牛NAS上利用ZeroTier接入个人服务器,并通过自建Moon服务器来优化ZeroTier网络的连接和速度。文章提供了从安装ZeroTier、配置Moon服务器到不同设备(Linux Docker、Windows、安卓)接入Moon服务器的详细步骤和命令。

主要主题和重要思想:

  1. 利用ZeroTier构建内网穿透和虚拟组网: 文章的核心思想是使用ZeroTier技术来实现在不同网络环境下的设备互联,形成一个虚拟的内网。这解决了传统VPN或端口转发可能遇到的复杂性或限制。
  2. 自建Moon服务器优化ZeroTier连接: ZeroTier默认使用官方Planet服务器进行P2P连接的协调。自建Moon服务器可以提供一个离用户更近、更稳定的连接点,从而可能优化连接速度和稳定性,尤其是在穿越NAT时。文章详细描述了搭建和配置Moon服务器的步骤。
  3. 飞牛NAS作为部署平台: 文章以飞牛NAS作为主要的部署环境,展示了如何在NAS上搭建ZeroTier环境并配置Moon服务器。这表明NAS设备不仅可以用于存储,还可以作为轻量级服务器来运行网络服务。
  4. 多平台接入和配置: 文章提供了在不同设备类型(Linux Docker容器、Windows客户端、安卓手机)上加入ZeroTier网络并配置Moon服务器的方法,体现了ZeroTier的跨平台特性和应用的广泛性。

重要事实和具体步骤:

  • 前提条件: 需要开放防火墙的9993端口,这是ZeroTier用于P2P连接的关键端口。
  • “注意:防护墙开启9993端口”
  • 搭建Moon服务器步骤:安装ZeroTier:使用curl -s https://install.zerotier.com | sudo bash命令进行安装。
  • 生成Moon配置文件:进入ZeroTier数据目录/var/lib/zerotier-one,使用zerotier-idtool initmoon identity.public > moon.json生成初始配置文件。
  • 编辑Moon配置文件:修改moon.json文件,主要需要填入Moon服务器的ID、公共身份信息(identity)、稳定端点(stableEndpoints,包含公网服务器IP和9993端口)。
  • 示例配置文件结构: { “id”: “96******8c”, “objtype”: “world”, “roots”: [ { “identity”: “11******8c:0:******”, “stableEndpoints”: [“公网服务器ip/9993”] } ], “signingKey”: “signingKey”, “signingKey_SECRET”: “signingKey_SECRET”, “updatesMustBeSignedBy”: “updatesMustBeSigned”, “worldType”: “moon” }
  • 创建Moon服务器文件:使用zerotier-idtool genmoon moon.json生成以000000d开头,以.moon结尾的Moon文件。
  • 导入Moon配置文件:创建moons.d目录mkdir /var/lib/zerotier-one/moons.d,并将生成的.moon文件复制到该目录cp 000000d******.moon ./moons.d/。
  • 重启ZeroTier服务:systemctl restart zerotier-one。
  • 设备接入Moon服务器:Linux (Debian/Docker): 进入ZeroTier环境(例如Docker容器内),先加入ZeroTier网络zerotier-cli join *zerotier网络代码*,然后指定轨道到Moon服务器zerotier-cli orbit *moon服务器网络代码 moon服务器网络代码*。
  • “docker exec -it zerotier bash zerotier-cli join zerotier网络代码 zerotier-cli orbit moon服务器网络代码 moon服务器网络代码
  • Windows: 在终端(需要管理员权限)进入ZeroTier安装目录(例如C:\ProgramData\ZeroTier\One),使用命令zerotier-cli orbit [moon_id] [moon_id]加入Moon服务器。
  • “cd C:\ProgramData\ZeroTier\One zerotier-cli orbit [moon_id] [moon_id] 要用命令要用终端管理员”
  • 安卓手机: 推荐安装ZeroTier Fix应用。
  • 常见错误: ZeroTier要成功打洞连接,至少需要连接的一端不是NAT4类型。如果两端都是NAT4,则可能无法连接。
  • “zerotier打洞成功需要至少有一端不是nat4,如果两端都是nat4就无法连接上了”
  • ZeroTier常用命令: 文章附录提供了包括info、listpeers、listnetworks、join、leave、set、get、listmoons、orbit、deorbit、dump等常用命令及其基本用法。
  • “Usage: zerotier-cli [-switches] <command/path> [

总结:

这篇博客文章为希望通过ZeroTier实现设备互联,并通过自建Moon服务器优化连接的用户提供了一个清晰的指南。它涵盖了搭建环境、配置关键文件、以及在不同终端设备上进行接入的详细步骤和必要的命令。文章还提醒了NAT类型对连接成功的影响。对于想要在飞牛NAS或其他类似设备上部署ZeroTier并构建更高效虚拟网络的读者来说,这是一份实用的参考资料。

ai播客思维导图

注意:防护墙开启9993端口

一、搭建moon服务器

安装zeortier

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

生成 Moon 配置文件

cd /var/lib/zerotier-one  
zerotier-idtool initmoon identity.public > moon.json

编辑Moon 配置文件

nano moon.json
{  
  "id": "96******8c",  
  "objtype": "world",  
  "roots": [  
    {  
      "identity": "11******8c:0:******",  
      "stableEndpoints": ["公网服务器ip/9993"]  
    }  
  ],  
  "signingKey": "signingKey",  
  "signingKey_SECRET": "signingKey_SECRET",  
  "updatesMustBeSignedBy": "updatesMustBeSigned",  
  "worldType": "moon"  
}

ctrl x退出 y确定

创建Moon服务器

zerotier-idtool genmoon moon.json

会成一个000000d.moon这个前缀的moon文件

mkdir /var/lib/zerotier-one/moons.d

将moon配置文件导入到moon文件夹中

cp 000000d******.moon ./moons.d/

这样就配置完成了

重启

systemctl restart zerotier-one

二、各个设备加入moon服务器

1)Linux(Debain)

docker容器布置

docker exec -it zerotier bash
zerotier-cli join *zerotier网络代码*
zerotier-cli orbit *moon服务器网络代码 moon服务器网络代码*

2)windows

Windows 客户端加入moon服务器

cd C:\ProgramData\ZeroTier\One
zerotier-cli orbit [moon_id] [moon_id]

要用命令要用终端管理员

3)安卓手机

安装zerotier Fix https://github.com/kaaass/ZerotierFix/releases

常见错误事项
zerotier打洞成功需要至少有一端不是nat4,如果两端都是nat4就无法连接上了

附录
zerotier常用命令

Usage: zerotier-cli [-switches] <command/path> [<args>]

Available switches:
  -h                      - Display this help
  -v                      - Show version
  -j                      - Display full raw JSON output
  -D<path>                - ZeroTier home path for parameter auto-detect
  -p<port>                - HTTP port (default: auto)
  -T<token>               - Authentication token (default: auto)

Available commands:
  info                    - Display status info
  listpeers               - List all peers
  peers                   - List all peers (prettier)
  listnetworks            - List all networks
  join <network ID>          - Join a network
  leave <network ID>         - Leave a network
  set <network ID> <setting> - Set a network setting
  get <network ID> <setting> - Get a network setting
  listmoons               - List moons (federated root sets)
  orbit <world ID> <seed> - Join a moon via any member root
  deorbit <world ID>      - Leave a moon
  dump                    - Debug settings dump for support

Available settings:
  Settings to use with [get/set] may include property names from 
  the JSON output of "zerotier-cli -j listnetworks". Additionally, 
  (ip, ip4, ip6, ip6plane, and ip6prefix can be used). For instance:
  zerotier-cli get <network ID> ip6plane will return the 6PLANE address
  assigned to this node.

  • 微信或QQ扫一扫

《 “飞牛nas部署zerotier接入个人服务器自建Moon服务器” 》 有 6 条评论

  1. JosephPorge 的头像

    明亮的 内容! 把国家加入清单。 邊境火山 你们的项目 百分百 帮助别人。多发布!

  2. JosephPorge 的头像

    关注更新, 我感受到, 生活更精彩。感谢 美好的心情。 蘭薩羅特 很高兴阅读 有用的内容。十分 令人愉快。

  3. JosephPorge 的头像

    这个页面 确实 帮助别人。不要放弃! 攝影取景 吸引人的 旅行博客, 继续发展 充满灵感。万分感谢!

  4. JosephPorge 的头像

    能感受到热爱。继续保持 温暖。 私人莊園 非常有用的 旅游资源, 坚持下去 保持这种风格。多谢!

  5. 林旭楠 的头像
    林旭楠

    您好

  6.  的头像
    匿名

    你好

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注