玩轉無線路由之DD-WRT基礎掃盲

餘二五發表於2017-11-15

不知道各位讀者是否聽說過DD-WRT?是否自己親自將無線路由器重新整理成DD-WRT無線裝置?相信真正的無線裝置愛好者一定對DD-WRT非常熟悉,我 們通過給無線路由器重新整理DD-WRT驅動程式後就可以讓自己的裝置發揮更多原先沒有的功能。筆者將通過多篇文章為大家呈現DD-WRT相關的內容,希望各 位IT168的讀者可以從零起步瞭解DD-WRT的來龍去脈,瞭解如何重新整理DD-WRT驅動,如何實現功能的提升。


一、什麼是DD- WRT:



首先我們來了解下DD-WRT的基礎概念,在介紹他之前先舉一個例子進行比較方便我們理解。眾所周知我們最常用的作業系統是windows,大家使用 windows系統已經習以為常,但是他的全部原始碼是沒有對外公佈的,因此一些程式設計愛好者就願意使用開放原始碼的linux類作業系統。在linux操 作系統上我們可以根據自己的喜好以及實際需要來編寫,在實際應用上更加靈活。   反觀我們經常使用的無線路由器,實際上每臺無線路由器也都有一個作業系統OS,每個廠家的無線路由器作業系統都不相同,而且也沒有對外公佈程式碼,這就類似 於windows作業系統,雖然我們可以正常使用這些無線裝置,但是由於他的OS是不能夠自己修改的,所以難免在實際使用上存在這樣或那樣的不足,可能不 適合自己使用。在這種環境下DD-WRT驅動應運而生。 

     DD-WRT是一個“第三方”韌體,他廣泛的應用於Linksys WRT54G/GS/GL或其他基於Broadcom參考設計的802.11g無線路由器,他的本質是一個linux作業系統。當然網上眾多高手在逐步完 善和增加DD-WRT的驅動功能,所以現在我們使用的DD-WRT韌體驅動實際上已經和起初存在很大的區別了。 
二、給無線路由器刷DD-WRT韌體的好處: 

如果說一臺無線路由器的作業系統OS相當於他的大腦,那麼我們把給這個無線路由器重新整理DD-WRT韌體就意味著給此裝置洗腦。經過洗腦操作後我們的無線設 備將發揮更好的作用,所支援的功能更多,執行更加穩定。 

     說白了刷DD-WRT就是將原來裝置的OS拋棄,更換一個新的OS,多多少少有點類似於硬體愛好者常用的“超頻”操作。 

     一般情況下我們稱那些重新整理了DD-WRT韌體的無線裝置為DD-WRT無線路由器,這種無線路由器在以下幾個方面存在著很大的優勢,功能更多,相比傳統無 線路由器來說,DD-WRT無線路由器功能更強大,支援的應用更多。 

     (1)支援3322.ORG的DDNS,支援花生殼的DDNS。 

     (2)可以利用QoS、限速、限連線數等設定來優化頻寬。 

     (3)支援VPN的PPTP客戶端和PPTP服務端設定,可以提供VPN接入。 

     (4)可以輕鬆實現無線的定時開關。 

     (5)可以通過配置輕鬆管理各種網路應用,例如徹底封殺BT,電驢,迅雷。 

     (6)支援UPNP和埠對映功能。 

     (7)支援語言種類很多,可以搭配802.1x (EAP(Extensible Authentication Protocol)-區域網上擴充套件認證協議封裝)來增加網路認證應用。 

     (8)IPV6支援,SNMP協議支援,SSH服務支援等。 
三、能夠重新整理DD- WRT韌體的裝置型號: 
 


很多讀者也許都聽說過Linux作業系統,知道它是和Windows抗衡的另一大流派的作業系統。但大家也許不知道,Linux極其靈活,不僅可以執行在 大型伺服器、桌上型電腦之上,也可以執行在各種小型終端裝置,這其中就包括無線路由器。DD-WRT其實就是一個供無線路由器使用的嵌入版Linux,它可以 在普通的家用無線路由器實現數千元的商用無線路由器功能,不僅如此,對於高手它甚至可以允許自行編譯程式,自由擴充套件無線路由器功能。 

