zerotier搭建免费moon服务器
zerotier搭建免费moon服务器
zerotier是一个开源的基于P2P的虚拟局域网软件,它可以在不同的设备之间建立一个虚拟的局域网,实现设备之间的通信。
他的作用机理是:
- 每个设备都有一个唯一的ID,这个ID是在设备第一次连接到zerotier网络时生成的。
- 当两个设备想要通信时,它们会先交换自己的ID。
- 交换完成后,设备会根据ID建立一个P2P连接。
- 连接建立后,设备之间就可以直接通信了。
zerotier本身是免费的,在进行虚拟局域网的搭建的过程中,只要将你所有的设备都拉拢的到同一个虚拟局域网组中就可以正常使用了,但是在进行通信时,每个设备之间的通信都是通过zerotier服务器来转发的,在建立P2连接后就不需要再通过服务器转发流量了,这个过程我们称打洞成功。
但是在国内网络环境下,由于GFW的限制,设备之间的P2P连接是无法建立的,这就导致了通信的延迟和不稳定性。而且国内用户普遍缺少公网ip,虚拟局域网的应用需求挺高的
所以为了避免每次都得去境外寻找根服务器来进行流量转发,我们可以在国内找一台有公网ip的服务器,将zerotier的moon服务器部署在上面,这样就不用每次会话都去找根服务器了。
操作步骤
我们默认你已经有了一个有公网ip的服务器,并且你有相关的基础知识
准备工作
1)一台云服务器(公网IP),带宽稍微高一些
2)操作系统ubantu\debian\CentOS7
3)开放端口9993,UDP
下载并执行脚本1
curl -s https://install.zerotier.com/ | sudo bash
启动并开启自启1
2systemctl start zerotier-one.service
systemctl enable zerotier-one.service
加入到网络1
zerotier-cli join <network_id>
其中
是你要加入的网络的ID,你可以在zerotier的控制台上找到
进入安装目录1
cd /var/lib/zerotier-one/
生成节点配置1
zerotier-idtool initmoon identity.public >>moon.json
编辑配置,修改公网IP1
vi moon.json
在"stableEndpoints": ["<你的公网IP>/9993"]中添加你的公网IP,端口为9993,注意是斜杆写端口,不是:
生成签名1
zerotier-idtool genmoon moon.json
查看生成的文件名ls #说明: 查看000000xxxxxx.moon的文件名
创建目录,移动moon配置文件1
2
3mkdir moons.d
mv 00000050c0b251.moon moons.d/
上述改为你的文件名称
重启服务1
systemctl restart zerotier-one
下载配置文件1
2
3
4# 进入到moons.d
cd moons.d
# 下载配置文件
sz 00000050c0acc251.moon
上述改为你的文件名称
自动配置使用(w10/Linux/MAC/FreeBSD)
- 键入命令
1
sudo zerotier-cli orbit [moon.json 文件中的 id] [moon.json 文件中的 id]
- Windows 有一点不同,需要使用管理员权限的 PowerShell 输入:验证连接
1
zerotier-cli orbit [moon.json 文件中的 id] [moon.json 文件中的 id]
在输出中查找你的 Moon ID,若显示 MOON 标识即成功:1
sudo zerotier-cli listpeers
1
200 listpeers <MOON_ID> <IP>:9993;9993 <Latency> MOON
网路测试和p2p连接测试1
2
3
4
5# 测试网络连接
ping 目标机id
# 测试P2P连接
zerotier-cli ping 目标机id
如果ping通则表示p2p连接成功,如果你想确认两台机器是真p2p连接,那么你可以执行以下命令:1
zerotier-cli info 目标机id
在输出中查找 p2p: true 即可确认。
如果不想用了,想删除moon服务器1
sudo zerotier-cli deorbit <MOON_ID>
以上就是zerotier搭建免费moon服务器的全部步骤,希望对你有所帮助!
参考来源:https://halo.blog360.sbs/archives/zerotierzui-qiang-nei#%E4%B8%80%E5%88%86%E9%92%9F%E5%AE%9E%E7%8E%B0%E5%BC%82%E5%9C%B0%E7%BB%84%E7%BD%91
