ZeroTier 是一个虚拟局域网软件,局域网内的机器,流量不走公网,降低了风险和费用。而且软件开源,同一子网下免费使用100个机器,然而在国内如果要用好ZeroTier,最好搭建MOON转发服务器。
因为我现有公网的机器是windows系统的,但是现在网上的moon服务器搭建教程都是基于Linux的,通过一番折腾,找到windows系统下作moon服务器的方法。
使用步骤
1、 Linux下搭建moon可以参考下这篇文章:
使用ZeroTier组建虚拟内网/如何搭建MOON转发服务器
https://icodex.org/2020/02/how-to-create-virtual-local-area-network-and-moon-server-with-zerotier/
2、 Windows下搭建moon
到ZeroTier 官网下载windows客户端ZeroTier One https://www.zerotier.com/download/
安装ZeroTier One
做moon服务器主要用到的是使用zerotier-idtool initmoon初始化生成moon.json文件,修改zerotier-idtool genmoon,windows系统看起来没有zerotier-idtool命令,其实使用zerotier-one_x64.exe带参数运行就可以,zerotier-one_x64.exe一般情况存在于C:\ProgramData\ZeroTier\One文件夹下C:\ProgramData\ZeroTier\One\zerotier-one_x64.exe
打开命令行工具cmd
输入
CD C:\ProgramData\ZeroTier\One\
zerotier-one_x64.exe -i
出现如下界面,这就是zerotier-idtool命令
1)生成MOON模板
命令方式和linux一致
zerotier-one_x64.exe -i initmoon identity.public >>moon.json
运行后在C:\ProgramData\ZeroTier\One\目录下生成moon.json文件
2)修改模板,编辑器打开moon.json,把公网IP地址填到里面去,端口保持默认即可
“stableEndpoints”: [ “8.8.8.8/9993” ] #8.8.8.8 改为你的公网IP
3)生成MOON签名
zerotier-one_x64.exe -i genmoon moon.json
运行后在C:\ProgramData\ZeroTier\One\目录下生成类似000000xxxxx.moon的文件
,.moon前面的即这台MOON的ID,后续使用时需要,注意保存
4) 把MOON加入网络中
运行后在C:\ProgramData\ZeroTier\One\目录下建立文件夹 moons.d,将刚刚生成的 .moon 文件拷贝进去。
5)重启 ZeroTier,MOON即可在该网段可用
1 按“WIN+R”键,打开运行窗口;2 输入”services.msc”,回车,运行的服务中找到ZeroTier one,选中点击右键,重启启动。
6)在你的其他加入ZeroTier的机器LEAF节点,执行命令
window:
CD C:\ProgramData\ZeroTier\One\
zerotier-one_x64.exe -q orbit 000000xxxxx 000000xxxxx #moon服务器的ID值,输入2遍
linux:
zerotier-cli orbit 000000xxxxx 000000xxxxx #moon服务器的ID值,输入2遍
7)查看客服端是否成功使用moon服务器
你的信令就会经过这台中转服务器进行转发,查看是否存在MOON服务器,可以执行命令进行查看
window:
zerotier-one_x64.exe -q listpeers
linux:
zerotier-cli listpeers
出现下图,服务器对应ID最后后面显示moon说明已经加入了moon服务器中,还是leaf说明没有加入moon服务器
8) 群晖NAS加入moon注意事项
原来群晖NAS加入ZeroTier 后,没有使用moon服务器时ping值400左右,加入moon后ping值大幅降低
群晖使用ssh登录后默认没有启用root权限,
登录进群辉,然后输入“sudo -i”,申请提权。
然后在下一行再次输入群辉管理员密码,获取到root权限。
加入moon
zerotier-cli orbit 000000xxxxx 000000xxxxx #moon服务器的ID值,输入2遍