樹莓派搭建 OpenWrt 軟路由
今年春節(jié)大掃除整理房間時,突然在一堆電子雜貨中發(fā)現(xiàn)了我的樹莓派,頓時百感交集,竟然產生一絲跟它說對不起的沖動。和大家的樹莓派一樣,我的派也一直在吃灰。依稀記得是在 2018 年 7 月入坑的,別問我是怎么知道的,因為翻出了 N 久之前寫的那篇博文。那時候是真的便宜(裸板兩百多元),現(xiàn)在已經瘋漲到兩倍多的價格,早知道當時就多投資幾個,現(xiàn)在就可以輕松小賺一筆了。入坑后也沒干啥大事,就是刷了官方系統(tǒng)當 Linux 小電腦玩玩,然后連接幾個傳感器和電機耍耍,然后就沒有然后了……
已經記不清當時為啥入坑,不過既然花了錢就不能浪費,必須物盡其用。趕緊插上電源試試,所幸還能開機??吹剿木W(wǎng)口,我突然靈光一閃,要不用它做個軟路由吧,正好無痛解決我在家里訪問 GitHub 等國外正經學習網(wǎng)站的問題。
首先簡單科普下,大家家里用的路由器(比如 TP-LINK、華為、水星等)基本都是硬路由,它們內部的硬件電路是專門為數(shù)據(jù)包轉發(fā)和通信功能量身定制的,跑的固件程序也是廠商專門開發(fā)的,都不能通用。軟路由就是通過軟件系統(tǒng)實現(xiàn)路由器的各種功能,而硬件是通用的,不要求是專門的硬件,比如你完全可以把自己的電腦、手機、Linux 開發(fā)板等設備刷一個路由器系統(tǒng)當普通路由器使用。
OpenWrt 就是一個基于 Linux 的路由器系統(tǒng),開源免費,社區(qū)活躍,生態(tài)繁榮,給了我等折騰黨無限的玩耍空間。當然類似的路由器系統(tǒng)還有很多,但我最喜歡 OpenWrt,所以其他的就不提了。
那么問題來了,硬路由和軟路由到底誰更強?爭論這個問題其實沒有意義,它們各有千秋,根據(jù)自己的需求和錢包進行選擇就好。如果只是用于日常上網(wǎng),建議選擇硬路由,性價比高。如果還需要更多的功能,比如那種上網(wǎng)(你懂的)、去廣告、NAS、運行各種有趣應用等,那就只能選擇軟路由了,因為硬路由自帶固件程序的功能實在是弱爆了,還不允許我們自己折騰。但大家要永遠記住一個真香:對于同一個功能,硬件電路實現(xiàn)肯定比軟件代碼實現(xiàn)更加穩(wěn)定和高效。所以在同等價位下,如果只關注核心的路由通信功能,硬路由的性能和穩(wěn)定性肯定更高,功耗也更低。另外給大家分享一個實操經驗,軟路由的無線功能不太穩(wěn)定,建議大家盡量使用有線軟路由 + 無線 AP 的組網(wǎng)方案。
廢話不多說,開始動手折騰吧!
第 1 步,去 OpenWrt 官網(wǎng)下載自己硬件對應的系統(tǒng)鏡像。
傳送門:https://openwrt.org/zh/toh/views/toh_fwdownload
OpenWrt 支持的硬件非常豐富,在列表中根據(jù)自己硬件的品牌型號搜索找到下載入口,然后點擊從左向右的第一個鏈接下載(PS:如果太慢,可以復制鏈接打開迅雷下載)。我的硬件是 Raspberry Pi 3B+,如下圖所示。

這里會看到四種不同版本的鏡像,首次安裝選擇 factory 版本就行,簡單介紹一下:
factory:用于全新安裝 OpenWrt 系統(tǒng),相當于全盤格式化重裝 Windows 系統(tǒng),之前的所有數(shù)據(jù)會丟失。
sysupgrade:用于升級舊的 OpenWrt 系統(tǒng),相當于將 Windows 系統(tǒng)升級到新版本,之前所有的用戶數(shù)據(jù)都會保留。
snapshot factory:和 factory 版本一樣,只是沒有帶 LuCI(Web 管理界面),可以通過 SSH 命令行手動安裝。
snapshot sysupgrade:和 sysupgrade 版本一樣,只是沒有帶 LuCI(Web 管理界面),可以通過 SSH 命令行手動安裝。
官方提供的鏡像自帶的軟件包比較少,裝完系統(tǒng)后可以自己下載安裝需要的軟件包,相當于純凈版 Android 系統(tǒng)。如果嫌麻煩,也可以使用第三方編譯構建的鏡像,它們默認已經安裝了很多軟件包,相當于預裝了各種 App 的廠商定制版 Android 系統(tǒng)。
個人更傾向于使用官方鏡像,第三方鏡像包含的功能通常很多,影響性能和穩(wěn)定性,很多功能也用不上,浪費空間。不排除某些不良第三方鏡像包含后門或惡意代碼,絕大部分人也不會去認真檢查某個第三方鏡像的源碼。當然,最完美(折騰)的方式就是自己基于官方源碼編譯構建專屬鏡像,自由放心,操作起來也不難,后面再給大家分享。
第 2 步,燒寫 OpenWrt 系統(tǒng)鏡像。
在 Windows 系統(tǒng)上建議使用 Etcher 工具將上一步下載的 OpenWrt 鏡像燒寫到樹莓派的 Micro SD 卡。
Etcher 工具的官網(wǎng)下載鏈接:https://www.balena.io/etcher
建議下載 Portable 版本,不用安裝,雙擊即用。這個小工具界面簡潔美觀,使用也非常容易,只需三步操作就可以輕松搞定 OpenWrt 鏡像燒寫,記得先把 Micro SD 卡通過讀卡器插到電腦上,如下圖所示。

第 3 步,開機大吉。
將上一步燒完系統(tǒng)的 Micro SD 卡插到樹莓派上,并給樹莓派插上網(wǎng)線,保證自己的電腦和樹莓派網(wǎng)線直連或在同一個局域網(wǎng)中 ,把自己電腦的以太網(wǎng)網(wǎng)卡(本地連接)設置為自動獲取 IP 地址(OpenWrt 自帶 DHCP 服務),然后插上樹莓派電源開機。

第 4 步,登錄 OpenWrt Web 管理界面。
樹莓派開機后稍等片刻,打開電腦上的任意瀏覽器,輸入網(wǎng)址?http://192.168.1.1,回車即可看到 OpenWrt 系統(tǒng)的 Web 登錄界面。

OpenWrt 系統(tǒng)默認用戶名為 root,初始密碼為空,直接點 Login 按鈕即可登錄成功進入主界面。

為了安全,建議給 root 用戶設置一個密碼。在主界面上依次點擊 System -> Administration 菜單,輸入兩次密碼后點擊 Save 按鈕即可。

到這里就已經成功完成了在我的派上搭建 OpenWrt 軟路由的艱巨任務,不過故事才剛剛開始,后面還需要繼續(xù)對 OpenWrt 系統(tǒng)進行各種配置以及安裝各種有趣的插件(軟件包),這樣它才能真正發(fā)揮作用,實現(xiàn)我的需求。欲知后續(xù)折騰如何,且聽挨踢魔君下回分解。