梅林再装zerotier1.6.3版本的坑
本文最后更新于:2025年4月24日 下午
起因
昨天不知为何,梅林路由器ac66u在定时重启以后就不正常了,cpu占用率两个都维持在100%,具体表现就是所有设备连不上wifi,网页登录后台管理地址异常慢,半年前也出现过一次类似的情况。
经过
- 拔掉U盘,重启设备,用电脑有线连接路由器,龟速登录上后台管理地址,然后在系统管理里面找到 - format jffs on next boot(大概叫这个名字吧)打勾,然后再重启路由器,这样就吧jffs分区进行了格式化,影响就是- 软件中心需要重装,以及配置的- entware环境需要重装,当然也包括通过entware安装的- zerotier
- 格式化U盘,重新安装 - entware
- 下面开始安装 - zerotier,前方大坑:- 1 
 2
 3
 4
 5
 6
 7
 8- opkg update
 opkg install zerotier
 modprobe tun
 # 如果在zerotier网页端建立了路由表的话,先删除,不然下面启动连接时会造成路由器死机
 zerotier-one -d
 # 这时出现了一个warning,没在意继续
 zerotier-cli join xxxxxx # 注意在网页端开放接受连接
 zerotier-cli listnetworks- ping一下获取到的ip没有问题,但是ping其它设备就是不通,反复重启、重装试了好多次都不行 
- 开始认真看下那个 - Warning:WARNING: ioctl() failed setting up Linux tap device(Set Mac),大意是说- tun模块无法设置mac地址,最后终于找到这个issue,原来是- zerotier包升级到了1.6.3,原来安装的是1.46版本没有问题,回退到1.4.6就可以了- 1 
 2- opkg remove zerotier
 opkg install http://bin.entware.net/armv7sf-k2.6/archive/zerotier_1.4.6-5_armv7-2.6.ipk- 自己也曾想过这个问题,但是苦苦找不到 - entware的旧包的源,原来所有版本的都存放在这里- http://bin.entware.net/armv7sf-k2.6/archive,都在- archive归档文件夹下,受教啦!!
- 本来很欢快的重新走一下上面的3,不知道啥奇怪问题,加入网络网页端都不提示了,又是折腾好久,最后删除了 - /opt/entware/var/lib/zerotier-one整个文件夹,再重新安装,终于连上了,能够ping通其它设备了,然后又遇到一个奇怪的问题,每次ping完其它设备,- Ctrl+c结束ping的时候,- zerotier-one服务也停止了,不知为何,- ping xxx -c 4貌似没有这个问题。
- 网页端建立路由表 - 192.168.50.0/24 via 192.168.192.253,意思就是通过分配到的ip地址- 192.168.192.253访问局域网网段- 192.168.50.x
- 添加iptables,允许转发到192.168.50.0网段的流量通过 - 1 - iptables -A FORWARD -d 192.168.50.0/24 -j ACCEPT- 然后远程连接到学校电脑,通过学校的zerotier网络ping测试家中的局域网设备能否到达。 
- 测试没有问题后,设置开启路由器启动 重启路由看设置是否成功,至此- 1 
 2
 3
 4
 5
 6- cd /jffs/scripts
 vi post-mount
 #在fi语句前添加下面三行命令
 modprobe tun
 zerotier-one -d
 iptables -A FORWARD -d 192.168.50.0/24 -j ACCEPT- zerotier安装完毕
- 关于 - 软件中心安装某不可描述的插件- 路由型号:AC66U-B1 固件版本:380.70_0-X7.9 适用的插件 - 离线安装时,提示: - 1 
 2
 3- 检测到离线安装包:sxxxs_4.2.2.tar.gz 含非法关键词!!!
 根据法律规定,koolshare软件中心将不会安装此插件!!!
 删除相关文件并退出...- 检测脚本在 - /koolshare/scripts/ks_tar_install.sh文件中- 找到这段并删除 - 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14- detect_package(){
 local TEST_WORD="$1"
 local ILLEGAL_KEYWORDS="ss|乳酸菌饮料|s-s|违禁软件|v贰瑞|trojan|clash|wireguard|koolss|brook"
 local KEY_MATCH=$(echo "${TEST_WORD}" | grep -Eo "$ILLEGAL_KEYWORDS")
 
 if [ -n "$KEY_MATCH" ]; then
 echo_date =======================================================
 echo_date "检测到离线安装包:${soft_name} 含非法关键词!!!"
 echo_date "根据法律规定,koolshare软件中心将不会安装此插件!!!"
 echo_date "删除相关文件并退出..."
 echo_date =======================================================
 clean
 exit 1
 }
结局
折腾不易,且看能稳定运行多久吧,考虑到我这渣渣的记忆力,还是记录之以免再次踩坑