openwrt+aria2+移动硬盘打造智能NAS系统

一两年前(记不得是一年前还是两年前了)买了巴法络的WZR-HP-G300NH2型号路由器,路由器配置不算高,但还是可以各种折腾。先刷了dd-wrt,但是感觉不够智能所以刷了openwrt,接着挂载移动硬盘安装迅雷Xware远程下载,autoddvpn智能翻墙,才知道原来路由器可以这么玩!前几天路由器时不时的掉线,估计是系统出了问题,重刷了固件,随便把当初刷机时收集的资料整理了一份分享给大家。

一、TFTP刷机法刷OPENWRT(该部份只适用于BUFFALO WZR-HP-G300NH2)

1、根据路由器cpu类型下载适合自己路由器的openwrt固件备用,我选择的是14.07下的openwrt-ar71xx-generic-wzr-hp-g300nh2-squashfs-tftp.bin
openwrt固件选择基础知识:
factory用于原厂固件下刷机;sysupgrade是openwrt固件下升级用;tftp用于uboot启动模式下tftp刷机。
squashfs和jffs2区别是:squashfs会占用空间存放系统必要的文件,并且这些文件是只读的,当系统损坏时,可以执行firstboot恢复初始状态。而jffs2是可以改写的,你可以删除一些系统部件而获得更多的空间,但缺点是一旦系统崩溃,有可能你无法使用firstboot脚本重建初始系统。

2、在本地连接中设置静态IP地址,设置参数如下
IP地址:192.168.11.2 ; 子网掩码:255.255.255.0 ; 网关/dns 192.168.11.1

3、关闭windows防火墙及其他防火墙,拔掉多余网线,只留wan口旁的lan口与电脑连接(这步很重要,不设置会无法用tftp上传固件)

4、设置静态路由(windows7设置方法,刷机时的所以命令都在cmd内输入)
在cmd中输入以下命令:

netsh interface ipv4 add neighbors 11 192.168.11.1 02-aa-bb-cc-dd-1a

可以用route print 命令先看网卡端口,上面命令中写的是11,需改成自己的,一般为Interface List下面一行的头一个数字)
5、tftp命令上传固件刷机,路由器插上电源后,仔细观察网卡灯,顺序为1.所有灯全亮,2.只剩插网线的lan口灯亮,3.闪烁几下暗掉后请准备,再亮的同时按回车执行下面命令,此处为要点,一定要掌握好时机(即网卡灯第三次亮时按回车)。

tftp -i 192.168.11.1 put d:\openwrt-ar71xx-generic-wzr-hp-g300nh2-squashfs-tftp.bin

上传成功会显示传输成功,上面的d:\openwrt-ar71xx-generic-wzr-hp-g300nh2-squashfs-tftp.bin请改为自己放固件的路径和文件名

6、tftp上传的时间很快,但是上传后等待时间会有点长,一般为7、 8分钟,这时什么都不要做,千万不要断电,路由会自己重启

7、删除静态路由,改ip地址为自动获取

netsh interface ipv4 delete neighbors 11 192.168.11.1 02-aa-bb-cc-dd-1a

8、成功后openwrt的ip为192.168.1.1,默认用户名密码root。

二、安装软件挂载移动硬盘并共享

使用openwrt过程中会用到WinSCP和PuTTY,先自行在网上搜索下载。

1、用PuTTY连接至路由

