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

  • Post author:
  • Post category:其他


最近工作中发现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);



版权声明:本文为qq_26202991原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。