0.再写此篇博文的原由
实际上之前已经写过一篇博文《zerotier内网穿透功能简要介绍及简明设置方法》,详细介绍了在不同的局域网内安装zerotier并在zerotier官网控制面板设置路由表实现不同网段内设备互访的目的。但博文中的方法需要将网关设置为安装了zerotier的设备ip,否则无法进行路由表映射进而无法实现内网设备间互访。且现在已经有现成的openwrt软路由可用的zerotier插件,并已经可以在图形界面设置了,所以在原博文的基础上作一个更新,使得内网设备的网关无论是指向旁路由还是主路由都可以实现互访。
1.实现步骤
1.1.在官网注册账号
到官网ZeroTier.com去注册账号(ZeroTier Central),并新建你的Network ID(官网自动生成ID,你可以为它设置一个好记的名字并添加说明以便于记忆)。
1.2.在旁路由中安装并设置zerotier插件
只需要前述步骤就可以了,不需要再设置接口和防火墙等等了(勾选【自动客户端NAT】即可自动添加相应设置参数)
1.3.在zerotier官网控制面板中允许刚刚安装了zerotier插件的设备加入其虚拟网
1.4. 在zerotier官网控制面板中添加路由表
1.5.第2个内网或者更多个内网重复1.2—1.4步骤
此时,如果将网关设为安装了zerotier的旁路由ip的设备就可以实现互访了。
1.6.主路由设置
实际上就是添加路由表,使其能够映射到zerotier的虚拟网,并通过zerotier虚拟网到达其他安装了zerotier的内网。
假设你zerotier虚拟网的ip段为192.168.168.0/24,第1个内网的ip段为192.168.1.0/24,安装了zerotier的旁路由ip为192.168.1.2(分配的zerotier虚拟网ip为192.168.168.1);第2个内网的ip段为192.168.2.0/24,安装了zerotier的旁路由ip为192.168.2.2(分配的zerotier虚拟网ip为192.168.168.2)。
1.6.1.在第1个内网的主路由上添加静态路由
目标地址:192.168.168.0/24,网关:192.168.1.2——此静态路由设置将通过旁路由这个网关访问到zerotier虚拟网段ip
目标地址:192.168.2.0/24,网关:192.168.1.2——此静态路由设置将通过旁路由这个网关访问到第2个内网段ip。需要特别说明的是:此处的网关我本认为应设置为第2个内网旁路由所获得的zerotier分配的内网ip(192.168.168.2),但是发现在主路由的路由表中根本没有显示此条静态路由,也就是没有映射成功!于是考虑到第1条静态路由已经打通本局域网与zerotier虚拟网的连接,尝试能否通过旁路由ip这个网关进行转接,居然成功了!还有需要注意的是,如果添加静态路由时有优先级选项,务必使第1条静态路由的优先级高于第2条静态路由(一般是数字越小优先级越高)
1.6.2.在第2个内网的主路由上添加静态路由
目标地址:192.168.168.0/24,网关:192.168.2.2——此静态路由设置将通过旁路由这个网关访问到zerotier虚拟网段ip
目标地址:192.168.1.0/24,网关:192.168.2.2——此静态路由设置将通过旁路由这个网关访问到第1个内网段ip