GL-MT3000官方固件设置添加ZeroTier的自建Planet
GL-MT3000的官方固件编译了ZeroTier,但是其并不能设置为自建的Planet,需要手动卸载后重新设置
卸载官方固件中的ZeroTier
- 登录后台,找到
进阶设置
->前往LuCI
再次输入密码后进入OpenWRT后台 - 进入
系统
->软件包
->已安装
,搜索全部带有zerotier
的软件包并卸载 - 点击
更新列表
,等待opkg update
完成 - 重新安装
zerotier
通过命令行配置zerotier的Config
-
Config设置enable,并启动zerotier服务
echo "config zerotier sample_config option enabled 1 " > /etc/config/zerotier service zerotier start
-
拷贝到持久保存路径,并停止zerotier
由于对var
目录下的文件做任何变更重启都会消失,故需要将配置文件保存在etc
目录下mkdir /etc/zerotier cp -r /var/lib/zerotier-one/* /etc/zerotier/ service zerotier stop
-
拷贝自建的planet以及moons.d到持久保存路径
# 我这里是使用WinSCP上传的,仅供参考 rm /etc/zerotier/planet cp <自建的planet文件> /etc/zerotier mkdir /etc/zerotier/moons.d/ cp <Moon节点文件> /etc/zerotier/moons.d
-
修改config,使其从持久目录加载配置文件
echo "config zerotier 'sample_config' option enabled '1' option config_path '/etc/zerotier' option copy_config_path '1' " > /etc/config/zerotier service zerotier restart
-
这时查看peers,应当只存在自建的planet节点
zerotier-cli peers
-
加入网络
zerotier-cli join <网络名>
-
在ztncui网页端配置允许路由器,分配ip,你应该可以通过以下命令查询到分配到的ip
zerotier-cli listnetworks
-
同时openwrt下
网络
->接口
->设备
下出现zt开头
的新设备 -
刷新持久化目录文件
修改配置(包括加入网络等)之后,如果不重新拷贝,新的更改会丢失,需要重新拷贝持久目录文件cp -r /var/lib/zerotier-one/* /etc/zerotier/ service zerotier restart
开放9993端口
-
设置防火墙
进入页面网络
->防火墙
->通讯规则
,添加一条新的规则,名称zerotier-service
,设置如下:
保存设置
配置openwrt防火墙
此时openwrt路由器本体能够访问zerotier网络中的所有设备,而路由器下的设备无法访问zerotier网络中的设备,此步解决的便是这个问题。
- 创建新的防火墙区域
在网络
->防火墙
->常规设置
下,为zerotier创建一个新的防火墙区域,此时 [zerotier网络 ] 类似于 [ openwrt作为子路由时的主路由网络 ] ,由于都是内网,直接允许所有,如下:
-
创建接口
在网络
->接口
下,添加一个新的接口,名称zerotier
,设备选择zt开头
的新设备, 注意这里选不配置协议!!!
防火墙设置下勾选刚刚设置的
zerotier
防火墙区域
使用ztncui设置好路由
略
空空如也!