OpenWrt搭建文件共享服务(NAS)

1. 硬盘挂载

1.1 安装USB、fs的内核模块

opkg update
opkg install kmod-usb-core kmod-usb-storage kmod-usb-ohci kmod-fs-ext2 kmod-fs-ext3 kmod-fs-vfat kmod-fuse ntfs-3g

1.2 配置自动挂载

  • 安装mount工具
    opkg install mount-utils

  • 编辑配置文件
    vi /etc/hotplug.d/block/10-mount

#!/bin/sh
#Copyright (C) 2009 OpenWrt.org  (C) 2010 OpenWrt.org.cn
blkdev=`dirname $DEVPATH`
if [ `basename $blkdev` != "block" ]; then

    device=`basename $DEVPATH`
    case "$ACTION" in
        add)
                mkdir -p /mnt/$device
                # vfat & ntfs-3g check
                if  [ `which fdisk` ]; then
                        isntfs=`fdisk -l | grep $device | grep NTFS`
                        isvfat=`fdisk -l | grep $device | grep FAT`
                        isfuse=`lsmod | grep fuse`
                        isntfs3g=`which ntfs-3g`
                else
                        isntfs=""
                        isvfat=""
                fi

                # mount with ntfs-3g if possible, else with default mount
                if [ "$isntfs" -a "$isfuse" -a "$isntfs3g" ]; then
                        ntfs-3g -o nls=utf8 /dev/$device /mnt/$device
                elif [ "$isvfat" ]; then
                        mount -t vfat -o iocharset=utf8,rw,sync,umask=0000,dmask=0000,fmask=
                else
                        mount /dev/$device /mnt/$device
                fi

                if [ -f /dev/${device}/swapfile ]; then
                    # make swap space
                    mkswap /dev/${device}/swapfile
                    swapon /dev/${device}/swapfile
                fi
        ;;
        remove)
                if [ -f /dev/${device}/swapfile ]; then
                    swapoff /dev/${device}/swapfile
                fi
                umount /dev/$device
        ;;
    esac
  • 修改可执行权限
    chmod 777 /etc/hotplug.d/block/10-mount

2. 硬盘自动休眠

2.1. 安装hdparm

opkg update
opkg install hdparm

2.2. hdparm测试:

hdparm -S 60 /dev/sda    (放到开机启动项就可以每次开机都生效!)
hdparm -y /dev/sda           (这个命令是立即休眠,测试硬盘是否休眠成功。)

说明:hdparm -S 60 /dev/sda 设置超时值(5分钟)使硬盘进入休眠模式(省电模式)(这个 S数值/12=分钟); /dev/sda 为挂载的硬盘路径,ls /dev/sda查看你的盘符。执行完hdparm -S 60 /dev/sda 这个命令时你的路由已经设置为5分钟休眠了。(注:5分钟硬盘无操作时省电模式,休眠时接到读写命令会自动唤醒进入工作模式)

