Linux部署zerotier局域网工具,并搭建moon;客户端配置moon

在线安装zerotier

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

查看安装zerotier版本

sudo zerotier-cli status

加入一个netWork

sudo zerotier-cli join ################(networkid)

查看加入的网络的信息,比如network

sudo zerotier-cli listnetworks

退出加入的network网段

sudo zerotier-cli leave ################(networkid)

启动、停止服务(mac下,linux尝试发现没有launchctl command)

#Stop and start the service with launchctl
停止

sudo launchctl unload /Library/LaunchDaemons/com.zerotier.one.plist

启动

sudo launchctl load /Library/LaunchDaemons/com.zerotier.one.plist

卸载服务(未尝试)

#Cleanly uninstall ZeroTier One, preserving only your secret identity

sudo "/Library/Application Support/ZeroTier/One/uninstall.sh"

搭建moon

问题是ZeroTier One本身的服务器都在国外访问速度很慢。可以通过搭建国内Moon服务加速解决连接慢的问题。

在自己的云服务器上搭建moon,我的云服务器是ubuntu系统
zerotier官方提供了比较方便的安装方式安装 moon

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

生成moon配置文件

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

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

vim moon.json #找到对应行修改内容
"stableEndpoints": [ "23.23.23.23/9993" ]

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

生成moon文件

sudo zerotier-idtool genmoon moon.json

执行该命令后,会在在/var/lib/zerotier-one目录下生成一个类似000000xxxxx.moon的文件

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

mv 00000018fasd2319.moon moons.d/

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

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

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

客户端连接并使用服务器上的Moon

直接在zerotier目录下,创建moons.d文件夹,并且将生成的000000xxxxxxxx.moon文件拷入,并重启服务即可

或者用命令连接

zerotier-cli orbit [moon.json 文件中的 id] [moon.json 文件中的 id]

检测moon是否生效

如果moon服务器的moon.json文件的idip出现在列表中就说明生效了

zerotier-cli listpeers
  1. Planet Server: 官方的根服务器,用于记录和配置每个局域网下客户端信息;
  2. Moon Server: 官方推荐的私有 Planet Server 的部署方法,在默认 Planet 无法访问的时候承担 Planet的作用;
  3. Leaf: 局域网中既不是Planet 也不是 Moon 的其他客户端。