最近偷懒,没学习,反想起自己的路由刷了Openwrt,正好闲置了一个硬盘想拿来做个网络硬盘,于是开始了折腾....这里将不谈论如何刷Openwrt,如何ssh,如何添加PPOE,如何添加相对应服务的包等等,网上太多资料了...

这里只记录了耗时1天半,折磨自己,例如,扩展了系统容量,设置了Samba,aria2和aria2webui, 构建Owncloud私有云盘,的一些过程和一些配置文件干货。有些配置完了突然感觉然并卵,但是过程很愉快算是减压的好玩具。

硬件大概这个样子....WNDR4300

系统环境:

  1. 系统版本:OpenWrt  CHAOS CALMER (15.05, r46767)

  2. 路由型号:WNDR4300

  3. 硬盘分区:/dev/sda2  NTFS    网络共享硬盘  647.51GB

        /dev/sda3  SWAP    SWAP 1GB

        /dev/sda4  EXT4  Openwrt系统 49.09 GB

U盘实现热插拔:

添加USB相关支持
[plain] view plain copy
Kernel modules —> USB Support —> <*> kmod-usb-core. ##默认已经选了
Kernel modules —> USB Support —> <*> kmod-usb-ohci. ##默认已选 old usb1.0
Kernel modules —> USB Support —> <*> kmod-usb-uhci. ## usb1.1
Kernel modules —> USB Support —> <*> kmod-usb-storage.
Kernel modules —> USB Support —> <*> kmod-usb-storage-extras.
Kernel modules —> USB Support —> <*> kmod-usb2. ##默认已经选了 usb2.0 添加SCSI支持
[plain] view plain copy
Kernel modules —> Block Devices —> <*>kmod-scsi-core ##默认已经选了 usb3.0 添加USB挂载
[plain] view plain copy
Base system —> <*>block-mount 添加文件系统支持
[plain] view plain copy
Kernel modules —> Filesystems —> <*> kmod-fs-ext4 (移动硬盘EXT4格式选择)
Kernel modules —> Filesystems —> <*> kmod-fs-vfat(FAT16 / FAT32 格式 选择)
Kernel modules —> Filesystems —> <*> kmod-fs-ntfs (NTFS 格式 选择) 退出保存 make V=99 自动挂载U盘:编辑 /etc/hotplug.d/block/10-mount 写入以下内容
[plain] view plain copy
#!/bin/ash case "$ACTION" in
add)
for i in $(ls /dev/ | grep 'sd[a-z][1-9]')
do
mkdir -p /mnt/$i
mount -o iocharset=utf8,rw /dev/$i /mnt/$i
if [ $? -ne 0 ]
then
mount -o rw /dev/$i /mnt/$i
fi
done
;;
remove)
MOUNT=`mount | grep -o '/mnt/sd[a-z][1-9]'`
for i in $MOUNT
do
umount $i
if [ $? -eq 0 ]
then
rm -r $i
fi
done
;;
esac

USB挂载&U盘启动

确认挂载盘符,文件系统最好选择EXT4 ,可以在路由里格式化也可以用Diskgenius格式化(建议用Diskgenius十分方便)

vim /etc/config/fstab

config global
option anon_swap ''
option anon_mount ''
option auto_swap ''
option auto_mount ''
option delay_root ''
option check_fs '' config swap
option device '/dev/sda3'
option enabled '' config mount
option target '/mnt/sda4'
option uuid 'fbca3c60-5c6a-d748-93bd-d5b54aeb575c'
option enabled '1’ reboot

效果展示: 

Samba + ntfs + guest共享

软件包如果你要挂载NTFS格式的硬盘的话,PS:上面添加的脚本就可以帮助我们不用在手动挂载或者管理页面添加挂载。

 

这里samba使用samba36-server,修改/etc/samba/smb.conf重启Samba服务并不起作用,全局和共享是分开的配置文件,分别修改/etc/samba/smb.conf.template和/etc/config/samba

/etc/samba/smb.conf.template

[global]
netbios name = Sean-OpenWrt
display charset = UTF-8
interfaces = 127.0.0.1/8 lo 66.66.66.60/24 br-lan
server string = Sean-OpenWrt
unix charset = UTF-8
workgroup = WORKGROUP
browseable = yes
deadtime = 30
domain master = yes
encrypt passwords = true
enable core files = no
guest account = nobody
guest ok = yes
#invalid users = root
local master = yes
load printers = no
map to guest = Bad User
max protocol = SMB2
min receivefile size = 16384
null passwords = yes
obey pam restrictions = yes
os level = 20
passdb backend = smbpasswd
preferred master = yes
printable = no
security = user
smb encrypt = disabled
smb passwd file = /etc/samba/smbpasswd
socket options = TCP_NODELAY IPTOS_LOWDELAY
syslog = 2
use sendfile = yes
writeable = yes
/etc/config/samba

[homes]
comment = Home Directories
browsable = no
read only = no
create mode = 0750 [NetworkShare]
path = /mnt/sda2
read only = no
guest ok = yes
create mask = 0777
directory mask = 0777

效果展示:

最后我将网盘映射成了本地,迅雷下载,百度云盘,还有云音乐下载都放在了网络硬盘上,基本满足了我网络存储需求。

手机IOS访问,nplayer效果,个人感觉nplayer太好用了....

