首页 > 建站教程 > 域名服务器 >  ZeroTier搭建moon服务器正文

ZeroTier搭建moon服务器

本文转载自:www.swagger.vip,作者:nick,原文地址:https://www.swagger.vip/software/cbdc036291984bb88e53ff8a76ba13dd.html


1.png


名词解释


Earth

根据其介绍,将地球上的所有设备连起来。那这里的 Earth 指的就是整体的一个服务。


Network

每一个 Network 包含的所有设备都在同一个网络里。每个网络有一个 Network ID。各客户端通过这个 ID 连接到此网络。当然,一个账号是可以创建多个网络的。

网络氛围 Public 和 Private。一般我们自己组网是要用 Private,需要在页面授权设备才可以进行访问。Public 权限好像不太有人会需要吧


以下介绍的所有概念都是属于 Network 下的。


Planet

星球嘛。指的是官方提供的服务器节点。各客户端都是通过这些服务来互相寻址的。相当于 zookeeper 的不同节点。


Moon

自定义的 Planet。由于 Zerotier 没有国内节点,在两个设备刚开始互连的时候有可能需要通过国外的节点寻址(不过我没发现有什么慢的)导致创建连接的速度偏慢。在自己的网络里搭建 Moon 可以使连接提速。


Leaf

客户端。就是连接到网络上的每一个设备。其实经过测试,Moon 也是客户端的一种。这里特指没有额外功能,单纯用于连接的客户端。


配置(此处以linux设备为例,防火墙需要打开9993端口)


1、重点需要一个有外网ip的设备,没有就不用看下去了


2、安装zerotier

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


3、生成moon.json

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


4、修改moon.json

修改stableEndpoints的ip为当前设备的公网ip

格式"IPv4地址/9993",“IPv6地址/9993”;没有ipv6地址就不用配置(吐糟:现在服务器的ipv6流量单独算流量费用,坑!!!)

id需要记住,这个就是添加这个moon节点的id

{
 "id": "XXXXX",
 "objtype": "world",
 "roots": [
  {
   "identity": "XXXXX",
   "stableEndpoints": ["192.168.0.1/9993"]
  }
 ],
 "signingKey": "XXXXX",
 "signingKey_SECRET": "XXXXX",
 "updatesMustBeSignedBy": "XXXXX",
 "worldType": "moon"
}


5、生成 .moon加密签名文件

sudo zerotier-idtool genmoon moon.json


6、创建moon文件夹

mkdir /var/lib/zerotier-one/moods.d


7、将签名文件复制到 moods.d 文件夹中

cp XXXXXX.moon moons.d/


8、重启zerotier服务

service zerotier-one restart


其他设置添加Moon


#离开moon
zerotier-cli deorbit XXXXXXXX
#添加moon
zerotier-cli orbit XXXXXXXX XXXXXXXX
#查看moon是否生效,列表中role有moon代表已经生效
zerotier-cli listpeers


windows需要用管理员模式,XXXXXXXX是moon.json中的id


安卓添加moon节点需要用到第三方apk

ZerotierFix 链接:https://github.com/kaaass/ZerotierFix/releases

右上角选择入轨-导入moon结点