爱创新网络
我们一直在努力

ZeroTier-One配置moon心得

安装 moon,zerotier官方提供了比较方便的安装方式,一条命令即可完成:
curl -s https://install.zerotier.com/ | sudo bash

2.生成moon配置文件

cd /var/lib/zerotier-one  #安装好zerotier后,自动会安装到此目录

sudo zerotier-idtool initmoon identity.public > moon.json         #该命令将id文件转换为能用于配置的json

3. 修改配置文件moon.json,主要是添加公网IP,修改内容如下, 9993是默认端口

"stableEndpoints": [ "23.23.23.23/9993" ]

注:23.23.23.23为公网ip, 一定要配置正确,Zerotier依靠此配置去连接moon.后面的端口若没有改变则默认都是9993端口, 且是UDP协议的, 此处在防火墙上需要开放UDP,否则是连接不上Moon的.

该配置里面,有一个id字段,10个字符,如: ["id": "18fasd2319"],  就是moon的id, 在客户端连接时,需要用到它.

 

4.生成moon文件

sudo zerotier-idtool genmoon moon.json

执行该命令后,会在在/var/lib/zerotier-one目录下生成一个类似00000018fasd2319.moon的文件..这个文件非常重要,所有的客户端要连接上moon都是依靠该文件关联的..

5.使moon配置文件生效:

在/var/lib/zerotier-one目录下,新建一个 moons.d 文件夹,并将刚生成的moon配置文件放到该文件夹下

mv 00000018fasd2319.moon moons.d/

6. 重新启动moon服务器,由于使用命令安装时会自动注册为服务,所以可以依靠以下命令完成启动或重启

service zerotier-one restart   #(服务重启命令)

/etc/init.d/zerotier-one restart  #(服务重启命令)

service zerotier-one start #(服务启动命令)

zerotier-one -d #或直接程序启动

经过以上配置,服务器上的moon即配置并应用完闭.

 

客户端连接并使用服务器上的Moon
接下来就需要在各客户端zerotier上配置,并连接此服务器,

有两种方法可以完成.

方法1.
Linux:  直接在zerotier目录下,创建moons.d文件夹,并且将生成的00000018fasd2319.moon文件拷入,并重启服务即可.

Windows(10):由于大部分人常用环境都是windows,所以此处着重对在windows环境下的配置说明下:

打开服务程序services.msc, 找到服务"ZeroTier One", 并且在属性内找到该服务可执行文件路径,我的环境下为C:\ProgramData\ZeroTier\One\zerotier-one_x64.exe, 打开该文件夹, 并且在其下建立moons.d文件夹,然后将moon服务器下生成的000xxxx.moon文件,拷贝到此文件夹内..再重启该服务即可..

(注,此处重启的是该项服务,不是电脑右下角的图标程序..网上大多资料都没法特别说明,或者含糊没说清,甚至重启电脑之类的说法都说出来了,比较马虎..右下角任务栏程序路径是在C:\Program Files (x86)\ZeroTier\One目录下,而服务路径却并非在该路径,若将moons.d文件夹放不对位置,是无法连上Moon服务器的.)

方法2.
只需执行此命令即可,此处需要输入两遍id:

zerotier-cli orbit 18fasd2319 18fasd2319

(此种方法依赖zerotier的根服务器,若根服务器连接不上,则会无效,由于不确定性, 所以本人更喜欢方法1..这个看个人情况而定,适用就好...)

要验证是否moon生效,只需要在客户端zerotier程序目录下,执行以下命令即可:
zerotier-cli listpeers

若有类似地址,即可证明moon连接成功

200 listpeers 18fasd2319 23.23.23.23/9994;4242;4038 224 1.2.12 MOON

 

附录:

由于很多人对配置服务端的moon都会有修改端口的需求,笔者也不例外, 翻了官网不少文档最后才找到方法..在此处一并记录下来..以供大家参考:

在运行程序同级目录下建立local.conf文件:

文件内容配置如下,primaryPort即为想要配置的端口:

 

{

 

"settings":

{

"primaryPort":9994

}

}

 

 

local.conf 完整配置示例如下:

{
"physical": { /* Settings that apply to physical L2/L3 network paths. */
"NETWORK/bits": { /* Network e.g. 10.0.0.0/24 or fd00::/32 */
"blacklist": true|false, /* If true, blacklist this path for all ZeroTier traffic */
"trustedPathId": 0|!0 /* If present and nonzero, define this as a trusted path (see below) */
} /* ,... additional networks */
},
"virtual": { /* Settings applied to ZeroTier virtual network devices (VL1) */
"##########": { /* 10-digit ZeroTier address */
"try": [ "IP/port"/*,...*/ ], /* Hints on where to reach this peer if no upstreams/roots are online */
"blacklist": [ "NETWORK/bits"/*,...*/ ] /* Blacklist a physical path for only this peer. */
}
},
"settings": { /* Other global settings */
"primaryPort": 0-65535, /* If set, override default port of 9993 and any command line port */
"portMappingEnabled": true|false, /* If true (the default), try to use uPnP or NAT-PMP to map ports */
"softwareUpdate": "apply"|"download"|"disable", /* Automatically apply updates, just download, or disable built-in software updates */
"softwareUpdateChannel": "release"|"beta", /* Software update channel */
"softwareUpdateDist": true|false, /* If true, distribute software updates (only really useful to ZeroTier, Inc. itself, default is false) */
"interfacePrefixBlacklist": [ "XXX",... ], /* Array of interface name prefixes (e.g. eth for eth#) to blacklist for ZT traffic */
"allowManagementFrom": "NETWORK/bits"|null, /* If non-NULL, allow JSON/HTTP management from this IP network. Default is 127.0.0.1 only. */
"allowTcpFallbackRelay": true|false /* Allow or disallow establishment of TCP relay connections (true by default) */
}
}

赞(6)
未经允许可以转载:爱创新网络 » ZeroTier-One配置moon心得

用技术驱动人生,让生活更便捷

登录

找回密码

注册