传送:

  [Openwrt扩展中篇]添加Aria2和webui

  [Openwrt 扩展上篇]USB挂载&U盘启动&Samba共享

参考资料:

  http://blog.csdn.net/u011641885/article/details/46530327

  http://blog.sina.com.cn/s/blog_4849d5ac0102v4hy.html

  

[Openwrt 扩展上篇]USB挂载&U盘启动&Samba共享的更多相关文章

  1. [Openwrt 项目开发笔记]:USB挂载& U盘启动(三)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在上一篇中,我结合Netgear Wndr370 ...

  2. android usb挂载分析---MountService启动

    android usb挂载分析---MountService启动 分类: android框架 u盘挂载2012-03-27 23:00 11799人阅读 评论(4) 收藏 举报 androidsock ...

  3. android usb挂载分析----vold启动

    http://blog.csdn.net/new_abc/article/details/7396733 前段时间做了下usb挂载的,现在出了几个bug,又要把流程给梳理下,顺便也把相关的知识总结下, ...

  4. [Openwrt 扩展下篇] Openwrt搭建私有云Owncloud 9

    网上很多资料讲用Linux打造owncloud构建私有云 ,花了些时间研究了下,我将之前的需求打造成了Openwrt下的Owncloud 9.其实网上还有Seafile.大家对比来看下知乎的评论,其实 ...

  5. [Openwrt扩展中篇]添加Aria2和webui

    上一篇说了我构建了简单的网络硬盘,这一篇说的是我构造的aria2和webui,大概是这样我觉得有了网络硬盘,那么我是不是可以远程下载呢,翻阅了网上资料发现迅雷的Xware貌似不更新了,然后我发现了ar ...

  6. linux下挂载U盘方法

    1.使用 cat /proc/partitions 查看系统现在有哪些分区:[root@localhost ~]# cat /proc/partitions major minor  #blocks  ...

  7. 『学了就忘』Linux基础命令 — 39、挂载U盘和挂载NTFS分区

    目录 1.在Linux系统中挂载U盘 (1)插入U盘 (2)查询U盘设备文件名 (3)挂载U盘 (4)U盘中的中文乱码 (5)U盘卸载 2.在Linux系统中挂载NTFS分区 (1)Linux的驱动加 ...

  8. OpenWrt挂载USB储存设备实现Samba共享

    没有USB接口的路由器不是好路由器,有了USB接口OpenWrt才有更多的玩法,比如挂载U盘.移动硬盘等USB储存设备实现Samba共享,打造小型家庭服务器. 1.安装与USB相关的软件包: opkg ...

  9. u盘启动openwrt

    opkg update opkg install kmod-usb-ohci kmod-usb2 kmod-fs-ext3 opkg install kmod-usb-storage reboot m ...

随机推荐

  1. Java-JDBC.mysql 工具类 读取本地文件配置

    引用 mysql-connector-jav 的jar 配置文件为  database.propertties .  格式如下 driverClass=com.mysql.jdbc.Driver ur ...

  2. 安装MySql出现Error Nr.1045的解决办法

    如图,最后一步出现这个错误框 这是因为上次安装过MySql,其用户数据在卸载的时候没有被删除掉,解决办法如下: 显示隐藏的文件夹,打开C盘,找到下图文件删除之 删除之后再安装一遍MySQL,就可以了

  3. mybatis plugin作为一款优秀的mybatis跳转插件

    阅读目录: 1. 简介2. 下载mybatis plugin插件3. 安装mybatis plugin插件4. 启动并验证5.说明1. 简介 mybatis plugin作为一款优秀的mybatis跳 ...

  4. 网络对抗课题4.3.1 SQL注入原理与实践

    网络对抗课题4.3.1 SQL注入原理与实践 原理 SQL注入漏洞是指在Web应用对后台数据库查询语句处理存在的安全漏洞.也就是,在输入字符串中嵌入SQL指令,在设计程序中忽略对可能构成攻击的特殊字符 ...

  5. centos_radhat升级系统

    Centos/Redhat系统下,Yum升级操作系统版本方法: 很多情况下,系统安装的时候是一个版本,官方很快就会出新的版本,提高系统的安全性,以及一些漏洞补丁 通过以下步骤可以平滑将系统升级,例如C ...

  6. springboot项目添加jsp支持

    一.创建springboot项目 使用 http://start.spring.io/ 快速创建一个springboot项目下载并导入 二.添加依赖 在pom.xml中添加支持jsp的依赖如下: &l ...

  7. 【纪中集训2019.3.12】Z的礼物

    题意 已知\(a_{i} = \sum_{j=1}^{i} \{^{i} _{j} \}b_{j}\), 给出\(a_{1} 到 a_{n}\) : 求\(b_{l} 到 b_{r}\)在\(1e9+ ...

  8. [BZOJ1878][SDOI2009] HH的项链 (树状数组)

    link 一道简单题. 不用可持久化. 对于统计颜色个数,可以看与其颜色一样的前一个位置. 设$las(i)$表示其与$i$颜色相等的上一个位置. 则对于二元组$(l,r)$,其答案为$\sum_{i ...

  9. RadioButton如何隐藏和替换

    http://q.cnblogs.com/q/60738/ 用Jquery写的,可以实现隐藏功能,代码如下: 1 <%@ Page Language="C#" AutoEve ...

  10. 在前台jsp页面中取得并使用后台放入域中变量的方法

    定义成 js变量后,在js中也可以自由使用.