添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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

最近工作中发现openwrt存在一个回滚机制,通过luci页面对可能导致失联的配置,如更改LAN口ip、修改WIFI名称和密码等,在设置后会弹出一个30秒倒计时的窗口,需要等待30秒浏览器自动刷新后弹出一个确认框,点击后才会使新配置生效,如在等待期间关闭浏览器窗口或者刷新了,系统会认为你引入了一个错误配置,会自动回滚旧配置,从而导致想更改的新配置失效!github中关于该机制的解释... LuCI OpenWrt 上的Web管理界面, LuCI 采用了MVC三层架构,同时其使用Lua脚本开发,所以开发 LuCI 配置 界面不需要编辑任何的Html代码,除非想自己单独去创建网页(View层),否则我们基本上只需要 修改 Model层就可以了。 要为 LuCI 增加一个新模块,首先需要创建两个文件,一个位于Controller(/usr/lib/lua/ luci /
feeds/ luci /modules/ luci -base/luasrc/view/footer.htm,强制 修改 为不需要 回滚 ,应该还有更好的方法。。。 - uci_apply(true); + uci_apply(false); feeds/ luci /modul...
AX5官方固件基于 Openwrt 18.06 Snapshot 修改 ; 小米官方固件web界面使用 nginx + 修改 luci 提供服务。 小米固件自带uhttpd,但没有使用。 期望目标:安装原生 luci ,且不影响小米web界面。 二、 实施步骤 2.1 手动下载 ip k,解压文件 由于小米固件已经有 修改 luci ,因此不能使用opkg在线安装,否则会覆盖掉。 在 Openwrt 官方源 下载如下 ip k包,下面是列好的 luci 依赖情况(重复的已剔除)。
部分文件,仅供参考,具体使用请参照官方说明:http:// luci .subsignal.org/api/ luci /modules/ luci .model.uci.html 1.batmand config batmand general option interface ath0 option announce option gateway_class option orig
- p ip eline.id: my-p ip eline_1 path.config: "/etc/path/to/p1.config" p ip eline.workers: 3 - p ip eline.id: my-other-p ip eline path.config: "/etc/different/path/p2.cfg" queue.type: persisted # 使用注意事项 1: 在... 初步判断是dns问题,在/etc/config/network中添加以下两行: option gateway '192.168.1.1' option dns '192.168.1.1' 问题解决...
说实话, openwrt 这东西的开发我都快丢下一年时间了,但是学了很多东西,但是感觉也用不到了吧,当时很想写博客记下来,可是没有,现在再去回想有点难了,尽力吧,下面根据之前学过的过程再总结一边吧。 了解 Luci openwrt 中的 Luci 是用来编写网页界面的,比如我们通过网关访问的路由器控制界面就是用它写的。它还有一个功能就是设置参数,比如网页上 修改 IP 、网关等。如果我们需要在 的网页上做一些我们自己的东西,那就得了解 Luci 的使用了。 这里主要就是要有一个 MVC 模型的概念, Luci
OpenWrt 系统安全改进中所做的尝试,是为了增强用户登录的鉴权 机制 (密码输错三次就禁用用户一段时间),PAM可以实现对用户登录的控制,但是进一步操作中发现WebUI的登录并没有支持PAM,前功尽弃...... 了解了一下 OpenWrt luci 机制 ,参见http://www.360doc.com/content/14/0312/20/1964482_360072189.shtml,简单来说,就
有关 IP table 的相关说明请见这篇文章: http://blog.chinaunix.net/uid-22780578-id-3346350.html openwrt 中使用 uci 可实现对 IP table 进行 配置 配置 文件位于 /etc/config/firewall1 默认 配置 config defaults option syn_flood '1'
OpenWrt 是一个针对路由器和嵌入式设备定制的 Linux 发行版,它提供了强大的网络管理和自定义功能。 LuCI ( Luci Configuration Interface) 是一个用户界面框架,用于构建基于 Web 的 配置 界面,使得 OpenWrt 更易于管理和 配置 。 要在 OpenWrt 中添加 LuCI ,你需要按照以下步骤操作: 1. **安装 dependencies**: 在终端中运行 `opkg update` 和 `opkg install luci luci -mod-admin-full` 来更新软件包列表并安装基础的 LuCI 套件。 2. **启用 luci **: 在 `/etc/config/ luci ` 文件中,确保 `option enable "1"` 表示启用 LuCI 。 3. ** 配置 Web 服务器**: 如果你的 OpenWrt 没有集成 web 服务器(如 uhttpd),你可能需要安装一个,例如 `opkg install uhttpd`。然后 配置 web 服务器以指向 `/var/www/html`,这是 LuCI 的默认位置。 4. **启动服务**: 使用 `/etc/init.d/<webserver> start` 启动 web 服务器,例如 `/etc/init.d/uhttpd start`。 5. **访问管理界面**: 在你的设备的 Web 浏览器中输入路由器的 IP 地址(通常是 `http://<your-router- ip >`)加上端口 `80` 或者 `8080`(取决于你的 配置 ),你应该能看到 LuCI 登录 页面 。 6. **设置管理员账户**: 如果首次使用,可能需要创建一个管理员账户。在 LuCI 中,找到“管理”部分,然后按照向导设置初始管理员用户名和密码。