ZeroTier 是一个基于 UDP 的异地组网工具,支持多平台,如:Windows、MacOS、Linux、IOS、Android、及一些常见NAS平台,首次连接需要与转发服务器通信,建立连接后,则直接在两个客户端间通过 UDP 通信,这里说说 OpenWrt 通过 ZeroTier 实现异地组网,其他平台同理。

插件安装

1、使用SSH登录到终端,使用命令进行安装重要核心依赖,命令如下:

opkg update
opkg install zerotier

2、安装 luci 可视化插件包,通过插件库搜索找到对应的 luci-app-zerotier.ipk 安装包,注意设备架构地址,地址如下:

https://op.supes.top/packages/

3、将下载好的 luci-app-zerotier.ipk 安装包通过 SFTP 上传 root 目录下,使用命令进行安装,如果后台有文件传输,可以通过文件传输进行安装,命令如下:

opkg install luci-app-zerotier_*.ipk

4、注意:如果你是老版本(低于 1.5.0 ),那么可能需要到 luci-i18n-zerotier-zh-cn 中文补丁包,这个自行解决,就算不要安装也没有关系,只是英文而已,也没多少东西需要安装。

申请地址

打开申请地址进行注册,注册成功后,点击 Create A Network 生成创建网络,获取申请网络标识,地址如下:

https://my.zerotier.com/network

点击创建的网络进入配置页面,Network ID 为所需的网络标识地址,Name 为网络名字(随意填写),Description 为说明(随意填写),Access Control 选择 Private 为私人网络,如下图:

获取网络标识

下拉在 Advanced 内选取一个好记的 IPV4 地址,Managed Routes 为托管路线地址,IPv4 Auto-Assign 为 IPv4 自动分配,这里选择了 192.168.191.* 作为内网地址,剩下的就不需要配置了,如下图:

选取内网IPV4地址

配置插件

1、在 OpenWrt 管理后台找到 ZeroTier 管理页面,填写 ZeroTier Network ID 网络标识,勾选 自动允许客户端NAT 和 启用,保存并应用,如下图:

填写ZeroTier网络标识并启用

2、设置完并启用了 ZeroTier 后,点击“网络”>“接口”>“添加新接口”,新接口的名称 随意填写(为了方便填写为:zerotier),新接口的协议选择 DHCP 客户端,包括以下接口 选择 以太网适配器: "ztqu3pfdod",这个接口名称记住,后面要用到,每个人都不一样,如下图:

给zerotier创建新的网络接口

3、在 ZEROTIER 接口内选择防火墙设置,将 创建/分配防火墙区域 选择为 wan 或 zerotier,注意:设备不一样设置不一样,有的是单独的,如下图:

给zerotier进行防火墙设置

4、接着点击“网络”>“防火墙”>“添加”,共享名 为了方便修改为 zerotier,入站数据、出站数据 和 转发 全部选择接受,覆盖网络 选择命名为 zerotier 的接口,允许转发到目标区域 选择为 wan 口

给防火墙添加zerotier接口

5、完成以上内容后,点击“网络”>“防火墙”>“自定义规则”,将以下代码的中的以太网适配器名 ztqu3pfdod 修改为自己的,并把代码复制到自定义规则,规则如下:

iptables -I FORWARD -i ztqu3pfdod -j ACCEPT
iptables -I FORWARD -o ztqu3pfdod -j ACCEPT
iptables -t nat -I POSTROUTING -o ztqu3pfdod -j MASQUERADE

6、然后进入 ZeroTier 网络配置页面,下拉到 Members(网络成员的意思),给 OpenWrt 进行设备授权,勾选 Auth,并在 short-name 内给设备命名下,后续好区分设备,如下图:

在 ZeroTier 网络配置页面给设备进行授权

7、给设备授权完成后,在终端内执行以下命令,查询以下 ZeroTier 的网络状态,返回 Managed IPs 标识的IP地址,那么就是成功了,如下图:

zerotier-cli listnetworks

ZeroTier 网络状态成功获取IP地址

最后说明

其他设备要想加入这个内网中,需要下载 ZeroTier 的客户端软件或安装 ZeroTier 插件,并在 ZeroTier 网络配置页面给加入的设备进行授权,这样才能实现异地组网,当然如何使用发挥下自己的想象。

ZeroTier 也就是使用到了 OpenVPN,关于 Zerotier 的优缺点本人不做太多赘述,觉得 Zerotier 不完美,可以选择购买付费产品来解决,毕竟 Zerotier 是个免费的产品,给你白摸就算不错了,还想干啥?