Wndr3400

以前的路由是一台linksys WRT54GS,无线的速度是54M的,平常上上网么也就够了。只是后来入了一台NAS,在备份Time Machine的时候,这网速就渣的可以了,加上升级lion之前入的群加usb to ethernet的转接线无法使用了,于是一直就没有用网线,备份个30G的文件需要个几十天,这就疯掉了,刚好看到新蛋Netgear WNDR3400 V1 N600特价,最重要的是V1版,这个版本完全支持ddwrt。

免责声明

刷机有风险,风险自担负。

刷机准备

  1. 一台WNDR3400 V1版本,注意一定要是V1版本,V2版本不支持,具体可以查询 DDWRT support device.
  2. WNDR3400v1 官方ROM,以备不测.PS:我并没有刷回官方rom,因为直接就成功了!
  3. 下载dd-wrt.v24-17990_NEWD-2_K2.6_mini-WNDR3400 firmware,这是官方svn的版本,更多的版本可以查看这里svn17990.
  4. 如果需要全功能版的ddwrt,包含USB支持,NAS支持,openvpn等等,下载dd-wrt.v24-17990_NEWD-2_K2.6_mega-nv64k.bin. 注意这个firmware,无法打开jffs。
  5. 如果需要支持jffs,并能使用openvpn,但是没有usb/nas,则下载dd-wrt.v24-17990_NEWD-2_K2.6_openvpn-nv64k.bin.我目前用这个firmware,因为我需要jffs。
  6. 刷机前,仔细阅读官方刷机指南,最重要要关注30-30-30的方法。

开始刷机

  1. 备份原始路由配置;
  2. 对目前路由做一次30-30-30复位操作;
  3. 用网线将路由与电脑连接,注意不要用无线来刷机;
  4. 登录路由,找到firmware upgrade页面,将dd-wrt.v24-17990_NEWD-2_K2.6_mini-WNDR3400.chk文件上传,中间会报一次上传的firmware版本和目前是一样的,不用理会,继续就行了;
  5. 路由会自动完成刷机,成功后再做一次30-30-30复位操作;
  6. 更新ddwrt,登录路由后,找到adminstrator-->Firmware upgrade,直接上传dd-wrt.v24-17990_NEWD-2_K2.6_mega-nv64k.bindd-wrt.v24-17990_NEWD-2_K2.6_openvpn-nv64k.bin,点击upgrade后就能自动更新了;
  7. 更新成功后,再做一次30-30-30复位,然后登录路由,一般ip是192.168.1.1,无线自动开启,ssid为ddwrt,登录后设置用户名和密码,刷机成功。

autoddvpn设置

  1. ddwrt的rom一定要是dd-wrt.v24-17990_NEWD-2_K2.6_openvpn-nv64k.bin,否则无法打开jffs,因为ddwrt自带的openvpn客户端连接有问题,我没有试成功,有试成功的麻烦告诉我;
  2. 打开jffs,ssh或telnet登录路由,在命令号下输入:
    nvram set jffs_mounted=1
    nvram set enable_jffs2=1
    nvram set sys_enable_jffs2=1
    nvram set clean_jffs2=1
    nvram set sys_clean_jffs2=1
    nvram commit
    reboot
  3. 放置脚本到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
  4. 修改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'
  5. 进入路由的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
    WAN_IP=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 $WAN_IP dev ppp0 ta 10
    保存为firewall命令
  6. 重启路由,等待个5,6分钟后,就可以享受dd带来的乐趣了。

DNSMasqOptions

  1. 运行alexa100cn.sh获得alexa中国网站前100名,注意删除里面的google。 或者用已经生成的懒人数据:DNSMasq server list alexa100cn.
  2. 将这些数据放到ddwrt的service-->DNSMasq-->Additional DNSMasq Options里面。
  3. 打开dhcp里面的dnsmasq功能。
  4. 重启路由。

Github

github:https://github.com/brucebot/ddwrt

参考