飞牛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服务器” 》 有 2 条评论

  1. 林旭楠 的头像
    林旭楠

    您好

  2.  的头像
    匿名

    你好

发表回复

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