ZeroTier可以在无公网IP的情况下提供便捷的虚拟局域网组网和内网穿透方案。简单来说, ZeroTier就是一个VLAN组建工具,主要有如下的优势和缺点:
配置非常简单,只需要在官网创建Network。客户端直接加入Network即可。
跨平台: ZeroTier提供了windows, macOS, linux, Android, iOS...几乎全平台的客户端, 你可以把任意平台的设备接入VLAN。
免费可以支持100个设备组网。
缺点:官网只提供英文,没有中文版。
本文中,我将结合WSG上网行为管理网关,介绍如何用ZeroTier来实现远程办公拨入和内网穿透。
1. 创建账号
ZeroTier的配置首先需要在ZeroTier官网上创建账号,如图:
2. 创建虚拟网络
创建虚拟网络后,就可以让各个客户端都加入到该虚拟网络中,并且实现互通互访。如下图,点击“Networks”中的“Create a Network”,就可以创建一个新的网络(需要记录下该Network ID供客户端加入)
配置该网段的IP段等参数,访问控制(Access Control)一般推荐为“私有(PRIVATE)”模式。私有(PRIVATE)模式下,每个终端必须经过授权才可以接入;公开(PUBLIC)模式的话,客户端只需要知道你的Network ID就可以加入,不安全。所以一般推荐用PRIVATE模式。如图:
3. ZeroTier客户端配置
ZeroTier支持的客户端平台非常多,以我们的WSG上网行为管理网关为例,直接在“ZeroTier”模块中,开启ZeroTier并且输入NetworkID即可加入该网络。
下图是用安卓手机的ZeroTier客户端配置。
4. 客户端授权
PRIVATE模式下,客户端加入网络是需要经过授权的。如下图,你需要在官网上在对应的客户端前面打勾才允许该客户端的接入,也可以在此界面给客户端配置固定IP,便于后续的管理。
5. 速度和测试
客户端授权通过后,就可以互联互通了。虽然ZeroTier的官网服务器在国外,但是它自身的通讯是P2P网络。从下图中可以看到ping值还是可以的。
5. 通过zerotier转发内网
开启zerotier后,WSG作为zerotier的一个客户端节点,从zerotier虚拟网络默认只能访问到WSG自身,如果想要通过zerotier访问到整个局域网,还需要添加路由规则和防火墙策略。
在zerotier中,添加到内网的路由表。
WSG的防火墙策略,默认并不转发zerotier的虚拟网数据包。如果允许zerotier的虚拟网接入内网,还需要把zt+的设备加入到“防火墙策略”的“内网区域”中(内网区域的防火墙策略默认允许转发)。如下图: