宝塔面板如何创建ZeroTier-Moon节点

序言:折腾过内网穿透的玩家,ngrok、frp 都应该不陌生了,自己搭也好,用别人提供的免费服务也好,配置过程都显得有些繁琐。有幸了解到 ZeroTier 的存在,使用起来真是非常方便,可以很轻松的将自己的电子设备加入同一个局域网,但由于其根服务器在国外,导致前期建立链接时访问速度较慢,好在 ZeroTier 也提供了加速方法,就是创建自己的根服务器,也就是 Moon 节点。

一、ZeroTier介绍

ZeroTier 客户端用于连接到之前在 ZeroTier Central 网页UI中创建的虚拟网络。端点连接是点对点的,并且是端到端加密的。STUN和打洞技术用于在NAT后面的对等点之间建立直接连接。直接连接路由发现是在全球根服务器网络的帮助下通过类似于WebRTC中的ICE 的机制进行的。

二、如何搭建Moon节点?

2.1 准备一台有固定公网ip的云服务器

按照官方的意思,我们得有一个云服务器(常开且有固定的公网 IP),例如,我就有一台腾讯云的轻量应用云服务器,这就符合条件了。

2.2 配置 Moon 节点(Linux)

1. 登录云服务器,安装 ZeroTier,官方提供了简便的命令

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

2. 使用 zerotier-idtool 生成 Moon 配置文件

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

3. 编辑 moon.json,你可以用 vim 或其他方式,在 stableEndpoints 里添加你云服务器的公网 IP,例如 119.29.29.29 ,端口号默认为 9993

vim moon.json
{
  "id": "deadbeef00",
  "objtype": "world",
  "roots": [
    {
      "identity": "deadbeef00:0:34031483094...",
      "stableEndpoints": []
    }
  ],
  "signingKey": "b324d84cec708d1b51d5ac03e75afba501a12e2124705ec34a614bf8f9b2c800f44d9824ad3ab2e3da1ac52ecb39ac052ce3f54e58d8944b52632eb6d671d0e0",
  "signingKey_SECRET": "ffc5dd0b2baf1c9b220d1c9cb39633f9e2151cf350a6d0e67c913f8952bafaf3671d2226388e1406e7670dc645851bf7d3643da701fd4599fedb9914c3918db3",
  "updatesMustBeSignedBy": "b324d84cec708d1b51d5ac03e75afba501a12e2124705ec34a614bf8f9b2c800f44d9824ad3ab2e3da1ac52ecb39ac052ce3f54e58d8944b52632eb6d671d0e0",
  "worldType": "moon"
}
"stableEndpoints": [ "119.29.29.29/9993" ]

4. 生成 Moon 文件,执行命令后,会在 /var/lib/zerotier-one 目录下生成一个 0 开头的 .moon 的文件,例如 000000096a34c024.moon

sudo zerotier-idtool genmoon moon.json

5. 创建 moons.d 文件夹,并将 .moon 文件移入该文件夹内

mkdir moons.d
mv 000000096a34c024.moon moons.d/

5. 重启 zerotier-one 服务,或者直接重启云服务器,就完成配置了

service zerotier-one restart

    2.3 使用 Moon 节点(Win 10 )

    1. 将云服务器中生成的 .moon 文件下载出来,例如用宝塔面板进行下载

      2.进入 C:\ProgramData\ZeroTier\One\ 目录,同样创建 moons.d 文件夹,并将 .moon 文件移入该文件夹内

        3.打开任务管理器,重启 ZeroTierOneService 服务

          2.4 测试 Moon 节点

          用管理员身份启动 CMD 或 Powershell,执行命令,如何有出现你的 Moon 节点,就成功了。

          zerotier-cli listpeers