OpenWrt挂载U盘(NTFS)并在网上邻居共享访问 - 猪猪一号

时间:2024-03-12 09:34:57

OpenWrt挂载U盘(NTFS)并在网上邻居共享访问

工具/原料

  • 刷好OpenWrt(带LuCI界面)的路由器一台 当然必须带USB接口
  • 软件:putty 用于命令行操作路由器
  • 软件:WinSCP 用于修改路由器配置文件

方法/步骤

  1. 1

用putty连接路由器,用putty下载安装所需的软件包:(直接复制下面内容到提示符)

opkg update

opkg install kmod-usb-core

opkg install kmod-usb2                #安装usb2.0 

opkg install kmod-usb-ohci            #安装usb ohci控制器驱动

opkg install kmod-usb-storage         #安装usb存储设备驱动

opkg install kmod-fs-ext3             #安装ext3分区格式支持组件

opkg install kmod-fs-vfat             #挂载FAT

opkg install ntfs-3g                  #挂载NTFS

opkg install mount-utils              #挂载卸载工具

opkg install block-mount

opkg install luci-app-samba           #SAMBA网络共享服务

/etc/init.d/samba enable              #启用并开始SAMBA共享

/etc/init.d/samba restart

注意 在线安装软件包需保证路由器Wan口可以连接Internet

  1. 2

重启路由器 登陆路由器设置界面可以看到多了挂载点网络共享两个选项(也可全部做完再重启)

  1. 3

用WinSCP连接路由器,打开/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=0000 /dev/$device /mnt/$device

                else

                        mount /dev/$device /mnt/$device

                fi

  if [ -f /dev/${device}/swapfile ]; then

   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

 

fi

这段脚本可实现自动挂载,如不想编辑脚本,也可在挂载点中自己设置(PS.没试过)

  1. 4

插入U盘或移动硬盘 再次重启路由器 在挂载点中就可以看到已经挂载的设备

如果U盘只有一个分区,就是/mnt/sda1,第二个分区是/mnt/sda2

如果用Hub接入多个U盘,第二个设备就是/mnt/sdb,以此类推

 

  1. 5

进入网络共享中,添加共享目录例如/mnt/sda1,权限为777(即完全访问)。

至此就可以在网上邻居中看到路由器的这个共享文件夹了。

 

  1. 6

注意XP系统 必须保证

Computer Browser

Server

Application Layer Gatway Service

Windows Firewall/Internet Connection Sharing

这几个服务开启 并且在本地连接属性中

Microsoft 网络的文件和打印机共享

启用时 网上邻居文件才可以访问。

转载自http://jingyan.baidu.com/article/5225f26b6b273fe6fa090829.html