明天就要回学校了,这两天闲来无聊,趁着刚买了个带电源的usb hub,就又折腾了一点DD-WRT。

DD-WRT是一个基于Linux的路由器固件,历史大概是这样的,说很久很久以前,一家叫思科公司在自己的一款叫做WRT54G的无线路由上使用了基于Linux的固件,然后就因为GPL授权的问题被迫公开了这套固件的源代码,此后就有一干大牛根据这些源代码搞出来DD-WRT这个第三方固件,后来又有了直接从内核开始单干的OpenWRT(没去了解Tomato是啥情况)。现在的DD-WRT(v23以后的版本)其实已经是基于OpenWRT全部重写的了。//以上很混乱,详细历史八卦参见各种wiki和blog。

DD-WRT的特点是能让你在廉价的无线路由设备上面实现很多高端路由才有的功能,比如多种无线模式、信号功率调整、QoS、VPN甚至把路由当做Samba、FTP、HTTP服务器,BT电驴脱机下载机等等。

也不是所有的路由都能刷DD-WRT的固件,这里有个设备列表。经典的设备有上面提到的WRT54G,不过这个东西已经相当古老了,现在买到的大多是些洋垃圾电路板拿回来翻新的,新型号全新的也有,略贵。我是大半年前从恩山wifi论坛的淘宝店入手这样的一台洋垃圾,贝尔金7231-4p。为了能够更好的跑DD-WRT,恩山老大改造了一下,ROM升级到4M(原配是2M,只能刷个最精简版的固件,什么都玩不了。),内存升级到64M,加装两根天线,又多焊了个USB的接口(只是usb1.1,我的目的就是玩一玩,当文件服务器的话这个速度有点寒碜)。

之所以选这款,一来是经过改造,4M的ROM和usb接口使得这款路由的可扩展性大大增强,二来这款路由够强壮,如果刷固件砖掉的话,恢复起来比一般机器要方便很多(对于我这种有这方面心理阴影的人来说,这个功能太棒了)。

拿到手第一步先是重新刷固件,关于版本的选择这里有,然后根据提示去官方站点下载版本。因为一直在开发,会不断有各种新版本的rls编译出来供下载,也有很多种分支,我没去尝鲜,就选了Eko编译出来的固件”dd-wrt.v24-9517_VINT_mini_usb.bin”。其中VINT是支持47xx系列的博通芯片的,对应还有针对5352芯片的NEWD和NEWD-2,刷得不对就变砖,详情这里有。

mini版的固件关于无线路由方面的功能设置在web管理页面上都是有的,当时琢磨了小半个下午基本摸熟了,只有ipv6的功能一直没机会试(本来以为去科技学院宿舍能有v6给我折腾的,结果人品不好被住到国防大学,只能作罢。)。

有意思的就是那个usb接口了,首先这个usb口供电不是很足,u盘和移动硬盘不能保证稳定运行,我用了个带外接电源的usb hub搞定。挂载u盘比较简单,这里有方法。//顺便提一下,关于DD-WRT没有找到什么特别合适的教程,看wiki多琢磨才是王道。

然后就是第三方软件了,dd-wrt使用的一个东西叫做optware,因为一般他们是安装在/opt下面的,这点真幽默。optware相当于一个linux的运行环境,挂载完毕之后/opt下面有自己的/bin、/lib等等,安装软件使用/opt/bin/ipkg install ***的方式,当然只有optware软件源里面软件,其他软件就要自己编译了。optware也有好几种,dd-wrt自己维护了一个版本,openwrt也有一个,华硕也有一个,叫oleg optware,他们都是可以使用的,就是性能和各自源内的软件略有不同而已,可以同时装若干个,不用都放在/opt下面的。或者用基于BCM47xx平台的Debian,看这里,挂载进去之后chroot,就是个Debian了,想怎么整就怎么整了,Debian环境下支持的软件相较于optware更为完整和全面(前者300M后者也就10M左右)。

其他具体怎么整,恩山wifi论坛里面基本都能挖掘到了。//恩,不要认为我这是广告。

完了,就剩最后一句了,24小时之后我就从保暖内衣+羊毛衫+大棉袄的组合变成内衣+睡衣的组合了。