附:** Linux hdparm 命令**
显示与设定硬盘的参数,语法:hdparm [-CfghiIqtTvyYZ][-a <快取分区>][-A <0或1>][-c ][-d <0或1>][-k <0或1>][-K <0或1>][-m <分区数>][-n <0或1>][-p ][-P <分区数>][-r <0或1>][-S <时间>][-u <0或1>][-W <0或1>][-X <传输模式>][设备]
  补充说明:hdparm可检测,显示与设定IDE或SCSI硬盘的参数。
  测试各硬盘读取速度判断硬盘故障
  在服务端命令窗口中执行如下命令
  hdparm -t /dev/hda (IDE硬盘)
  hdparm -t /dev/sda (SATA、SCSI、硬RAID卡阵列)
  hdparm -t /dev/md0 (软RAID设备)
  测试结果在空载情况下应 >40M/s ,在负载情况下平均应 > 20M/s 为正常,如测试结果极低则需要进一步使用硬盘专用检测工具测试是否为硬盘故障。
  参数:

  -a<快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定。
  -A<0或1> 启动或关闭读取文件时的快取功能。
  -c 设定IDE32位I/O模式。
  -C 检测IDE硬盘的电源管理模式。
  -d<0或1> 设定磁盘的DMA模式。
  -f 将内存缓冲区的数据写入硬盘,并清楚缓冲区。
  -g 显示硬盘的磁轨,磁头,磁区等参数。
  -h 显示帮助。
  -i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。
  -I 直接读取硬盘所提供的硬件规格信息。
  -k<0或1> 重设硬盘时,保留-dmu参数的设定。
  -K<0或1> 重设硬盘时,保留-APSWXZ参数的设定。
  -m<磁区数> 设定硬盘多重分区存取的分区数。
  -n<0或1> 忽略硬盘写入时所发生的错误。
  -p 设定硬盘的PIO模式。
  -P<磁区数> 设定硬盘内部快取的分区数。
  -q 在执行后续的参数时,不在屏幕上显示任何信息。
  -r<0或1> 设定硬盘的读写模式。
  -S<时间> 设定硬盘进入省电模式前的等待时间。
  -t 评估硬盘的读取效率。
  -T 平谷硬盘快取的读取效率。
  -u<0或1> 在硬盘存取时,允许其他中断要求同时执行。
  -v 显示硬盘的相关设定。
  -W<0或1> 设定硬盘的写入快取。
  -X<传输模式> 设定硬盘的传输模式。
  -y 使IDE硬盘进入省电模式。
  -Y 使IDE硬盘进入睡眠模式。
  -Z 关闭某些Seagate硬盘的自动省电功能。

3. 安装文件共享服务(samba)

关于samba:Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。而SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

3.1. 安装Samba服务

执行如下命令:

opkg update
opkg install samba36-server

注:上面的 samba36-server 是本文发布时的Samba服务软件包名称,其中数字36表示3.6.X版本,以后Samba版本更新的话可能找不到这个软件包,这个时候执行 opkg list | grep samba 搜一下就好。

3.2. 配置samba

3.2.1 挂载点配置

方式一:luci控制台


Paste_Image.png

方式二:修改配置文件
配置文件路径为 /etc/samba/smb.conf ,将 [global] 中的 invalid users = root 注掉,修改后文件内容如下:

[global]
netbios name = |NAME|
display charset = |CHARSET|
interfaces = |INTERFACES|
server string = |DESCRIPTION|
unix charset = |CHARSET|
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
3.2.2 配置共享目录

方式一:luci控制台


Paste_Image.png

方式二:修改配置文件/etc/samba/smb.conf
例如要添加一个名称为 airport 的共享,共享路径为 /mnt/usb,允许root用户读写操作,在 /etc/samba/smb.conf 配置文件中增加如下信息:

[airport]
        path = /mnt/usb
        valid users = root
        read only = no
        guest ok = yes
        create mask = 0777
        directory mask = 0777
3.2.3 配置共享密码

Samba的共享用户密码是单独配置的,执行下面的命令将root添加为共享用户,同时按照命令提示设置共享密码。

smbpasswd -a root

3.3. 启动samba

配置完成后,启动Samba服务即可。
/etc/init.d/samba start
samba操作命令介绍

* start Start the service
* stop  Stop the service
* restart   Restart the service
* reload    Reload configuration files (or restart if that fails)
* enable    Enable service autostart
* disable   Disable service autostart

4 使用

  • Mac
    打开finder找到如下:
    Paste_Image.png

如果没找到,则cmd+k


Paste_Image.png
  • Android
    ES文件管理器:局域网-扫描
    图片发自简书App

    魅族内置文件浏览器:网上邻居
    S70418-235633(1).jpg

    S70418-235650.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,884评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,755评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,369评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,799评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,910评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,096评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,159评论 3 411
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,917评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,360评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,673评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,814评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,509评论 4 334
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,156评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,882评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,123评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,641评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,728评论 2 351

推荐阅读更多精彩内容