基于 OpenWrt 搭建的 NAS 和 TimeMachine(时间机器) 服务

基于 OpenWrt 搭建的 NAS 和 TimeMachine(时间机器) 服务

Created
Jul 4, 2023 10:44 AM
Tags
Linux
OpenWRT
Category
Geek
Last Edited
Last updated July 4, 2023
Abstract
本文将介绍如何使用基于 OpenWrt 系统的软路由设备搭建自己的私人 NAS 服务,并且还能提供给 Mac 设备进行时间机器备份。
Related to Reading List (Column)
本文将结合提供了 GUI(图形界面)的 OpenWrt 系统进行介绍,并将以 ArgonTheme 主题作为例子。

一、查看设备信息

建议搭建服务前先去了解自己设备的一些基本信息,如处理器类型、系统版本等。

1. 处理器

此部分信息一般位于 状态 → 概览 页面中,如图所示,本文使用的 FastRhino R68S 设备就是采用了基于 ARMv8 架构的 Rockchip RK3568 处理器,通常仅需了解采用的架构即可。
notion image

2. 系统版本

目前 OpenWrt (也称作 LEDE)存在官方分支和第三方分支(如常用的 Lean's LEDE source),因此最通用的查看适合的系统版本的方法是去查看 系统 → 软件包 → 配置 中的软件源信息,因为此处一般由固件开发者指定,其相比使用者更为了解。如下图所示,本文对应的 OpenWrt 的发行版本是 21.02.1。
notion image

二、安装

1. 卸载原始版本

由于固件中可能提供了早期版本的 Samba 库(如 samba36),建议先进行卸载,因为其与 Mac 系统的时间机器等功能存在兼容性的问题。
首先进入 系统 → 软件包 → 动作 页面,在下方过滤其中输入 samba,并点击 查找软件包 按钮,之后将 状态 → 已安装软件包中搜索出来的带有 samba 的软件包卸载。

2. 安装新版

进入 系统 → 软件包 → 动作 页面,在下方过滤其中输入 samba4,并点击 查找软件包 按钮,之后下方 状态 → 可用软件包 中便会出来一系列的结果,找到 samba4-server 软件包,并点击安装。

三、配置

之后的配置过程将需要你登录到软路由的系统中,你可以使用自己的 SSH 终端,或者进入 GUI 中的 系统 → TTYD 终端 页面,用户名和密码与进入 GUI 时的相同。
之后首先需要修改一些基础配置,此处将使用到一系列 vim 文本编辑器的命令,建议先对该编辑器进行一定的了解,之后输入命令 vi /etc/config/samba4 即可编辑配置文件。
首先可以反复敲击 d 键,删除掉所有内容,并键入 a 进入编辑模式,将内容替换成以下内容,其中使用 <> 符号标记的内容代表可以进行自定义,编辑完成后先敲击 esc 键,再输入 :wq 进行保存。
config samba option workgroup 'WORKGROUP' option charset 'UTF-8' option name '<nas>' option description '<Nas of Chenming>' option homes '0' option macos '1'
之后输入命令 vi /etc/samba/smb.conf.template 编辑详细配置文件,首先可以键入 a 进入编辑模式,之后将光标移动到文件的最后,自行加上下面的内容。
# 仅用于存储普通文件的目录 [nas] path = </mnt/sda3> #目录位置 valid users = <cm_nas> #后续访问的用户名 create mask = 0777 directory mask = 0777 read only = no guest ok = yes fruit:encoding = native fruit:metadata = stream fruit:veto_appledouble = no vfs objects = catia fruit streams_xattr # 仅用于苹果 TimeMachine 的目录 [backups] path = </mnt/sda2> #目录位置 valid users = <cm_nas> #后续访问的用户名 create mask = 0777 directory mask = 0777 read only = no guest ok = yes fruit:encoding = native fruit:metadata = stream fruit:veto_appledouble = no fruit:time machine = yes fruit:time machine max size = 450G vfs objects = catia fruit streams_xattr
添加完成后先敲击 esc 键,再输入 :wq 进行保存,文件共享的基本配置就完成了。
下面进行账户的配置,首先输入命令 useradd cm_nas创建一个系统账户,名字和上方输入的 valid users 相同,后续还会多次用到该账户名。
之后输入命令 passwd cm_nas 修改密码,并输入命令 smbpasswd -a cm_nas 并再次输入刚才修改后的密码。
输入命令 chown -R cm_nas /mnt/sda2 修改目录权限即可,其中参数分别为刚才的账户名和上面指定的目录位置。
最后输入命令 /etc/init.d/samba4 restart 应用刚才的配置即可。

四、连接

通常此时 samba 服务已经成功启动了,此时可以使用自己的电脑连接到该目录中。

Mac

Mac 用户打开 访达 → 网络,如果顺利的话此时里面已经出现了你刚刚配置的服务,双击即可连接。如果未出现服务,则需点击上方菜单中的 前往 → 连接服务器,并输入 smb://<软路由 IP地址> 即可。连接时要使用注册用户登录,用户名和密码就是配置时设置的那些,并建议勾选保存到钥匙链中。
若一切顺利的话,你此时已经得到了一个可以使用的 NAS 服务了。
notion image
如果还希望使用其作为 Mac 时间机器的存储设备的话,则需要进入 Mac 的 设置 → 通用 → 时间机器 中进行配置,点击加号一般即可自动弹出刚刚配置好的服务,选择上即可。
notion image

Windows

Windows 设备通常需要手动连接到服务商,进入文件资源管理器中,右键点击 网络 → 映射网络驱动器,在地址中输入 \\<软路由 IP地址> 即可。

五、已知问题

1. 缺少 libatomic1 库

在安装 samba4 时,可能会遇到提示缺少 libatomic1 库的情况,这时可能需要手动安装,进入此链接 https://downloads.openwrt.org/releases/ 中寻找,这里需要根据自己的处理器和系统版本进行选择,如本文最终使用此链接进行的下载 https://downloads.openwrt.org/releases/21.02.1/targets/rockchip/armv8/packages/libatomic1_8.4.0-3_aarch64_generic.ipk
之后在软路由上使用上述下载链接手动安装该库即可。
wget https://downloads.openwrt.org/releases/21.02.1/targets/rockchip/armv8/packages/libatomic1_8.4.0-3_aarch64_generic.ipk opkg install libatomic1_8.4.0-3_aarch64_generic.ipk