欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

如何在零Tier网络中部署Moon服务:轻松上手ZeroTier Moon部署的第一步

最编程 2024-02-18 12:15:53
...

  官方手册部署 Moon.

1. 1 设置 ZeroTier Node

Moon 节点可以是具有固定 IP 的公网设备,也可以是具有物理 IP 的内网设备. 如果使用内网设备,依然需要借助官方根服务器作为中间链路. 因此,这里我们在云服务器上搭建 Moon 服务,云服务器的公网 IP 为 1.2.3.4.
我使用腾讯云搭建云服务器.
在机器 C 上部署 ZeroTier Moon 首先需要安装 ZeroTier One 将其部署为为 ZeroTier Node,参考 ZeroTier 的安装与使用.

1.2 设置 Moon.json 配置文件

在机器 C 上进入 root 账户,或者 sudo 提权.
 
1.进入 ZeroTier HOME 目录:

cd /var/lib/zerotier-one/

 
2.获取 moon.json 文件:

zerotier-idtool initmoon identity.public >>moon.json

 
产生的 moon.json 文件如下:

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

 
3.在 moon.json 文件中添加公网 IP(s),如下:

{
  "id": "deadbeef00",
  "objtype": "world",
  "roots": [
    { 
      "identity": "deadbeef00:0:34031483094...",
      "stableEndpoints": [ "1.2.3.4/9993"]    # wrrite the IPv4 or IPv6 in Square brackets, if you have IPv6
    },
    {
      "identity": "feedbeef11:0:83588158384...",
      "stableEndpoints": [ "1.2.3.5/9993","2001:abcd:abcd::3/9993" ]    # add the second root if you have
    }
  ],
  "signingKey": "b324d84cec708d1b51d5ac03e75afba501a12e2124705ec34a614bf8f9b2c800f44d9824ad3ab2e3da1ac52ecb39ac052ce3f54e58d8944b52632eb6d671d0e0",
  "signingKey_SECRET": "ffc5dd0b2baf1c9b220d1c9cb39633f9e2151cf350a6d0e67c913f8952bafaf3671d2226388e1406e7670dc645851bf7d3643da701fd4599fedb9914c3918db3",
  "updatesMustBeSignedBy": "b324d84cec708d1b51d5ac03e75afba501a12e2124705ec34a614bf8f9b2c800f44d9824ad3ab2e3da1ac52ecb39ac052ce3f54e58d8944b52632eb6d671d0e0",
  "worldType": "moon"
}

moon.json 文件中的 "id": "deadbeef00" 就是机器 C 的 ZeroTier Node ID.

1.3 设置 000000deadbeef00.moon 签名文件

1.修改完 moon.json 文件后,获取 000000deadbeef00.moon 签名文件:

zerotier-idtool genmoon moon.json

此时,在 /var/lib/zerotier-one/ 下产生 000000deadbeef00.moon 文件. deadbeef00 就是机器 C 的 ZeroTier Node ID.
 
2.新建 moons.d 目录,并将 000000deadbeef00.moon 文件移动到其下:

mkdir moons.d
mv 000000deadbeef00.moon moons.d

 
3.重启 ZeroTier One 服务,激活设置:

service zerotier-one restart