DD-WRT的起源要追溯到2003年,當時Cisco/Linksys發售了WRT54G無線路由器,它支援當時最高54Mbps的連線速度。同年有愛 好者發現WRT54G的IOS韌體是基於Linux的(IOS就是Cisco對於自己網路裝置作業系統的稱呼),然而使用Linux作為作業系統的一個基 礎條件就是必須把原始碼公開,這件事傳開之後,本來Cisco 拒絕公開原始碼,但最後迫於公眾壓力,2003年三月份,Cisco公開了WRT54G的原始碼。這一下可是開啟了一個大寶庫,眾多基於此原始碼的第三方 韌體紛紛出臺,其中DD-WRT就是最出彩的一個。 

。 

使用DD-WRT的好處很多,它具有友好的配置介面,支援多語言(包括簡體中文),可以讓無線路由器支援QoS寬頻設定、QoS L7過濾,優化頻寬並限制最大上行、下行速度和最大連線數等,並可以封殺或者加速BT、電驢下載。支援多種客戶端連線模式,如網橋、中繼、客戶端等模式。 支援數種安全機制,支援客戶WPA模式、VLAN、WPA2等安全模式和機制。還支援花生殼的DDNS,方便建立個人網站。它甚至有改造後的直接BT下載 功能。這麼強大的DD-WRT是完全免費的。 

當然並不是所有的路由器都可以重新整理DD-WRT的,畢竟它執行的是Linux系統,需要比較完善的硬體支援,現在可以重新整理為DD-WRT的路由器都是基於 Broadcom的CPU的系統,並且對記憶體和存放韌體的Flash快閃記憶體容量也有一定要求。Flash快閃記憶體容量至少4MB,而所有的WRT54GS v4.0版本之前的型號都擁有8MB的Flash快閃記憶體容量,而也有部分路由器(包括WRT54G和WRT54GS的v5.0型號)僅有2MB的 Flash。需要大家注意的是:DD-WRT的完整版(Standard Vision)和迷你版(Mini vision)的安裝都需要4MB的Flash,而2MB Flash容量的路由器只能使用微型版(Micro Vision)。 

在此筆者推薦一些適合重新整理DD-WRT的經典無線路由器,它們要麼價格便宜,要麼效能最強,相容性也都是最好的。其中包括Buffalo WHR G54s、Buffalo WHR G54s、Asus WL 500G Deluxe以及Motorola WR850G這幾個產品,當然也包括WRT54G擁有8MB Flash的產品。 

DD-WRT刷機 

我們首先要到DD-WRT的官方網站http://www.dd-wrt.com/下載韌體,現在它共有五個版本,普通使用者使用完整版和迷你版即可,它們 的最大區別在於完整版支援kaid功能,方便遊戲機的無線聯網對戰。需要注意的是,最好不要追求最新版本,稍老一些的版本反而因為經過了眾多使用者的除錯, 會更加穩定。這裡推薦v23 sp1及v23 sp2。 

下面以價格較低的Buffalo WHR G54s的產品為例介紹一下如何重新整理DD-WRT韌體。為保證順利升級,必須先將路由器恢復到出廠設定,按住路由器的復位按鈕並保持至少30秒,拔下路由 器電源。然後將計算機的ip地址設定到192.168.11.x的網段內,這也是WHR G54s的預設網段。將計算機與路由器中任意一個LAN口相連,使用交叉網線與直連網線均可。 

接著在Windows XP中通過“開始/執行/cmd”開啟命令列視窗,假設韌體在c盤根目錄下,就先進入c盤根目錄,並輸入“tftp -i 192.168.11.1 PUT dd-wrt.v23_generic.bin”這裡是要利用tftp將韌體上傳至路由器,此處的192.168.11.1 為WHR G54s 的ip地址,dd-wrt.v23_generic.bin為下載的韌體名稱。注意,此時先不要按下Enter鍵。 

下面,需要對裝置進行操作。給路由器接通電源,此時所有的路由器Led指示燈都會被點亮,約一秒鐘以後,此時除了計算機所連路由器埠對應的指示燈之外所 有的埠指示燈均會熄滅,我們需要馬上按下Enter鍵,進行傳輸。這裡不需要緊張,即使得到一個“Time Occurred”的超時提示也不要緊,重複上面的操作即可。如果我們輸入及時,檔案開始傳輸,那麼接著WHR G54s的LAN指示燈會經過大約6秒鐘的頻繁閃動之後,將得到一個類似於:Transfer successful: 3502080 bytes in 5 seconds, 700000 bytes/s的輸入成功提示。最後在bridge/diagnostic指示燈熄滅之後路由器將重新啟動DD-WRT。此時WHR G54s已經重新整理成功,它的地址為192.168.1.1,路由器預設的登陸的使用者名稱為`root`,密碼為`admin`。



