目 录CONTENT

文章目录

Zerotier-One:开源的跨平台虚拟组网方案

1、简介

官网介绍:ZeroTier是一款面向地球的智能可编程以太网交换机。它使所有联网设备、虚拟机(VMs)、容器和应用程序能够像它们都位于同一个物理数据中心或云区域一样进行通信。

说人话就是,ZeroTier可以搭建一个虚拟局域网,使所有接入这个虚拟局域网的设备能够像处于一个真实局域网(比如连接同一个WIFI)一样能够互相通信。

另外,ZeroTier支持自托管且物理隔离,提供真正私密的全球网络连接。

本文使用到的链接:

官网:

https://www.zerotier.com

GitHub:

https://github.com/zerotier/ZeroTierOne

热心网友开源的安卓实现:

https://github.com/kaaass/ZerotierFix

2、安装

https://www.zerotier.com/download

根据设备操作系统选择合适的软件平台。

目前支持市面上几乎所有的主流操作系统,鸿蒙暂时没有看到支持的消息,但是可以自行通过源码编译。

3、使用

本文介绍基于Zerotier官方提供的数据交换中心(Central)的使用方案。

3.1 注册账号

https://central.zerotier.com/

浏览器访问后会自动重定向到登录页,点击Sign Up先注册账号

按照要求填写相关数据

或者使用GitHub、Google、MicroSoft账号登陆。

登录后按照指引创建组织

我们自己使用选择个人版即可

选择之后就会重定向到网络配置界面:

框出来的是网络ID,网络内的设备可以像局域网一样互相访问,前提是设备需要加入这个网络。

3.2 加入网络

以Windows和安卓为例。

直接复制分配的网络ID,然后打开我们安装的Zerotier-One客户端。

Windows系统在运行栏中选择ZeroTier-One UI的图标右键打开。

点击Join New Network,在弹窗中输入刚才保存的网络ID:

之后点击Join。

或者打开命令行,使用命令行工具进行加入:

zerotier-cli join [netword-id]

在Zerotier的账户中心查看加入申请,并通过,可以根据设备ID进行甄别。

点击Authorize进行授权。

后台可以看到该设备已被授权并分配了局域网IP

同理,我们使用安卓手机加入该网络。

首先,我们需要安装安卓版本的软件。Zerotier提供了官方的软件包,但是需要在Google Play中进行安装,没条件的可以使用替代版本,git上热心网友开源的自定义实现:

https://github.com/kaaass/ZerotierFix/releases/download/1.0.10/app-release.apk

安装之后点击右下角的加号:

之后进入zerotier管理界面进行授权,结果如下:

3.3 验证

我们在Windows上启动一个网站,托管在80端口,本地访问结果如下:

我们在安卓手机打开ZerotierOne客户端,连接到Zerotier后,用打开电脑端对应的IP:

http://10.240.33.191

结果如图:

4、其他

4.1 连接方式

Zerotier默认使用P2P技术进行通信,如果因为两端防火墙或其他安全设置导致无法直连,zerotier也支持中继模式,通过Central服务器进行数据转发。

设备间的通信模式可以通过如下命令进行查询:

zerotier-cli.bat peers

4.2 自己搭建central服务器

Zerotier最值得推荐的一点是,它支持用户自己搭建central服务器,这样既可以避开个人版本10个设备上限的问题,又可以确保数据完全可控,不会发往三方平台。

如果各位大佬觉得这个软件有用,欢迎留言讨论,小老弟会根据反馈来决定下一期是否写自建central服务器~

0

评论区