首页 > Linux, Tomato > Tomato路由器节省nvram占用的方法

Tomato路由器节省nvram占用的方法

2014年10月15日 LTNS     访问次数 78 发表评论 阅读评论

这两天把手里的 Asus RT-N16无线路由器 刷了 bwq518增强集成版Tomato固件 ,该固件基于 Tomato Shibby Mod 整合了 ToW (Transparent over Wall,可实现 Shadowsocks、GoAgent/WallProxy、混淆ssh等客户端零配置透明代理)等功能。

我刷的固件是 tomato-K26USB-1.28.121-MIPSR2-20140808.Hyzoom.RT_N5x-16M-AIO-AR-TR.trx,具体功能详请见作者提到的文件 tomato_bwq518_build.xls。RT-N16路由器本身的nvram才32KB,而整合的 ToW等功能又比较消耗 nvram,所以什么都还没开始设置呢就只剩下6.xKB了。

tomato_tow_initial_nvram

 

在路由器的 Static DHCP、Wireless Filter、OpenVPN、Scripts以及 ToW等页面设置完成后,nvram仅剩 400多字节,断电重启后却发现路由器的配置全部丢失,回到了初始状态。

经Goolge搜索在 DD-WRT官网的论坛上找到 一篇帖子,提及刷了 DD-WRT固件的 RT-N16路由器如果 nvram过小的话容易导致路由器重启或断电后丢失配置。于是试着删除一些设置,nvram剩余容量回到1KB以上后,果然配置不再丢失,不知道这只是该型号路由器的个例还是其他路由器也有的普遍现象。

但路由器的设置又不能不做,于是参考该帖子里老外的解决办法,尽量把设置内容都迁移到 /jffs目录下,以节省对 nvram的占用。

刷完固件的路由器默认 JFFS功能是关闭的,所以首先要在 Administration > JFFS 页面启用并格式化,然后对一些页面如 OpenVPN、Scripts以及 ToW的设置内容迁移至 /jffs目录下,下面分别说明一下。

WinSCP 登录到路由器,新建一个目录比如 /jffs/ovpn,把 OpenVPN Server所需的四个证书文件比如 ca.crt, dh1024.pem, server.crt, server.key(如果是 OpenVPN Client的话,则是类似 ca.crt, client.crt, client.key的三个文件)复制到该目录下,然后在 VPN Tunneling > OpenVPN Server 页面里的 Server-Advanced窗口里指定证书文件的路径
VPN-Server_Advanced_jffs

Administration > Scripts 页面,把 Init窗口里的内容做成一个新脚本文件如 /jffs/init.sh(Firewall、WAN Up等其他窗口如有内容也要做成相应的脚本文件)
Administration_Scripts_jffs
注:新脚本文件里的第一行必须有一行 “#!/bin/sh”

再到 Advanced > ToW Proxy设置页面,把自定义域名的清单整理到一个新文件,比如 /jffs/gfw.cfg
TOW_gfwlist

最后在 Advanced > DHCP/DNS 页面添加一行 “conf-file=/jffs/gfw.cfg”,保存即可
TOW_Advanced_Dnsmasq

 
补充1:
虽然 nvram剩余容量保持在大约1KB以上时路由器 RT-N16的配置就不会丢失,但这时候在 Administration > Configuration 页面仍会有 nvram严重不足的提示,同时感觉路由器的 ToW功能的运行也不太正常;而当 nvram剩余容量上升至大约2KB以上后该提示就会消失,同时 ToW功能也恢复正常了。

 
补充2:
还可以到 QoS > Classification 页面删除多余的设置,以节省更多的nvram空间。

 
 

参考文章
http://www.dd-wrt.com/phpBB2/viewtopic.php?t=80954&postdays=0&postorder=asc&start=15
 

分类: Linux, Tomato 标签: , , ,
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
28 / 7 = (必填)