2、输入以下命令(#号及后面的为注释不要输入):

opkg update     #更新软件列表
opkg install luci-i18n-chinese #安装中文web界面
opkg install kmod-usb-storage block-mount kmod-fs-ext4 luci-app-samba samba36-client samba36-server hdparm     #安装共享等
reboot  #重启路由

3、挂载与共享设置
浏览器输入192.168.1.1进入路由器web界面,点“系统”菜单选择“挂载点”选项

在挂载点页面的挂载点处选择要挂载的硬盘分区,可点“修改”进行相关设置,注意下图中挂载点要显示的目录名称与文件系统格式设置,设置好后注意选择保存。

点“服务”菜单选择“网络共享”选项,在网络共享页面点添加设置共享目录,目录处输入上图中设置的挂载点目录名称,选择允许匿名用户,创建权限和目录权限都设置为7777,选择保存设置完毕。

设置好后用PuTTY连接至路由,用以下命令启动共享

/etc/init.d/samba enable

4、设置usb硬盘自动休眠

在web管理页面点“系统”菜单选择“启动项”选项,在启动项页面的“本地启动脚本”内输入以下命令,使移动硬盘5分钟无操作便进入休眠,休眠时接到读写命令会自动唤醒进入工作模式。

hdparm -S 60 /dev/sda2

注:hdparm -S 60 /dev/sda2 设置超时值(5分钟)使硬盘进入休眠模式(省电模式),这个S数值12=1分钟,所以60=5分钟(60/12); /dev/sda2 为挂载的硬盘路径,ls /dev/sda*查看你的盘符。

至此挂载移动硬盘及共享设置全部完成!

三、安装aria2下载软件

我最初用的openwrt下载软件是迅雷自家的Xware,后用了arir2发现它各种方便,甩Xware几条街。
1、安装Aria2

opkg update
opkg install aria2 sudo  #安装aria2与sudo

2、配置Aria2
Aria2有两种下载模式,一种是命令行下载模式,一种是RPC Server模式.前者不建议使用,后者的使用方式很方便. RPC模式就是启动之后什么也不做,等着通过RPC接口接受下载请求.下载完也不会退出,一直等待. 使用命令行加参数的方式配置Aria2非常不推荐,建议使用配置文件的方式,下面贴出一份配置文件。

##允许rpc
enable-rpc=true
#允许所有来源, web界面跨域权限需要
rpc-allow-origin-all=true
#允许非外部访问
rpc-listen-all=true
#RPC端口, 仅当默认端口被占用时修改
rpc-listen-port=6800
#设置加密的密钥,token验证
rpc-secret=token
#禁用IPv6, 默认:false
disable-ipv6=true
#最大同时下载数(任务数), 路由建议值: 3
max-concurrent-downloads=3
#断点续传
continue=true
#同服务器连接数
max-connection-per-server=5
#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要
min-split-size=10M
#单文件最大线程数, 路由建议值: 5
split=5
#下载速度限制
max-overall-download-limit=0
#单文件速度限制
max-download-limit=0
#上传速度限制
#max-overall-upload-limit=0
#单文件速度限制
#max-upload-limit=0
#断开速度过慢的连接
#lowest-speed-limit=0
#验证用,需要1.16.1之后的release版本
#referer=*
#日志文件,如果不需要日志,这一行可去掉
#log=/app/aria2/Aria2.log
#这两个是记录和读取下载历史用的,断电和重启时保证下载任务不会丢失,如果有时aria2不能启动,清空这里面的内容就行了
input-file=/app/aria2/aria2.session
save-session=/app/aria2/aria2.session
#定时保存会话,每5分钟自动保存错误或未完成的下载,如果为 0, 只有 aria2 正常退出才回保存,默认 0,需要1.16.1之后的release版
save-session-interval=300
#文件保存路径, 默认为当前启动位置
dir=/usb/Downloads
#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本
#disk-cache=0
#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)
#enable-mmap=true
#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长
#所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持
file-allocation=prealloc

将上面的配置文件保存为aria2.conf(注意保存时编码选择为ANSI,否则会出现未知错误),用WinSCP新建/app/aria2目录,并将aria2.conf保持在里面,在/app/aria2新建aria2.session文件(目的请见上面的配置注释)

aria2.session也可在终端用命令建立:

cd /app/aria2   #进入/app/aria2 目录
touch aria2.session  #新建aria2.session文件

3、设置开机自启动

在web管理页面点“系统”菜单选择“启动项”选项,在启动项页面的“本地启动脚本”内输入以下命令,设置开机自启动。

sudo -u nobody  aria2c –conf-path=/app/aria2/aria2.conf -D

注:以用户nobody运行aria2,以解决aria2下载的文件的权限问题,-D 意为后台执行

至此,aira2安装设置已全部完成,aria2下载可使用迅雷离线导出百度网盘助手115下载助手Aria2c Integration等插件解决,本文不再赘述。

发表评论

您的电子邮箱地址不会被公开。