重設 OpenWrt 設定與進入安全模式(Failsafe Mode)

無線分享器通常都會有一個 Reset 按鈕,它的主要用途是可以讓我們將分享器的所有設定,回覆到出廠時的預設值,這也代表自行設定的管理密碼、SSID、無線基地台連線密碼……等設定,通常都會回到出廠時的預設值。

不過,當我們將分享器的韌體刷成 OpenWrt 時,這個 Reset 按鈕,將會失效,也就是說當我們按下 Reset 按鈕時,它將不會有任何作用,所有的設定值也不會回覆到 OpenWrt 的預設值。

事實上,要重設 OpenWrt 的所有設定值,方法有兩種:

  • 進入網頁管理介面重設
  • 進入 Failsafe Mode

如果是網頁管理介面,就比較簡單。大概流程是先用瀏覽器開啟 OpenWrt 的設定畫面,再到「System」→「Backup / Flash Firmware」這頁中找到【Perform reset】這個按鈕,按下去後會出現「Really reset all changes?」的訊息,按下【OK】之後,就會自動重設了。

如果是 Failsafe Mode 就比較麻煩一點了。

先大致說明一下 Failsafe Mode,它就像是 OpenWrt 的保險絲一樣,當我們的設定錯誤時,導致 OpenWrt 網頁管理介面無法開啟,甚至是無法以 Telnet/SSH 的方式登入管理……等狀況,我們都可以利用 Failsafe Mode 來做處理,簡單來說,它就像是 OpenWrt 的「安全模式」或是「緊急救援模式」,文後所提的安全模式,均是指 OpenWrt 的 Failsafe Mode,而不是指 Windows 作業系統的安全模式。

需要進入安全模式,常見的狀況通常是:

  1. 忘記密碼,這是指網頁的管理密碼
  2. 錯誤的防火牆設定、網路相關設定,導致我們無法登入網頁管理介面或者 SSH

要進入安全模式,首先你要先知道或準備:

  1. 如何修改網路卡的 IP
  2. Telnet 軟體(Windows 有內建,有些 Windows 版本要另外安裝)或
    Putty 軟體(可在 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 下載)
  3.  確認你的分享器 LED 燈號意義,因為我們要進入安全模式,會利用 LED 燈號來判斷,我們主要會利用 SYS(即 System 的意思)這個燈號來做判斷,有些分享器沒有獨立的 SYS 燈號,那麼可以利用 Power 燈號來做判斷,但也可能是其他的燈號,這必須要看一下分享器的說明書,以我的分享器(TP-Link WDR-3500)為例,它有一個獨立的 SYS 燈號,所以我要進入安全模式,必須要看這個燈號
  4. Ping 指令

以下動作不分順序,但一定要做

  • 將網路卡的 IP 設定為 192.168.1.2(事實上是 192.168.1.2 ~ 192.168.1.254 均可)
    子網路遮罩設定為 255.255.255.0
    預設閘道以及 DNS 都不需要設定
  • 拔除分享器的 WAN 孔網路線

上述動作都完成後,開始照著步驟做:

  1. 關閉你的分享器(若無獨立的電源按鈕,請拔除分享器的電源)
  2. 先下 Ping 指令(這個步驟可以不做,但有做的話,可以讓我們更快地確定已進入安全模式)
    ping 192.168.1.1 -t
  3. 開啟或插上分享器的電源
  4. 請留意你的 SYS 燈號
  5. 當 SYS 燈號亮起並閃爍時,按下 Reset 按鈕
  6. 請再留意你的 SYS 燈號,按下 Reset 按鈕之後,SYS 燈號應該要快速閃爍
  7. 如果 SYS 燈號正處於快速閃爍狀態,請看 Ping 的畫面並留意 192.168.1.1 有沒有回應
    如果 192.168.1.1 已獲得回應,則代表 OpenWrt 已經處於安全模式
    如果 192.168.1.1 沒有回應,則代表沒有成功進入安全模式,可以再重複 1 ~ 7 步驟

最後,再以 Telnet 軟體或 Putty 軟體,以 telnet 的方式連入 192.168.1.1,不需要任何的登入帳號或密碼。

