本帖最后由 laomms 于 2018-4-9 10:51 编辑
zerotier的官方服务器在国外,国内客户端使用时延迟较大,网络高峰期时甚至各个客户端节点之间访问不了。此时,“自定义根服务器”,又称 moon中转服务器就显得非常重要,它的主要功能是通过自定义的服务器作为跳板加速内网机器之间的互相访问。
zerotier定义了几个专业名词:
PLANET 行星级的服务器,zerotier各地的根服务器,有日本、新加坡等地。
MOON 卫星级服务器,用户自建的私有根服务器,起到中转加速的作用。
LEAF 相当于各个枝叶,就是每台连接到该网络的机器节点。
充当MOON的机子最好有公网IP,现在我们尝试用qnap搭建一个moon中转:
跟安装客户端一样,用entware安装好zerotier。这里不细讲。
下面是ssh命令行。
- zerotier-idtool generate identity.public
复制代码 会在/share/CACHEDEV2_DATA/.qpkg/Entware-3x/var/lib/zerotier-one目录产生identity.public 文件。(CACHEDEV2_DATA这是我的目录,其他人可能不同。)
跟进到该目录:
- cd /share/CACHEDEV2_DATA/.qpkg/Entware-3x/var/lib/zerotier-one
复制代码 执行命令:
- zerotier-idtool initmoon identity.public >>moon.json
复制代码 此命令也会在当前目录下生成一个文件 moon.json,修改下内容:
就是将"stableEndpoints": [ ] 修改下,放上qnap的域名及zerotier的端口:
- {
- "id": "b7******e2",
- "objtype": "world",
- "roots": [
- {
- "identity": "b724e072e2:0:84d8ba8ecaa751a91e7b1fadb7952b1f5bae0b9d0789662194872b91cf651259e5ff4148a52e2ae2a2afddaaaf2e73f682d94b2c7d18619f0ad4da8442ee3b77",
- "stableEndpoints": ["****.myqnapcloud.com/9993"]
- }
- ],
- "signingKey": "842a6d45d70c392bc4ae392ba88f20a351702e32d123907595188e17a21a9e321e2a38a6ded25dcc94c1b5199746399c7a08b149148085d1843837aed418b178",
- "signingKey_SECRET": "dfe01b3d79571e41fe400e35c71e363c5ce02490fe2fcec1afc1f29c08f67f1c44971121574bef5a5457cde1dde349716d7d73e9e437a46c576c87e4616b5d81",
- "updatesMustBeSignedBy": "842a6d45d70c392bc4ae392ba88f20a351702e32d123907595188e17a21a9e321e2a38a6ded25dcc94c1b5199746399c7a08b149148085d1843837aed418b178",
- "worldType": "moon"
- }
复制代码
修改完保存,执行:
- zerotier-idtool genmoon moon.json
复制代码 这时会在目录产生一个00000b7******e2.moon文件 再在当前目录新建文件夹moons.d: 移动moon文件到该文件夹:
- mv 00000b724e072e2.moon moons.d
复制代码 重启zerotier:- killall -9 zerotier-one
- zerotier-one -d
复制代码 以后每台节点机器要加入这个moon中转只要执行:
- zerotier-cli orbit b7******e2 b7******e2
复制代码 在其他机子执行以下命令将会显示该moon服务器:
如果是局域网机子,显示
- 200 listpeers b7******e2 192.168.1.123/9993;33;3543;1.00 1 1.2.4 MOON
复制代码
如果是远程机子,显示
- 200 listpeers b7******e2 59.11.12.62/1221;198;198;0.70 124 1.2.4 MOON
复制代码
|