Zerotier+Moon实现异地组网

1、注册Zerotier账号

①访问 Zerotier官网,点击右上角的“SignUp”进入注册页面,并进行注册

image-20211014212834159

image-20211014212908200

②出现以下界面即为注册成功,进行邮箱认证后即可完成注册

image-20211014213044017

image-20211014213055234

③进入邮箱,点击Zerotier发送的认证邮件中的链接即可完成邮箱认证

2、创建虚拟网络

①登录Zerotier官网(点击认证链接后自动登录到Zerotier官网)

②点击顶部导航栏中的“Networks”,然后点击“Create A Network”进行虚拟网络的创建

image-20211014213646561

③点击创建出来的网络

image-20211014213955975

④配置虚拟网络

I:将网络ID“Network ID”记录下来

II:设置虚拟网络的权限为“PRIVATE”

image-20211014214721805

III:选择网段

image-20211014214831865

3、Windows安装Zerotier并加入网络

①下载Zerotier

官网下载:https://www.zerotier.com/download/
Win直链下载:https://download.zerotier.com/dist/ZeroTier%20One.msi

②我安装的是1.6.6版本,点击安装包运行即可安装

注意:安装完没有任何提示,安装框也是闪一下而已,不是安装程序闪退,不用惊慌

③点击“Win”图标即可看到Zerotier,点击运行Zerotier,运行后也没有任何提示,有一个小图标在任务栏左边

image-20211014224837635

image-20211014224946688

④右键Zerotier图标即可查看Zerotier菜单

image-20211014225221123

⑤点击“Join Network”输入虚拟网络ID并加入网络

image-20211014225741311

⑥允许你的电脑被此网络上的其他电脑和设备发现

image-20211014225849276

⑦返回该虚拟网络管理页面,允许刚刚加入网络的Win设备

image-20211014230125531

⑧打开“网络和Internet”设置→网络个共享中心→更改高级共享设置,根据下图所示进行设置并保存更改

image-20211015182758898

image-20211015182838183

image-20211015182914910

image-20211015182942176

⑨被远程的Win需要进行以下设置:

注意:进行此操作前请为当前计算机用户设置密码

打开“此电脑”→空白处右键→“属性”→“远程设置”→“允许远程协助连接这台计算机”→“确定”

image-20211015184454533

image-20211015184530795

4、Linux云服务器安装Zerotier并配置Moon

①连接Linux云服务器,输入命令安装Zerotier

方法一( 更简单)

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

方法二 (更安全)

要求系统中安装了 GPG
$ curl -s 'https://raw.githubusercontent.com/zerotier/ZeroTierOne/master/doc/contact%40zerotier.com.gpg' | gpg --import && \
if z=$(curl -s 'https://install.zerotier.com/' | gpg); then echo "$z" | sudo bash; fi

安装成功

②将该云服务器加入虚拟网络

sudo zerotier-cli join 虚拟网络ID

加入虚拟网络成功

③返回该虚拟网络管理页面,允许刚刚加入网络的Linux云服务器

④配置Moon

I:进入 zerotier-one 程序所在的目录,默认为 /var/lib/zerotier-one

cd /var/lib/zerotier-one

II:生成 moon.json 配置文件

sudo zerotier-idtool initmoon identity.public >> moon.json

III:编辑 moon.json 配置文件

sudo vi moon.json

将配置文件中的 "stableEndpoints": [] 修改成 "stableEndpoints": ["云服务器公网IP/9993"]

image-20211015125512903

IV:生成 .moon 文件

sudo zerotier-idtool genmoon moon.json

image-20211015125602506

V:将生成的 000000xxxxxxxxxx.moon 移动到 moons.d 目录

.moon 配置文件的名一般为10个前导零+本机的节点ID
sudo mkdir moons.d
sudo mv 000000xxxxxxxxxx.moon moons.d

⑤在云服务器“管理面板”中的“防火墙”里面开放该9993端口,协议为UDP

注意:腾讯云与阿里云的云服务器需要进行此步操作,个别服务器可能不需要

5、Linux使用Moon

①使用Moon节点

sudo zerotier-cli orbit Moon节点ID Moon节点ID

②检查是否添加成功

sudo zerotier-cli listpeers

6、Win使用Moon

①以管理员身份运行CMD

zerotier-cli.bat orbit Moon节点ID Moon节点ID

image-20211015131438694

image-20211015131527854

②检查是否添加成功

zerotier-cli.bat listpeers

image-20211015132428156

常见问题:

1、电脑添加了虚拟网络,但Zerotier管理列表中始终没有显示这台设备。

答:可以尝试在Zerotier管理界面中 Advanced -> Manually Add Member 中手动添加电脑的节点ID。

参考文章:

最后修改:2021 年 10 月 15 日
如果觉得我的文章对你有用,请随意赞赏