沫延说
沫延说

Ubuntu搭建ZeroTier One MOON节点

前  言

ZeroTier的便捷与优势不必多说,然而虽然其只是承担握手操作,但奈何根节点在境外,对于境内访问ping上了三百ms以上,还日常抽风无法访问,建立境内MOON节点的需求可谓越发重要

 

需求与环境

固定IP地址的Ubuntu云服务器,配置最低即可(本次案例为1核心512mb内存)

 

具体实施

采用官方推荐的部署方案

 

1.部署MOON节点程序

使用SSH以root权限登录服务器,执行命令

curl -s 'https://pgp.mit.edu/pks/lookup?op=get&search=0x1657198823E52A61' | gpg --import && \
if z=$(curl -s 'https://install.zerotier.com/' | gpg); then echo "$z" | sudo bash; fi

需要注意的是,此操作需要拥有contact@zerotier.com的GPG密钥

若经尝试失败(无GPG密钥),请使用

 

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

 

2.创建配置文件

进入程序安装

cd /var/lib/zerotier-one

使用命令创建配置文件

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

 

3.修改配置文件

执行命令编辑配置文件

vi moon.json

您将看见类似于如下内容

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

将其中的”stableEndpoints”: []

修改为:

"stableEndpoints": [ "10.0.0.10/9993","2001:abcd:abcd::1/9993" ]

其中:

10.0.0.10替换为固定IP地址,如果为内外固定IP则不支持外网节点

9993为端口,官方默认端口即为9993

2001:abcd:abcd::1为IPv6地址,如未分配或不需要删除即可

案例如下:

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

 

请留意节点ID,加入MOON节点时需要使用,修改完成后保存并退出

 

4.生成配置文件

执行命令

zerotier-idtool genmoon moon.json

完成后会生成一个类似于000000deadbeef00.moon的文件,此文件不包含密钥,并采用配置文件中的密钥进行签名

使用

mkdir moons.d

创建目录,使用

mv 000000deadbeef00.moon moons.d/

将刚才的moon文件移动至该目录

现在重启服务器,至此,MOON节点配置完成

注意:请检查对应端口的防火墙配置与云主机运营商的防火墙配置,将刚刚指定的端口TCP放行

 

加入MOON节点

在需要加入MOON节点的设备上执行命令(linux需要root权限,win需要管理员权限):

zerotier-cli orbit deadbeef00 deadbeef00

成功则回显”200 orbit OK”

重启ZeroTier服务/进程

执行

zerotier-cli listpeers

 

若出现MOON节点与IP则代表加速成功!

附win示例

C:\Windows\system32>zerotier-cli listpeers
200 listpeers <ztaddr> <path> <latency> <version> <role>
200 listpeers deadbeef00 10.0.0.10/55545;1056;1924 38 1.2.12 MOON
200 listpeers 8056c2e21c 35.236.69.126/41946;1366;4934 378 1.2.13 LEAF
200 listpeers 8841408a2e 45.32.248.87/9993;1368;12396 354 1.1.5 PLANET
200 listpeers 9d219039f3 128.199.197.217/9993;12770;12260 358 1.1.5 PLANET
200 listpeers c1fc234669 - -1 - LEAF

 

 

Morton.L

文章作者

发表回复

textsms
account_circle
email


沫延说

Ubuntu搭建ZeroTier One MOON节点
前  言 ZeroTier的便捷与优势不必多说,然而虽然其只是承担握手操作,但奈何根节点在境外,对于境内访问ping上了三百ms以上,还日常抽风无法访问,建立境内MOON节点的需求可谓越发重要  …
扫描二维码继续阅读
2019-02-11