目前是在OpenWRT的路由器上使用Zerotier进行异地组建大局域网,考虑到官方Zerotier的不稳定性,所以决定自建Zerotier的planet
采用的是这个方案一分钟私有部署zerotier-planet服务,阿里云一年99的云服务器上进行搭建。
(需要在软路由上先启动下ZeroTier不然ZeroTier在软路由上的文件系统没有生成)
完成后,会在 ./data/zerotier/dist 目录下有个 planet 文件,在OpenWrt路由器里把zerotier打开,然后将这个planet文件,复制到/overlay/upper/etc/config/zero/这个目录里。
如果是基于arm的OpenWRT上也是一样将这个planet到/overlay/upper/etc/config/zero/这个目录,然后重启路由器就行了。
其他的就直接看网上的教程就行,比如如何加入moon。
将命令列举如下
zerotier-cli info #查看当前zerotier-one的信息
zerotier-cli listpeers #列出所有的peers
zerotier-cli listnetworks #列出加入的所有的网络
zerotier-cli join <network> #加入某个网络
zerotier-cli leave <network> #离开某个网络
zerotier-cli listmoons #列出加入的Moon节点
zerotier-cli orbit <world ID> <seed> #加入某个Moon节点
zerotier-cli deorbit <world ID> #离开某个Moon节点
以下是我自己用的命令
wget https://kimi.pub/wp-content/uploads/planet
cp planet /overlay/upper/etc/config/zero/planet
ls -al /overlay/upper/etc/config/zero/planet
reboot
去软路由后台填入你的Network ID,并启动插件
在ztncui就可以看到新设备接入,勾选同意接入,分配ip地址
然后软路由网络接口添加新接口
接口名 Zerotier
协议 静态地址
绑定设备 zt2bpdthgk
然后配置下静态地址
在防火墙 自定义规则里加入
#zt2bpdthgk 这个名称就是设备名称注意要和你软路由上的一致
iptables -I FORWARD -i zt2bpdthgk -j ACCEPT
iptables -I FORWARD -o zt2bpdthgk -j ACCEPT
iptables -t nat -I POSTROUTING -o zt2bpdthgk -j MASQUERADE
如果找不到自定义规则,说明你openwrt不是iptables,而是firewall4 ,请使用下面方式
在Openwrt防火墙上建立如下规则 Allow-Zerotier-Inbound
然后进入Openwrt的网络->防火墙,在最下方的区域列表下方,点“新增”,然后按照下图配置:
注意:按照官网说明,在“允许转发到目标区域”设置中,如果仅仅为了访问局域网内部设备,是不需要选中wan的。当你想让虚拟网络中的其他设备也利用该Openwrt设备上网时,才需要选中wan。我没做过深入测试,考虑到可能其他设备的客户端如果是以VPN方式接入虚拟网络后必须通过这个openwrt上网,简单起见,我选中了wan。
现在已经ok了,ssh登录路由器,添加moon
zerotier-cli orbit d03229e34d d03229e34d
zerotier-cli listnetworks
zerotier-cli listmoons
zerotier-cli listpeers