原本速度虽然不快,但是好歹也有1M左右的传输速度,但是架不住时常抽风,今天开始又完全不通了。

而之前是这样的

查阅文档后发现,moon的搭建是为了补充根节点在国外,速度慢,且不稳定的一个补充方案,以便使zerotier能在各种情况都能稳定运行的一种保障.
GCP有公网地址,直接就它了。
1. 在GCP上安装Zerotier
用官网上提供的命令行:
1
| curl -s https://install.zerotier.com | sudo bash
|
开始安装:

安装完成:

2. 加入网络

3. 获取网络情况

4. 生成moon.json
进入 /var/lib/zerotier-one 文件夹

运行下面的语句
1
| zerotier-idtool initmoon identity.public >>moon.json
|
会在当前目录下产生一个新文件 moon.js
直接运行vi moon.js

1 2 3 4 5 6 7 8 9 10 11 12 13 14
| { "id": "3648b35427", "objtype": "world", "roots": [ { "identity": "3648b35427:0:49fbcc3fb665ac07dbbf5825a63d771d38dcc37f94393de88766d3a39a488156e02f6d816e3a3a3684af5d2385b7401944ce54651fd8de6b2a13f4d8d0ec9a5c", "stableEndpoints": [] } ], "signingKey": "3475482010c71caf78bf00573552ebcd53cd83b2e09572374eaeae2383c9773d9d0c697e4ee0b3ae4a74e20abd04651c9fe6a339a1077f47bbeedce2a10d44f1", "signingKey_SECRET": "294e4d31e71847eeea842aa60c2aba603f95666263970bb39e21eb4c349ee77c265bf903fce3b1870f9825346b87de7861b1538f24006d93e20b90f1a9bd9913", "updatesMustBeSignedBy": "3475482010c71caf78bf00573552ebcd53cd83b2e09572374eaeae2383c9773d9d0c697e4ee0b3ae4a74e20abd04651c9fe6a339a1077f47bbeedce2a10d44f1", "worldType": "moon" }
|
5. 需要修改stableEndpoints
增加做moon机器的IP地址信息如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| { "id": "3648b35427", "objtype": "world", "roots": [ { "identity": "3648b35427:0:49fbcc3fb665ac07dbbf5825a63d771d38dcc37f94393de88766d3a39a488156e02f6d816e3a3a3684af5d2385b7401944ce54651fd8de6b2a13f4d8d0ec9a5c", "stableEndpoints": ["34.84.xxx.xxx/9993","192.168.191.1/9993"] } ], "signingKey": "3475482010c71caf78bf00573552ebcd53cd83b2e09572374eaeae2383c9773d9d0c697e4ee0b3ae4a74e20abd04651c9fe6a339a1077f47bbeedce2a10d44f1", "signingKey_SECRET": "294e4d31e71847eeea842aa60c2aba603f95666263970bb39e21eb4c349ee77c265bf903fce3b1870f9825346b87de7861b1538f24006d93e20b90f1a9bd9913", "updatesMustBeSignedBy": "3475482010c71caf78bf00573552ebcd53cd83b2e09572374eaeae2383c9773d9d0c697e4ee0b3ae4a74e20abd04651c9fe6a339a1077f47bbeedce2a10d44f1", "worldType": "moon" }
|
其中
34.84.xxx.xxx 为公网地址
192.168.191.1 为zerotier分配的地址,后台设置时已经取消了自动分配;
6. 建立私有网络的zerotier标志性文件
1
| zerotier-idtool genmoon moon.json
|
运行上面的命令以后,就会在该文件夹下生成类似这样的一个新文件:0000003648b35427.moon。然后把他们拷贝到做 moon 机器的 /var/lib/zerotier-one/moons.d 目录里去(这个目录是拷贝之前手工建立的),然后重启 zerotier-one。
7. 重启服务
网上的命令是这样的
1 2
| killall -9 zerotier-one zerotier-one -d
|
但是我执行后遇到错误,所以最简单的办法是直接reboot
8. 客户端配置
- 在没有加入moon时,运行
zerotier-cli listpeers
查看客户端的连接情况

可以看到都是planet和leaf,没有moon;
- 不管Windows还是Mac OS,都需要以管理员身份运行:
zerotier-cli orbit 3648b35427 3648b35427
- 再次用
zerotier-cli listpeers
查看客户端的连接情况


参考文档:
ZeroTier-One配置moon心得
ZeroTier-One搭建moon完整过程
建立自定义 ZeroTier Moons 服务器
ZeroTier moon 设置教程
初探:建立 zerotier 的 moon 服务器
再探:创建 zerotier moon 其实很简单