前几天,安装了统信UOS家庭版,通过Zerotier One实现了内网穿透,从而可以远程访问家用NAS了(具体教程查看: 统信UOS家庭版下安装Zerotier One实现内网穿透 ),但是当时只能通过浏览器访问,对于文件的读取来说不是那么友好和方便,于是今天通过挂载NAS共享磁盘,实现文件无缝同步。
准备工作
检查NAS设备是否可以被访问
在挂载NAS共享磁盘前,需要确保NAS已经实现了内网穿透,可以被访问,如无法访问可以查看教程:统信UOS家庭版下安装Zerotier One实现内网穿透。具体如何检查,我们可以通过在终端中使用ping命令来测试NAS设备是否可以被访问。例如,如果NAS设备的IP地址是10.147.17.32,则可以在终端中输入以下命令:
ping 10.147.17.32
如果收到回复,具体如下图所示,则表示可以被访问。
创建挂载点
在Linux系统中,需要先创建一个挂载点。可以选择在根目录下创建一个新文件夹,作为挂载点。例如,可以在终端中输入以下命令来创建一个名为“MyNFS”的文件夹:
sudo mkdir /MyNFS
注意 ,统信UOS家庭版最开始是无法使用Root权限的,需要在通用,安全,开发者模式,打开开发者模式才行,具体查看教程:统信UOS家庭版下安装Zerotier One实现内网穿透准备工作部分。
开始挂载NAS共享磁盘
需要使用mount命令将NAS共享磁盘挂载到刚才创建的挂载点上,以下是挂载命令的基本格式:
sudo mount -t cifs //nas_ip_address/share_name /mount_point -o username=your_username,password=your_password,uid=Shuanglin
其中,“nas_ip_address”是NAS设备的IP地址,“share_name”是共享磁盘的名称,“mount_point”是刚才创建的挂载点,“your_username”和“your_password”是登录NAS设备时使用的用户名和密码,"uid"是当前用户id,可以通过‘id’命令查看,从而可以使得无须Root权限具有读写权限。
例如,如果NAS设备的IP地址是10.147.17.32,共享磁盘的名称为“MyNFS”,可以在终端中输入以下命令来挂载共享磁盘到“MyNFS”文件夹:
sudo mount -t cifs //10.147.17.32/MyNFS /MyNFS -o username=admin,password=123456,uid=Shuanglin
注意: 如果在挂载过程中,出现 mount(2) system call failed: Operation not supported
,则表示缺少 cifs-utils
包,可以通过如下命令安装:
sudo apt-get install cifs-utils
如果在挂载过程中,出现 mount error(95): Operation not supported
错误,则表示SMB版本可能不对应,比如默认使用的是SMB3.0,而NAS当前使用的是SMB2.0,此时需要在挂载命令上指定SMB版本即可,具体命令如下:
sudo mount -t cifs //nas_ip_address/share_name /mount_point -o username=your_username,password=your_password,vers=2.0,uid=Shuanglin
NAS共享磁盘开机自动挂载
编辑fstab文件
我们可以通过编辑fstab
文件,将NAS共享目录自动挂载到我们创建的挂载点中。我们可以使用以下命令打开fstab
文件:
sudo nano /etc/fstab
在文件末尾添加以下一行:
//10.147.17.32/MyNFS /MyNFS cifs Shuanglin 0 0
其中,//10.147.17.32/MyNFS
是NAS共享目录的路径,/MyNFS
是我们创建的挂载点的路径,最后的0 0
表示在启动时自动挂载该目录。
除了手动编辑fstab
文件之外,Linux系统还提供了一些工具和服务,可以帮助我们自动挂载NAS共享目录。
采用Autofs工具
Autofs是一种自动挂载文件系统的工具,它可以在需要时自动挂载远程文件系统。我们可以使用以下命令安装Autofs:
sudo apt-get install autofs
安装完成后,我们需要编辑/etc/auto.master
文件,添加以下一行:
/MyNFS /etc/auto.nas --timeout=60
其中,/MyNFS
是我们创建的挂载点的路径,/etc/auto.nas
是存储NAS共享目录信息的配置文件,--timeout=60
表示60秒后自动卸载该目录。
接下来,我们需要编辑/etc/auto.nas
文件,添加以下一行:
Share -fstype=cifs,rw,username=your_username,password=your_password,,uid=Shuanglin ://10.147.17.32/MyNFS
其中,Share
是我们给共享目录取的别名,cifs
是指定文件系统类型,rw
是指定读写权限,username=your_username,password=your_password
是指定访客账户的用户名和密码,//10.147.17.32/MyNFS
是NAS共享目录的路径。
现在,我们可以启动Autofs服务并测试自动挂载功能:
sudo systemctl start autofs
通过切换到挂载目录,查看是否挂载成功。
cd /MyNFS/Share
如果目录能够自动挂载并且我们能够访问共享目录中的文件,则表示Autofs配置成功。
使用systemd
systemd是Linux系统的一个系统和服务管理器,它可以用于自动挂载NAS共享目录。我们可以创建一个systemd服务文件来实现自动挂载功能。以下是一个示例服务文件:
[Unit]
Description=NAS Share
Requires=network-online.target
After=network-online.target
[Mount]
What=//10.147.17.32/MyNFS
Where=/MyNFS/Share
Options=username=your_username,password=your_password,vers=2.0,iocharset=utf8,uid=Shuanglin
Type=cifs
[Install]
WantedBy=multi-user.target
我们可以将上述内容保存为nas-share.mount
文件,并将其复制到/etc/systemd/system/
目录中。然后,我们可以使用以下命令启动服务:
sudo systemctl start nas-share.mount
如果服务启动成功并且我们能够访问共享目录中的文件,则表示systemd配置成功。
本文共 1135 个字数,平均阅读时长 ≈ 3分钟
评论 (0)