DD-WRT的特色應用 

首先我們要登入DD-WRT裝置,由於它的初始IP一般為192.168.1.1,所以我們要將本機地址設定為同一網段,比如192.168.1.2就可 以直接在瀏覽器中輸入http://192.168.1.1進入DD-WRT裝置控制介面。預設使用者名稱為root,預設密碼是admin,登入完畢後就可 以看到DD-WRT無線裝置的管理介面了(如圖1)。由於功能強大,所以DD-WRT管理介面上的設定很多,從左到右依次為“設定、無線、安全、訪問限 制、應用程式&遊戲、管理、狀態”,每個頁面又下分多個子項,選項是非常之多。



1.定時開關無線訊號 

很多使用者都有定時開關無線訊號的需要。比如很多家庭使用者在晚上休息時並不需要開啟無線訊號,還可以減少無線訊號對人的影響,此外在單位常常需要限制使用者在 夜晚或者節假日這些非工作時段使用無線網路,這就可以使用DD-WRT的定時開關無線功能,比單獨使用它的訪問控制要方便安全得多。



首先需要進入“高階無線設定”頁面。我們可以看到Radio Time Restrictions的字樣,它的初始預設狀態是禁用,這裡我們將其更改為“啟用”。然後會出現24個方塊圖示分別代表一天的24小時(如圖2),其 中綠色代表開啟無線,紅色代表關閉無線,我們就可以自由設定每天的那些時間開啟無線,那些時間關閉無線訊號。 



3.手動更改無線訊號強度 

我們在市面上買到的無線路由器的功率是固定的,個人想去改變它基本是不可能完成的任務。但在實際使用中往往會遇到需要增大無線功率而提高一些傳輸距離或者 穿牆能力的情況,尤其是在就差一堵牆就可以實施成功的時候,訊號強度問題的確是能急死人。而DD-WRT裝置就擁有調整無線訊號發射功率的功能,可以在一 定範圍內自定義裝置的發射功率。



同樣是在“高階無線設定”頁面,其中有一個Xmit功率選項,它就是調節無線功率的地方(如圖3),範圍在0~251毫瓦之間,預設是28毫瓦。如果我們 覺得自己的無線網路不太穩定,或者就差不遠就可以達到自己的理想距離我們可以在這裡進行調解,經過試驗,這項功能的作用還是很明顯的。不過筆者提醒大家不 要一味的去增大功率,畢竟高功率裝置可能對人體有害。其實我們也可以反其道而行之,對於無線訊號十分良好的使用者,可以適當降低無線訊號的發射功率,以便將 它對身體的影響降到最低。 



4.封殺BT,電驢等P2P軟體

現在P2P下載軟體已經成為事實上的最大下載來源了,但同時它的多併發、大流量的特點也佔用了大量頻寬資源,使得區域網其它使用者網速變慢,嚴重的甚至造成 網路裝置當機或使整個網路癱瘓。在Windows系統上封殺P2P下載軟體相對複雜,但通過於DD-WRT就可以方便地實現,而且可以直接使用圖形介面進 行設定。首先需要進入“訪問限制”頁面(如圖4),這裡不僅可以封殺P2P等軟體還可以按時間、網址、關鍵字直接控制不允許上網的時間和不允許訪問的網 站。 




我們需要在這裡建立一個訪問策略來控制P2P軟體,先允許使用策略,然後把策略名字命名為“禁止P2P”,在“編輯PC列表”中可以直接按照PC的MAC 地址或者IP或者網段來指定這條策略對那些PC起作用。允許訪問網際網路的日期和時間大家可以根據自己的情況設定,可以指定每週的那一天可以訪問,也同時可 以設定每天那個時段才可以訪問,相當之強大。

接下來就是最重要的“被封禁的服務”這裡了,這裡可以指定禁止那些網路服務,可絕對不僅僅是P2P軟體,近乎包括當前所有流行的網路應用,甚至包括流行的 網路對戰遊戲,比如《戰地》、《魔獸世界》等。在這裡我們需要把“捕獲所有P2P協議”打鉤,在下面的應用程式欄選上“bittorrent”和 “edonkey”,甚至對於“訊雷”在列表中都已經存在。如果你要禁止的服務在列表中並沒有顯示,這時就要使用自定義設定。 

