前言:
1、什么是ZeroTier?
ZeroTier是一款不需要公网 IP 就实现内网穿透的工具 是一个能轻松建立点对点虚拟专用网(P2P VPN)的工具,它提供在线管理界面和全平台的客户端,不需要复杂设置,只要安装客户端并加入到自己创建的网络即可。
2、ZeroTier 原理是什么?安全吗?
ZeroTier 是一种 P2P VPN 工具,在互联网的基础上将2个或以上的网络组成一个私有的网络,可以理解为互联网连接的局域网。最常见的场景就是在公司可以用手机直接访问家里的 NAS,而且是点对点直连,数据传输并不经由第三方服务器中转,所以安全性还是很高的。
Zerotier 在多设备之间建立了一个 Peer to Peer VPN(P2PVPN) 连接,如:在笔记本电脑、台式机、嵌入式设备、云资源和应用。这些设备只需要通过 ZeroTier One ( ZeroTier 的客户端) 在不同设备之间建立直接连接,即使它们位于 NAT 之后。连接到虚拟 LAN 的任何计算机和设备通常通过 NAT 或路由器设备与 Internet 连接,ZeroTier One 使用 STUN 和隧道来建立 NAT 后设备之间的 VPN 直连。
简单说,Zerotier 就是通过 P2P 等方式实现形如交换机或路由器上 LAN 设备的内网互联。
ZeroTier 官方搭建了一个行星根服务器叫做 地球 Earth,这个行星根服务器是唯一且是免费的,它记录了所有的路径信息,一般情况下大家都直接用的这个。
行星根服务器 R 记录了所有的路径信息,设备 A 能通过 ZeroTier 唯一地址标识找到需要连接的设备 B。这个过程如下:
A 想要将数据包发送到 B,但由于它没有直接路径,因此将其向上发送到 R。
如果 R 有直接链接到 B,它会转发数据包给 B。否则它会继续向上游发送数据包,直到达到行星根 (planet)。行星根知道所有节点,所以如果 B 在线,最终数据包将到达 B。
R 还向 A 发送一个消息,包含有关它如何到达 B 的提示。同时,将消息发给 B,通知 B 它如何到达 A。
A 和 B 获取它们的消息并尝试相互发送测试消息,可能会对 NAT 或状态防火墙进行穿透。如果这样可以建立直接链路,则不再需要中继。
如果无法建立直接路径,则通信可以继续中继 (速度慢)
除此之外还有 12 个遍布全球的根服务器,这些是收费的服务。由于 Earth 在国外,如果使用免费套餐,连接时的延迟可能会很高。不过 ZeroTier 能自己创建根服务器 月球 Moons,这样我们就能在局域网中得到更好的体验了。
官方网站地址:https://www.zerotier.com
项目地址:https://github.com/zerotie
正文:
一、简易组网:
1、去官网注册账号,需邮箱验证,所以请勿乱填邮箱地址。
2、登录后,会看到默认的网络ID,点击可以进入设置。我们先不管,放着这个页面
3、客户端安装很简单,下载相应的系统的客户端应用安装好就可以运行,然后再网络id里填入你自己的网络id就可以,然后进入该网络id的设置界面,勾选上识别出来的设备,设备之间就可以相当在一个局域网内互相通讯了。
4、设置界面几个需要设置的地方说明
二、进阶设置:
虽然我们可以在所有的终端上安装客户端,然后管理中心添加许可就可以组网。但终究非常麻烦,而且ZeroTie免费套餐只能支持100个设备互联。所以我们可以在路由器上安装,然后通过设置路由表,让远程设备可以和路由器下所有设备连成一个局域网,或2个局域网连成一个大局域网。
1、路由器安装好ZeroTie,并填入网络ID,启动运行。
2、和客户端一样,在网络ID设置那里勾选许可,然后点击边的扳手图标,把“Allow Ethernet Bridging”前面的勾打上。
3、在网络ID设置里设置路由表,假设我真实局域网网段是192.168.0.0/24,我安装ZeroTie的路由器,在ZeroTie分配的ip是10.147.20.190。那我们就在路由表左边填局域网的网段,右边填路由器在ZeroTie里分配的IP地址,确定没问题,点“Submit”提交即可。
4、至此我们已经可以把远程设备和该路由器下的所有设备并成一个局域网,如果需要把2两个局域网并成一个,只要在另一个路由器下在重复做一遍,2个局域网内的所有终端就不用每个都装客户端即可以非常方便相互访问了。
后话:
当然,你也可以在NAS,服务器上安装ZeroTie,并打开以太网桥接,移动端是不支持桥接功能的。我们在这就不一一细说了。有兴趣的小伙伴可以自行搜索学习。