openwrt18.06 luci页面配置回滚机制

      最近工作中发现openwrt存在一个回滚机制,通过luci页面对可能导致失联的配置,如更改LAN口ip、修改WIFI名称和密码等,在设置后会弹出一个30秒倒计时的窗口,需要等待30秒浏览器自动刷新后弹出一个确认框,点击后才会使新配置生效,如在等待期间关闭浏览器窗口或者刷新了,系统会认为你引入了一个错误配置,会自动回滚旧配置,从而导致想更改的新配置失效!

github中关于该机制的解释:https://github.com/openwrt/luci/pull/1769

 

1、回滚机制的流程:页面修改配置后,点击应用,设备将新配置应用到设备,同时跳出一个30秒的轮询倒计时窗口,使用者需要连接修改后的wifi,并回到配置页面来自动确认,如果超时没有完成确认,会触发回滚机制,将配置还原,如果上面的配置页面没有关闭,会出现一个二次确认的窗口,需点击“APPLY ANYWAY”,新配置会被再次应用。

倒计时等待确认窗口:

回滚后的二次确认窗口:

 

2、回滚机制的作用:应该是防止使用者错误修改,或者修改了自己不了解的配置,导致连接失联无法正常使用。

3、怎样才能不触发回滚

    修改配置后,点击“SAVE & APPLY”按键,在页面弹出的“Waiting for configuration to be applied... 30s”显示的30秒轮询倒计时内,当发现wifi断开后(说明配置已生效),需要手动重新连接wifi,并回到刚才的配置应用等待页面(如果修改的是LAN地址,浏览器中需要输入修改后的Lan地址来打开页面),会显示配置被应用,这样就不会触发回滚.

4、回滚机制的处理方法

(1)保留30秒或者缩短等待时间,让用户自己做二次确认.

(2)增加等待时间,比如120秒,或者更长,用户发现wifi断开后,重新连接wifi,并打开配置页面自动确认.

通过修改配置文件/etc/config/luci:

        config internal 'apply'
                option rollback '120'
                option holdoff '4'
                option timeout '5'
                option display '1.5'

(3)去除强制回滚.

修改页面 feeds/luci/modules/luci-base/luasrc/view/footer.htm (系统中路径:/usr/lib/lua/luci/view/footer.htm)
-                               uci_apply(true);

+                               uci_apply(false);

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值