Table of Contents

OpenWrt 安全模式

OpenWrt 有一个内置的安全模式, 此模式下 OpenWrt 会绕过几乎所有的配置并使用内置的默认配置, 路由将只启动必要的服务并使用默认的IP 192.168.1.1/24. 这种情况下你可以使用 telnet 连接进路由并修复某些错误.

flash.layout, 你应该明白 OpenWrt 的安全模式能帮你解决任何问题是因为 OpenWrt 使用 JFFS2 分区存储用户数据 (如果你用的是 SquashFS 固件)! 在你忘记密码, 或把你自己墙了, 或你弄坏了一个启动脚本的情况下, 你可以用安全模式恢复.

需求

通过按钮触发(标准OpenWrt方法)

  1. 电脑IP设置为192.168.1.2,子网设置为255.255.255.0 subnet
  2. 路由电源循环(关闭和开启)
  3. 在以上程序过后立刻迅速的按下路由上的按钮60秒(可能是任何按钮). 提示: 如果你的路由启动时间长的夸张(例如DIR-300 A),那么你可能要等很长时间)
  4. 如果所有过程都正确, 192.168.1.1将能够ping通和可以telnet
  5. Telnet进192.168.1.1 -- 将会有不需要认证就可以进去的root shell
  6. 尝试一下下面的命令

连接串口后,通过键盘触发

  1. 断开路由器电源线。
  2. 把你的电脑用网线连接路由器的LAN口。
  3. 给你的电脑配置静态IP,在192.168.1.2 and 192.168.1.254之间。比如:192.168.1.2 (网关和DNS都不需要配置).
  4. 接通路由器电源线。
  5. 通过串口线连接路由器。
  6. 等待一会,直到出现以下内容: Press the [f] key and hit [enter] to enter failsafe mode
  7. 按下“F”键并回车。
  8. 现在,你可以使用telnet连接192.168.1.1了 (不需要用户名和密码)

在安全模式下

You get a message like this “bla bla, you booted into failsafe mode”

NOTE: The root file system in failsafe mode is the only the SquashFS partition. The JFFS2 is not present. To mount JFFS2 in read-write mode run mount_root:

mount_root

接下来,可以修复你的系统了:

If you are done with failsafe mode use

reboot -f

to reboot. (Normal /sbin/reboot will not work, because init is not running.) Or power cycle the router.

Notes