梅林再装zerotier1.6.3版本的坑

本文最后更新于:2024年9月16日 下午

起因

昨天不知为何,梅林路由器ac66u在定时重启以后就不正常了,cpu占用率两个都维持在100%,具体表现就是所有设备连不上wifi,网页登录后台管理地址异常慢,半年前也出现过一次类似的情况。

经过

  1. 拔掉U盘,重启设备,用电脑有线连接路由器,龟速登录上后台管理地址,然后在系统管理里面找到 format jffs on next boot (大概叫这个名字吧)打勾,然后再重启路由器,这样就吧jffs分区进行了格式化,影响就是 软件中心 需要重装,以及配置的entware 环境需要重装,当然也包括通过entware安装的 zerotier

  2. 格式化U盘,重新安装 entware

  3. 下面开始安装 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其它设备就是不通,反复重启、重装试了好多次都不行

  4. 开始认真看下那个 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 归档文件夹下,受教啦!!

  5. 本来很欢快的重新走一下上面的3,不知道啥奇怪问题,加入网络网页端都不提示了,又是折腾好久,最后删除了 /opt/entware/var/lib/zerotier-one 整个文件夹,再重新安装,终于连上了,能够ping通其它设备了,然后又遇到一个奇怪的问题,每次ping完其它设备,Ctrl+c 结束ping的时候,zerotier-one 服务也停止了,不知为何,ping xxx -c 4 貌似没有这个问题。

  6. 网页端建立路由表 192.168.50.0/24 via 192.168.192.253 ,意思就是通过分配到的ip地址 192.168.192.253 访问局域网网段 192.168.50.x

  7. 添加iptables,允许转发到192.168.50.0网段的流量通过

    1
    iptables -A FORWARD -d 192.168.50.0/24 -j ACCEPT

    然后远程连接到学校电脑,通过学校的zerotier网络ping测试家中的局域网设备能否到达。

  8. 测试没有问题后,设置开启路由器启动

    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 安装完毕

  9. 关于 软件中心 安装某不可描述的插件

    路由型号: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
    }

结局

折腾不易,且看能稳定运行多久吧,考虑到我这渣渣的记忆力,还是记录之以免再次踩坑


梅林再装zerotier1.6.3版本的坑
https://andyppang.github.io/2021/05/17/梅林再装zerotier1-63版本的坑/
作者
PL
发布于
2021年5月17日
许可协议