路由器(Router)是連接兩個(gè)或多個(gè)網(wǎng)絡(luò)的硬件設(shè)備,在網(wǎng)絡(luò)間起網(wǎng)關(guān)的作用,是讀取每一個(gè)數(shù)據(jù)包中的地址然后決定如何傳送的專用智能性的網(wǎng)絡(luò)設(shè)備。 導(dǎo)讀:路由器刷機(jī)(固件)是什么? 目前路由器折騰刷機(jī),除了采用各品牌的原廠固件外,第三方路由器固件,基本就是:Tomato、DD-WRT、OpenWRT三種。 當(dāng)然還有其他一些更加小眾的版本, 和很多從這三大固件衍生出來的修改版固件。我的這篇文章, 可以讓大家對這些知識(shí)有一個(gè)相對比較全面的理解, 使你更容易入門一些。 分類固件分類 第三方路由器固件,基本就是:Tomato、DD-WRT、OpenWRT三種. 前端和后端 基本上所有第三方路由器固件的架構(gòu)上可分為前端(Frontend)和后端(Backend),后端一般情況下是一個(gè)不帶界面的Linux系統(tǒng), 前端一般指圖形用戶接口,即GUI,主要體現(xiàn)為Web管理界面。 比較流行的OpenWRT自身默認(rèn)編譯出來是不帶前端的。 OpenWRT的在國內(nèi)常見的前端有 LuCI:基于Apache License,現(xiàn)在主流,是自行編譯的OpenWRT最佳搭配; X-WRT:基于GPL,不太活躍,不太流行,好像沒怎么更新了; Gargoyle:基于GPL,提供完整的全套路由功能,流量監(jiān)控強(qiáng)悍,帶寬管理和QoS很是強(qiáng)大,不比Tomato遜色,如果不想自己動(dòng) 手編譯或設(shè)置,但是又想要用版權(quán)規(guī)范的OpenWRT,且想一步到位的話,Gargoyle是最好的選擇,很適合追求穩(wěn)定的普通用戶或小微企業(yè)用戶,默認(rèn) 界面風(fēng)格傳統(tǒng),但有時(shí)尚風(fēng)格的主題可更換,不支持多國語言,國內(nèi)不流行,但已有漢化的補(bǔ)丁出現(xiàn)了; 其它兩大固件的前端 Tomato前端部分:私有,非GPL(有源碼供自編譯,不能隨便修改),版權(quán)模糊,有免費(fèi)版,但也有很多付費(fèi)增強(qiáng)功能的版本,界面簡約,運(yùn)行穩(wěn)定,QoS很強(qiáng)大,機(jī)型的支持比較少; DD-WRT前端部分:版權(quán)模糊,部分私有,非GPL(有提供源碼,不能隨便修改),有免費(fèi)版,也有增強(qiáng)功能的付費(fèi)版,界面美觀,中繼能力強(qiáng)大,支持語言眾多,對機(jī)型的支持最廣泛,但免費(fèi)版QoS性能一般; Tomato DualWAN Tomato DualWAN 使那些能刷Tomato或DD-WRT固件的路由器由原來的單WAN口變成雙WAN口,而這一切不需要在路由器上增加任何硬件,只需要刷一下 Tomato DualWAN 固件就可以。刷了Tomato DualWAN之后轉(zhuǎn)變出來的第二個(gè)WAN口可以接有線網(wǎng)絡(luò)也可以接無線網(wǎng)絡(luò),雙WAN模式支持帶寬合并或智能路由。 DualWan前端部分:私有,非GPL(有源碼供自編譯,不能隨便修改源碼),版權(quán)模糊,有免費(fèi)版,也有增強(qiáng)功能的付費(fèi)版,基于Tomato前端部分的衍生,算是中文Tomato的典型代表,多撥功能強(qiáng)大,對機(jī)型的支持比較少; 三大固件的介紹和對比DDWRT?: 界面美觀,設(shè)置簡單直觀,易用性比較好,官方固件自帶的功能是三大固件中最為豐富的,對新路由的支持也十分迅速,可支持迅速的同時(shí),由于新代碼的加入,導(dǎo)致 DDWRT經(jīng)常出現(xiàn)一些bug,一些可能之前已經(jīng)解決的bug,往往又會(huì)在之后的某次更新中原地滿狀態(tài)復(fù)活 ,著實(shí)讓人噴血,最讓人嘔病的,是孱弱的QOS功能,DDWRT的qos功能只能說聊勝于無吧.功能的話到時(shí)還挺多,PPTP openvpn qos 上網(wǎng)控制 mac過濾等等功能都很使用,還能調(diào)節(jié)官方版本一般不提供的無線信號功率,當(dāng)然還有中繼,說中繼可能有些人不敏感,說CW,很多人估計(jì)會(huì)會(huì)心一笑。DDWRT絕對是最適合新手入手的第三方固件,功能豐富,大部分機(jī)子的reset都是有效的,路由設(shè)置變磚后輕撫菊花即可涅磐重生 ,所以可以放心折騰~ Tomato?: 界面尚可,設(shè)置也算簡單,易用性還行,流量的統(tǒng)計(jì)查看等功能是三個(gè)固件中做的最好的.官版Tomato是所有第三方路由固件中最為穩(wěn)定的, 它的穩(wěn)定源自于它的保守,官方版本的Tomato好幾個(gè)版本之前就已經(jīng)沒有再加入什么新功能. 在這里我要補(bǔ)充幾句,泰迪熊TT也好,國內(nèi)的DWTT也好,這些都不是官方Tomato,只是根據(jù)官方原版Tomato進(jìn)行修改和功能擴(kuò)充的MOD版本 OpenWRT?: Openwrt是三大固件中擴(kuò)展性最好的固件,通過擴(kuò)展,可以實(shí)現(xiàn)很多超過路由本職工作的事情,比如脫機(jī)下載,網(wǎng)站,論壇,qos功能也十分強(qiáng)大,不遜 色于Tomato的QOS,設(shè)置得當(dāng)后網(wǎng)絡(luò)表現(xiàn)會(huì)讓人偷著樂~而且openwrt對新路由的支持也是十分迅速,個(gè)人認(rèn)為是最有前途的固件,因?yàn)榭梢栽谛侣酚蓮?qiáng)勁CPU的支持下獲得很好的性能表現(xiàn),比那些老古董和洋垃圾的性能強(qiáng)大太多.各種功能的軟件擴(kuò)展包比比皆是,而且還有飛翔的天空開發(fā)的nwan多 wan和限速qos。 總結(jié) 如果想玩路由的話,推薦從DD-WRT入手最方便; 過后若想用折騰QoS,就用Tomato 要多撥用DualWan; 注重版權(quán)意識(shí)又想功能豐富的就自編譯OpenWRT去集成LuCI等各種組件——自由自主,功能強(qiáng)大,應(yīng)有盡有,這或許是很多路由器玩家的最終選擇。 OpenWrt的來歷來歷 Cisco/Linksys 在2003 年發(fā)行的WRT54G這款無線路由器非常“經(jīng)典”。 同年有好事者在 Linux Kernel Mailing List 搜索 WRT54G,發(fā)現(xiàn)它的IOS 是基于Linux,然而Linux 基于GPL 發(fā)布許可證,就是 GNU General Public License. 該許可證規(guī)定Cisco 應(yīng)該把WRT54G 的IOS 的源代碼公開。 本來Cisco 拒絕公開源代碼,最后,03年三月份的時(shí)候,基于公眾壓力Linksys 公開了WRT54G 的源代碼。 故事本來到這里就結(jié)束了,然而相反,結(jié)果越鬧越大: 有了源代碼以后,開發(fā)者便清楚知道代碼如何控制路由器的硬件,并且掌握了一些通過增加新的代碼到原有的IOS 當(dāng)中去 —— 使得硬件支持更多的Feature 的技術(shù)。這些開發(fā)者組成了一個(gè)項(xiàng)目開發(fā)團(tuán)隊(duì),不斷對原來的IOS 進(jìn)行更新,編碼,加入新的特性…… 現(xiàn)在他們手上的WRT54G 無線路由器的能力已經(jīng)大大超過了原來Cisco 設(shè)計(jì)的地?cái)傌浀脑O(shè)計(jì)思路。 不但如此,隨著這兩年互聯(lián)網(wǎng)Web2.0 技術(shù)的發(fā)展,不同的開發(fā)團(tuán)隊(duì)之間找到了更好的協(xié)同工作平臺(tái),其規(guī)模不亞于TAC. 他們最近建立了一個(gè)DD-WRT 項(xiàng)目的Wiki 站點(diǎn)將全套文檔以及代碼公開發(fā)布。使用DD-WRT 項(xiàng)目提供的源代碼,重新升級WRT54G 以后你就能夠獲得一臺(tái)相當(dāng)于$600 左右的中端無線路由器了。 當(dāng)Linksys 釋放 WRT54G/GS 的源碼后,網(wǎng)上出現(xiàn)了很多不同版本的 Firmware 去增強(qiáng)原有的功能。大多數(shù)的 Firmware 都是99%使用 Linksys的源碼,只有1%是加上去的,每一種 Firmware 都是針對特定的市場而設(shè)計(jì),這樣做有2個(gè)缺點(diǎn),第一個(gè)是難以集合各版本Firmware的長處,第二個(gè)是這版本距離 Linux 正式發(fā)行版越來越遠(yuǎn)。 OpenWrt 選擇了另一條路,它從零開始,一點(diǎn)一點(diǎn)的把各軟件加入去,使其接近 Linksys 版 Firmware的功能,而OpenWrt 的成功之處是它的文件系統(tǒng)是可寫的,開發(fā)者無需在每一次修改后重新編譯,另它更像一個(gè)小型的 Linux 電腦系統(tǒng),也加快了開發(fā)速度。 簡化總結(jié)- 從前有個(gè)路由器公司,突然有一天想在Linux基礎(chǔ)上開發(fā)固件,結(jié)果后來被捅出來了,于是要求他們公開源代碼,于是他們就被迫公開了。
- 于是大家很興奮,做了很多修改版出來~
- 有一個(gè)團(tuán)隊(duì)基于上述開源的代碼從零開始加入各種軟件, 結(jié)果一不小心做成了此行業(yè)的狡狡者, 他們給自己的產(chǎn)品起名叫OpenWrt
OpenWrt的衍生版本-PandoraBox- PandoraBox是OpenWrt的一條分支,前身是DreamBox,由OpenWrt中國創(chuàng)始人之一的Lintel所帶領(lǐng)的技術(shù)團(tuán)隊(duì)維護(hù)。
- PandoraBox是基于OpenWrt深度定制的路由器系統(tǒng),系統(tǒng)底層部分采用了原廠原生驅(qū)動(dòng),而非開源驅(qū)動(dòng),使其相比OpenWrt有更好的穩(wěn)定性。由于OpenWrt配置及二次開發(fā)的方便性,加上Lintel根據(jù)中國網(wǎng)絡(luò)環(huán)境對PandoraBox作出的調(diào)整及優(yōu)化,受到不少互聯(lián)網(wǎng)大咖的關(guān)注(聽說還有橄欖枝)。
- 在中國深圳,不少公司廠家推出的“基于OpenWrt深度定制的系統(tǒng)”,使用的是當(dāng)時(shí)開源的DreamBox源碼或者泄漏的早期PandoraBox源碼。
OpenWrt介紹OpenWrt社區(qū)聚集了一大批純正的Linux各個(gè)方向的死忠級專家,從而使OpenWrt具備了如下與傳統(tǒng)NorFlash嵌入式Linux截然不同的高級特征。 SquashFS與JFFS2文件系統(tǒng)的整合形成的overlayfs機(jī)制對用戶而言,OpenWrt的整個(gè)文件系統(tǒng)是完全動(dòng)態(tài)可讀寫的,而其中的固件部分是用SquashFS實(shí)施的只讀壓縮文件系統(tǒng),而用戶所有的對文件系統(tǒng)的增刪改都是用類似“差值”的形態(tài)存儲(chǔ)在JFFS2文件系統(tǒng)中的,二者用overlayfs機(jī)制黏合,對用戶完全透明。 因此我們可以在文件系統(tǒng)中肆意發(fā)揮、隨便折騰,出現(xiàn)任何問題則可像手機(jī)一樣恢復(fù)出廠設(shè)置,并提供fail-safe模式幫助用戶修復(fù)系統(tǒng)。 而在傳統(tǒng)的嵌入式Linux里,固件是靜態(tài)的,對系統(tǒng)做任何一點(diǎn)與可運(yùn)行程序相關(guān)的變動(dòng),比如增加一個(gè)模塊,刪除一個(gè)應(yīng)用程序,都要重新編譯全部固件,并重新刷寫,就好比你一個(gè)Android手機(jī)要升級微信就要重新刷機(jī)。這種反人類的傳統(tǒng)文件系統(tǒng)完全阻擋了非專業(yè)愛好者進(jìn)入嵌入式Linux這一領(lǐng)域。 UCI(Unified Configuration Interface)幫助用戶在任何平臺(tái)的OpenWrt上用同樣的方法配置系統(tǒng)、網(wǎng)絡(luò)和應(yīng)用。在Boardcom的平臺(tái)上,在Atheros的平臺(tái)上,甚至x86的平臺(tái)上,修改系統(tǒng)配置均為同樣的命令。 而UCI的機(jī)制并不是二進(jìn)制硬件虛擬層實(shí)現(xiàn)的,是由Linux shell腳本實(shí)現(xiàn)的。 這毫無疑問是一種別致的創(chuàng)新,比Android來的輕巧得多。OpenWrt里的Linux shell腳本用得很帥很高端,那種感覺怎么形容呢?就好像精通十八般武藝的高手有一天特別復(fù)古地拿起鉛筆刀在硬盤上刻出來了系統(tǒng),就是這種感覺。 Opkg包管理系統(tǒng)與豐富的軟件源是一個(gè)與桌面級Linux使用的apt-get、yum等同級別的包管理系統(tǒng),使用形如:opkg install xxxx-app的命令從互聯(lián)網(wǎng)軟件源中安裝大約3000余種各種軟件。 3000款軟件,數(shù)量沒法跟手機(jī)的應(yīng)用市場比,但是要知道,這里頭的任何一個(gè)軟件都來頭不小,是經(jīng)過Linux社區(qū)千錘百煉的東西,一個(gè)應(yīng)用折騰一個(gè)月都玩不夠。 類型覆蓋網(wǎng)絡(luò)、音頻、視頻、編程開發(fā)、Linux系統(tǒng)管理等。當(dāng)然,如果是專業(yè)比較偏的東西OpenWrt的軟件源里還是不夠完善,比如筆者團(tuán)隊(duì)用到的OpenCV的東西,源里就沒有,就靠自己交叉編譯了。 Luci WEB界面系統(tǒng)除CLI命令行終端界面外,不同于桌面級Linux使用屏幕GUI作為交互界面,OpenWrt使用WEB界面交互。而不同于傳統(tǒng)路由器web管理界面的是,luci是用戶可訂制的,安裝了支持luci的軟件后,WEB界面系統(tǒng)就中出現(xiàn)了新的模塊,而opkg本身也web化了。這個(gè)特征讓用戶感覺很像手機(jī)的app store。
路由器不僅讓你更穩(wěn)定快速地連接無線網(wǎng)絡(luò),更可以讓家中的智能設(shè)備連接在一起。 |