ZeroTier moon 节点的创建说不上特别繁琐但也绝对不是特别简单,因此写了一个 Docker 镜像方便 ZeroTier moon 节点的创建。
补充一下:issue#1158根据官方说法,moon节点仅支持固定公网IP,且未来2.0版本依然维持此设定,不支持域名.不支持域名.不支持域名.
github项目地址
https://github.com/rwv/docker-zerotier-moon
Docker镜像ZeroTier moon搭建命令
一条命令创建 ZeroTier moon 节点:
$ docker run --name zerotier-moon -d -p 9993:9993 -p 9993:9993/udp seedgou/zerotier-moon -4 1.2.3.4
(将 1.2.3.4 替换为 moon 的 ip )
另一条命令查看 moon id
$ docker logs zerotier-moon
注意: 当创建一个新的容器时,会生成新的 moon id。为了保持 moon id 不变,在容器停止运行时,使用 docker start zerotier-moon 重启容器。如果需要在创建新的容器时保持 moon id 不变,可以参考下面的挂载配置文件夹。
ZeroTier高阶用法
管理 ZeroTier
docker exec zerotier-moon /zerotier-cli
挂载配置文件夹
docker run --name zerotier-moon -d -p 9993:9993 -p 9993:9993/udp -v ~/somewhere:/var/lib/zerotier-one seedgou/zerotier-moon -4 1.2.3.4
这条命令将本机上的 ~/somewhere 挂载到容器中的 /var/lib/zerotier-one 目录上,使得配置文件能够持久化。如果不挂载配置文件夹,新建容器则会生成新的 moon id.
IPv6 支持
docker run --name zerotier-moon -d -p 9993:9993 -p 9993:9993/udp seedgou/zerotier-moon -4 1.2.3.4 -6 2001:abcd:abcd::1
将 1.2.3.4, 2001:abcd:abcd::1 替换为 moon 的 ip. -4 选项可在纯 IPv6 环境中忽略。
自定义端口
docker run --name zerotier-moon -d -p 9994:9993 -p 9994:9993/udp seedgou/zerotier-moon -4 1.2.3.4 -p 9994
将 9994 替换为自定义端口。
其他方法搭建moon
搭建moon
curl -s https://install.zerotier.com/ | sudo bash sudo chmod 777 /var/lib/zerotier-one cd /var/lib/zerotier-one sudo zerotier-idtool initmoon identity.public > moon.json
修改 moon.json
“stableEndpoints”: [ “23.23.23.23/9993” ]# 23.23.23.23是你服务器公网IP
生成moon文件
sudo zerotier-idtool genmoon moon.json
当前目录生成一个moon文件
在当前目录新建moons.d
将生成的moon文件放到moons.d
重启服务
service zerotier-one restart /etc/init.d/zerotier-one restart service zerotier-one start zerotier-one -d
配置客户端
Linux配置zerotier客户端
直接在zerotier目录下,创建moons.d文件夹,并且将生成的000000xxxxxx.moon文件拷入,并重启服务即可。
Windows配置zerotier客户端
打开服务程序services.msc, 找到服务"ZeroTier One", 并且在属性内找到该服务可执行文件路径。
打开该文件夹, 并且在其下建立moons.d文件夹,然后将moon服务器下生成的000xxxx.moon文件,拷贝到此文件夹内…再重启该服务即可(计算机右键管理-找到服务双击打开-找到zerotier one右键重新启动即可)
官方QQ群号码:922069959