以前的路由是一台linksys WRT54GS,无线的速度是54M的,平常上上网么也就够了。只是后来入了一台NAS,在备份Time Machine的时候,这网速就渣的可以了,加上升级lion之前入的群加usb to ethernet的转接线无法使用了,于是一直就没有用网线,备份个30G的文件需要个几十天,这就疯掉了,刚好看到新蛋Netgear WNDR3400 V1 N600特价,最重要的是V1版,这个版本完全支持ddwrt。
免责声明
刷机有风险,风险自担负。
刷机准备
- 一台WNDR3400 V1版本,注意一定要是V1版本,V2版本不支持,具体可以查询 DDWRT support device.
- WNDR3400v1 官方ROM,以备不测.PS:我并没有刷回官方rom,因为直接就成功了!
- 下载dd-wrt.v24-17990NEWD-2K2.6_mini-WNDR3400 firmware,这是官方svn的版本,更多的版本可以查看这里svn17990.
- 如果需要全功能版的ddwrt,包含USB支持,NAS支持,openvpn等等,下载dd-wrt.v24-17990NEWD-2K2.6_mega-nv64k.bin. 注意这个firmware,无法打开jffs。
- 如果需要支持jffs,并能使用openvpn,但是没有usb/nas,则下载dd-wrt.v24-17990NEWD-2K2.6_openvpn-nv64k.bin.我目前用这个firmware,因为我需要jffs。
- 刷机前,仔细阅读官方刷机指南,最重要要关注30-30-30的方法。
开始刷机
- 备份原始路由配置;
- 对目前路由做一次
30-30-30
复位操作;
- 用网线将路由与电脑连接,注意不要用无线来刷机;
- 登录路由,找到firmware upgrade页面,将
dd-wrt.v24-17990_NEWD-2_K2.6_mini-WNDR3400.chk
文件上传,中间会报一次上传的firmware版本和目前是一样的,不用理会,继续就行了;
- 路由会自动完成刷机,成功后再做一次30-30-30复位操作;
- 更新ddwrt,登录路由后,找到
adminstrator-->Firmware upgrade
,直接上传dd-wrt.v24-17990_NEWD-2_K2.6_mega-nv64k.bin
或dd-wrt.v24-17990_NEWD-2_K2.6_openvpn-nv64k.bin
,点击upgrade后就能自动更新了;
- 更新成功后,再做一次
30-30-30
复位,然后登录路由,一般ip是192.168.1.1
,无线自动开启,ssid为ddwrt
,登录后设置用户名和密码,刷机成功。
autoddvpn设置
- ddwrt的rom一定要是
dd-wrt.v24-17990_NEWD-2_K2.6_openvpn-nv64k.bin
,否则无法打开jffs,因为ddwrt自带的openvpn客户端连接有问题,我没有试成功,有试成功的麻烦告诉我;
- 打开jffs,ssh或telnet登录路由,在命令号下输入:
nvram set jffsmounted=1
nvram set enablejffs2=1
nvram set sysenablejffs2=1
nvram set cleanjffs2=1
nvram set sysclean_jffs2=1
nvram commit
reboot
- 放置脚本到jffs
$ mkdir /jffs/openvpn
$ cd /jffs/openvpn
$ wget http://autoddvpn.googlecode.com/svn/trunk/pptp/jffs/run.sh
$ wget http://autoddvpn.googlecode.com/svn/trunk/pptp/jffs/vpndown.sh
$ wget http://autoddvpn.googlecode.com/svn/trunk/pptp/jffs/vpnup.sh
$ chmod a+x *.sh
- 修改openvpn配置文件以支持autoddvpn,在openvpn文件头上增加:
--script-security 3 system
up 'iptables -A POSTROUTING -t nat -o tun0 -j MASQUERADE; /jffs/openvpn/vpnup.sh openvpn'
down 'iptables -D POSTROUTING -t nat -o tun0 -j MASQUERADE; /jffs/openvpn/vpndown.sh openvpn'
- 进入路由的adminstrator-->Commands界面,将
sleep 120
openvpn --config /jffs/openvpn/openvpn.conf --daemon
保存为startup命令;将
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
ip rule add from 192.168.1.16/28 ta 10
WANIP=
ifconfig ppp0 | grep "inet addr" | cut -d ":" -f 2 | cut -d " " -f1
ip route replace 192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.1 ta 10
ip route replace 127.0.0.0/8 dev lo scope link
ip route replace 169.254.0.0/16 dev br0 proto kernel scope link src 169.254.255.1
ip route replace default via $WANIP dev ppp0 ta 10
保存为firewall命令
- 重启路由,等待个5,6分钟后,就可以享受dd带来的乐趣了。
DNSMasqOptions
- 运行alexa100cn.sh获得alexa中国网站前100名,注意删除里面的google。 或者用已经生成的懒人数据:DNSMasq server list alexa100cn.
- 将这些数据放到ddwrt的service-->DNSMasq-->Additional DNSMasq Options里面。
- 打开dhcp里面的dnsmasq功能。
- 重启路由。
Github
github:https://github.com/brucebot/ddwrt
参考