2010年2月27日星期六

[转载][无线玩家]玩转无线路由之DD-WRT基础扫盲

2009-02-22 00:29
不知道各位读者是否听说过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为下载的固件名称。注意,此时先不要按下回车键。 
下面,需要对设备进行操作。给路由器接通电源,此时所有的路由器Led指示灯都会被点亮,约一秒钟以后,此时除了计算机所连路由器端口对应的指示灯之外所有的端口指示灯均会熄灭,我们需要马上按下回车键,进行传输。这里不需要紧张,即使得到一个“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

--
yaoms

没有评论:

发表评论