玩转HG255D路由
HG255D 300m无线路由价格便宜、功能强大、可玩性很强,带一个USB接口,可以接硬盘、U盘和无线网卡。 这个路由可以刷的固件有很多,基本上以OpenWrt为主的定制版本,比较出名的有PandoraBox、Dreambox等,常见的固件下载可以参考华为HG255d全固件集合贴。上述帖子中没有提到dd-wrt,其实dd-wrt也是支持的,虽然dd-wrt没有直接提供官方支持的固件,但它的硬件和Asus RT-N13U B1比较接近,可直接刷该型号的的固件。 带USB接口的好处就是,没有普通路由有存储空间的限制了,你甚至可以修改fstab,把整个固件都放在U盘上。如果你接上机械硬盘的话,要使用大功率的电源,或者将机械硬盘外接一个电源。
1 更换uboot
lintel做的uboot是最好用的,基本上是刷不死的,集成了dhcp服务器,开机按住wps,等待指示灯不停地闪烁就可进入刷机模式,刷机地址http://192.168.1.1
2 TTL刷机教程
默认波特率是115200 TTL接法
3 编译OpenWrt固件或软件
OpenWrt官方的交叉编译工具直接支持这个型号。我就曾经利用这个交叉编译工具编译了最新的OpenWrt固件、node.js以及加入混淆加密的ssh翻墙工具,编译固件可以参考《编译HG255D的openwrt固件》和node.js可以参考我的csdn博客交叉编译Node.js到OpenWrt(HG255D)。
编译最新版chaos calmer的固件,现在已经很简单了,只需要修改一个地方就可以编译出HG255D的固件。 找到target/linux/ramips/image/rt305x.mk文件,找到Image/Build/Profile/HG255D=\((call BuildFirmware/Default16M/\)(1),$(1),hg255d,HG255D),将注释去掉就可以了。
如果想刷好固件后默认打开wifi,可以修改以下文件 package/kernel/mac80211/files/lib/wifi/mac80211.sh 查找option disabled 1,替换为option disabled 0即可。
为了方便管理源代码,可以通过git来管理自己的分支。
git branch hg255d |
4 安装配置dd-wrt
dd-wrt的无线中继功能在稳定性和性能上都是最出色,我家里宽带是的50M光纤安装在一楼,300M无线光猫并不能很好地覆盖两层楼。为了避免铺设网线的麻烦,二楼无线信号的覆盖决定采用无线中继的方式来解决。OpenWrt和dd-wrt我都测试过,dd-wrt的速度要快得多,dd-wrt最新的固件下载地址:ftp://ftp.dd-wrt.com/betas/2016/03-28-2016-r29362/asus-rtn13ub1/
4.1 安装optware
如果你觉得dd-wrt缺少你常用的工具,你可以安装optware来安装其他OpenWrt下常用的工具。插一只u盘,然后在服务中设置启用USB支持,在Mount this Partition to /opt填上你U盘分区的UUID。
wget http://www.3iii.dk/linux/optware/optware-install-ddwrt.sh -O - | tr -d '\r' > /tmp/optware-install.sh |
4.2 拦截广告
以下教程是来自网络上的教程《DD-WRT 路由器拦截广告教程》,但由于chinalistlazy的内容来自于googlecode,现在已经无法下载,我更改为其他下载链接,另外因为busybox内置的wget功能太弱,不支持下载https的链接,需要通过optware安装完整功能的wget。
- 进入 DD-WRT 网页管理界面,Services(服务) -> Services(服务),DNSMasq 和 Local DNS(本地 DNS) 均设置成 Enable (启用)。滚到页面底部保存。
- telnet 192.168.1.1登录到路由器,安装wget并下载adblock的chinalist+easylist.txt,转换为dnsmasq的配置文件。
ipkg update |
- 进入 DD-WRT 网页管理界面,Administration -> Commands,贴入如下脚本后,Save Startup:
#!/bin/sh |
上面其实是做了一个启动脚本,在路由器每次启动时运行。意思是,启动时把下载到/opt的chinalist+easylist.txt,转换生成 dnsmasq 配置文件,再告知 dnsmasq 调用。 4.进入 DD-WRT 网页管理界面,Administration -> Management, 找到 cron,enable, 然后在下面”Additional Cron Jobs”贴入
* 1 * * * root /tmp/.rc_startup |
页面滚到底,保存,重启路由器。连上路由,清空浏览器缓存后访问几个大网站看看,屏蔽效果应该相当明显的。