點選“新增編輯服務”,在這裡我們可以對自行新增的服務命名、選擇協議型別,最後再設定它使用的埠就可以了(如圖5)。其實從上面的說明大家可以看出 DD-WRT的訪問控制可不僅僅是僅僅供我們封殺P2P這麼簡單,它幾乎可以實現對任意主機在任意時間進行任意網路訪問的控制。 


5.用命令列限制網路連線數

當然也許有些場合不能公開限制P2P軟體的使用,但網路現狀又使得限制成為一種必要,這時就可以利用限制連線數來限制P2P軟體的使用,來達到即允許你使 用,但又實際無法佔用大量頻寬的目的。此時,我們要在圖形介面中使用Linux命令。進入“管理”頁面,在其子頁面中有一個“診斷”選項。在“診斷”中一 個命令外殼,有點類似於Windows中的DOS命令視窗(如圖6),在這裡可以輸入linux命令。如果我們要限制區域網內每個使用者的連線數為20,就 輸入: 


iptables -I FORWARD -p tcp -m connlimit –connlimit-above 20 -j REJECT


如果要限制指定的區域網使用者的連線數為20,比如為192.168.0.123,就輸入: 


iptables -I FORWARD -p tcp -s 192.168.0.123 -m connlimit –connlimit-above 20 -j REJECT

最後是限制除指定使用者以外的IP連線數為20,比如仍為192.168.0.123,則輸入: 


iptables -I FORWARD -p tcp -s !192.168.0.123 -m connlimit –connlimit-above 50 -j REJECT


將這些命令填入命令視窗,點執行命令執行即可。

6.QoS分配網路頻寬使用優先權,優化特定服務 

這裡要先解釋一個名詞服務質量QoS,它的意思是根據服務的級別來分配網路頻寬使用優先權,一般來說QoS服務質量都是在高階路由交換裝置才支援的,但我 們的DD-WRT也支援哦,很多使用者就是衝著QoS來購買DD-WRT裝置的。比如我們家中或者小區、單位中有人在下載,有人在遊戲,有人在瀏覽網頁,這 時就需要用QoS配置服務的優先順序,限制或降低不希望執行程式的優先順序,這樣就可以讓這些高佔用頻寬的程式為頻寬敏感的網路遊戲讓步了。 

QoS位於“應用程式&遊戲”頁面的QoS子頁面下。首先要將QoS設定為允許,然後根據自己的網路情況填寫網路引數,包括上行速度和下行速度 等,上行速度設定為自己的總上行限制的80%~95%,下行速度設定為自己的總下行限制的80%~100%。要是遊戲愛好者的話當然要選中“為遊戲優化” (如圖7)。 



最後要在“服務優先順序”處設定不同網路應用的優先順序,比如這裡設定為《魔獸世界》的優先順序最高,這樣網路中其他的使用者都要給這個遊戲的頻寬利用讓路。同時 和上面一樣我們也可以利用“新增編輯服務”按鈕來任意新增自己所要使用的服務。

由於篇幅限制,還有動態域名系統、埠繫結提速、開啟SNMP協議、DHCP轉發功能、動態路由協議、劃分VLAN、WDS中繼服務等等眾多的特色功能沒 有介紹。但筆者希望拋磚引玉的介紹能夠引起大家對DD-WRT無線路由器的興趣,選擇DD-WRT無線路由器沒錯的。 


附:支援DD-WRT韌體的無線路由器 

Allnet:All0277

Askey:RT210W

Asus: 

Asus WL-500G deluxe

Asus WL-500G premium 

Asus WL-300G 

Belkin: 

F5D7130/7330 (2mb flash) 

F5D7230-4 v1000, v1010, v1111 

F5D7230-4 v1444 (2mb flash) 

Buffalo: 

WHR-G54S 

WHR-HP-G54 

WHR-HP-G54S 

WZR-RS-G54 

WBR-G54 

WBR2-G54 

WBR2-G54s 

WLA-G54 

Linksys: 

WRT54G v1.0, v1.1, v2.0, v2.2, v3.0, v3.1, v4.0, v5.0 (2mb flash) 

WRT54GL v1.0, v1.1 

WRT54GS v1.0, v1.1, v2.0, v2.1, v3.0, v4.0, v5.0 (2mb flash) 

WRTSL54GS v1.0 

Motorola : 

WR850G 

Ravo: 

W54-RT

Siemens: 

Gigaset SE505

Gigaset SX550i
本文轉自 h2appy  51CTO部落格,原文連結:http://blog.51cto.com/h2appy/286339,如需轉載請自行聯絡原作者


相關文章