如果成功 telnet 進入 192.168.1.1 之後,應該會看到類似如下的訊息:

 === IMPORTANT ============================
  Use 'passwd' to set your login password
  this will disable telnet and enable SSH
 ------------------------------------------


BusyBox v1.23.2 (2015-07-25 15:09:46 CEST) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 CHAOS CALMER (15.05, r46767)
 -----------------------------------------------------
  * 1 1/2 oz Gin            Shake with a glassful
  * 1/4 oz Triple Sec       of broken ice and pour
  * 3/4 oz Lime Juice       unstrained into a goblet.
  * 1 1/2 oz Orange Juice
  * 1 tsp. Grenadine Syrup
 -----------------------------------------------------
================= FAILSAFE MODE active ================
special commands:
* firstboot          reset settings to factory defaults
* mount_root     mount root-partition with config files

after mount_root:
* passwd                         change root's password
* /etc/config               directory with config files

for more help see:
https://openwrt.org/docs/guide-user/troubleshooting/failsafe_and_factory_reset
=======================================================

root@(none):/#

請注意第 23 行,看到「FAILSAFE MODE active」,代表我們已經成功進入安全模式。

掛載設定檔

進入安全模式後,請先執行以下指令

mount_root

這指令主要用意是用來掛載我們 OpenWrt 的所有設定和軟體都載入,以利我們進行後續的一些操作。

重設密碼

如果,你的登入密碼忘記了,你可以使用以下這個指令來修改密碼:

passwd

修改設定檔內容

如果,你是因為錯誤的設定,導致無法開啟 Open Wrt 網頁管理介面或者以 SSH 登入你的 OpenWrt。你可以使用以下指令切換到設定檔目錄,直接修改設定檔內容。

cd /overlay/etc/config
# 有些分享器的設定檔位置不在上述位置
# 所以請改用以下指令
cd /overlay/upper/etc/config

重設 OpenWrt

如果,你不想修改密碼、也不會修改設定檔內容、OpenWrt 被你玩爛了,你想讓 OpenWrt 直接重設,你可以使用下面任何一個指令:

firstboot
rm -r /overlay/*
rm -r /overlay/upper/*
mtd -r erase rootfs_data

# 這是唯一重設完成後,會自動重新啟動分享器的指令

重設完成後,應該會看到類似的訊息回應

Unlocking rootfs_data ...
Erasing rootfs_data ...

* 重要提示:我第一次是使用「firstboot」這個指令來重設我的 OpenWrt,不過我的 OpenWrt 一直沒有任何反應,更正確來講是沒有任何訊息的回應,如果遇到類似的情況,可以按下鍵盤的 Ctrl + C 中止,再試其他指令,我最後是用了最後一個指令,因為它會在重設完成後自動重新啟動分享器。

重新啟動你的分享器

重設 OpenWrt 的指令,只有一個會自動重新啟動分享器,其餘的都不會自動重新啟動分享器。

你可以使用這個指令來重新啟動分享器

reboot -f

或者,你也可以將分享器直接關掉再重開。

Comments

  1. 按照上面方法,已經成功reset TP link 的openwrt而且重新進入管理介面,非常好!!感謝萬分!!!!

  2. 用了這個方式讓許久無法登錄設定的分享器又現曙光,現在卻卡在telnet時出現,無法開啟到主機的連線,在連接埠23:連線失敗。使用SSH及LUCI登錄則卡在帳號密碼錯誤,試過空白及其他常用的都一樣,找了一下午卻無果,希望能得到解答,謝謝

    1. 已自行解決,還好當初刷機前有留下原連結,找回密碼後已成功將分享器重設,真是太感謝您的貼文了

  3. 感謝朱大大的教學

    我就是卡在「錯誤的防火牆設定、網路相關設定,導致我們無法登入網頁管理介面或者 SSH」,導致我用任何的方式都無法連線至分享器

    照了上面的方式解決,非常感謝

發佈回覆給「朱了凡」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Google reCAPTCHA 保護機制,這項服務遵循 Google 隱私權政策服務條款