TrueNAS 安装与配置
TrueNAS 是一个多功能的网络存储解决方案,支持多种客户端系统和协议,包括 Windows 的 SMB/CIFS 文件共享、Unix 的 NFS 文件共享、Apple 的 AFP 和 Time Machine 备份,以及 FTP、iSCSI(块共享)、WebDAV 等其他网络数据分享方式。其核心特性是文件共享,但 TrueNAS 不仅限于此。该项目着重于简化复杂的管理任务,使得几乎所有配置和功能都可以通过易于使用的 Web 用户界面来管理。此外,TrueNAS 提供了安装指南工具,旨在简化安装和配置流程。用户可以轻松创建卷、设置特定共享的权限,以及执行软件更新,而无需担心错过关键步骤或遇到不明显的错误。
本篇教程将介绍如何在虚拟机中安装 TrueNAS,并进行基本的配置。
0x00 安装准备
- Vmware Workstation Pro
- TrueNAS Core iso 镜像
下载地址:
- https://www.truenas.com/truenas-core/
- https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html
0x01 安装 TrueNAS
- 创建虚拟机
创建完后再点 编辑虚拟机设置
-> CD/DVD
-> 使用 ISO 映像文件
,选择下载好的 TrueNAS iso 镜像
同时添加三块硬盘,组 RAIDZ1
RAIDZ1 类似于 RAID5,它使用奇偶校验来保护数据。RAIDZ1 可以容忍一块硬盘的损坏,但是如果有两块硬盘损坏,那么数据就会丢失。
最终配置如下
- 安装系统
按 Enter
进入安装界面
选择 Install/Upgrade
选择 16G 的磁盘作为系统盘,按空格选中,然后回车
设置管理员密码
选择 Boot via UEFI
出现如下界面,说明安装成功
选择 Shutdown System
关闭虚拟机
再次修改虚拟机设置,将 CD/DVD
的启动时连接关闭
保存后启动虚拟机
启动后看到 TrueNAS 的 IP 地址为 192.168.7.145
在浏览器中访问
这里的用户名是 root
,密码是刚才设置的密码
登录成功后来到控制面板
0x02 创建存储池
进入 Storage
-> Pools
选项卡,选择 Create
创建存储池
选择刚才添加的三块硬盘,添加到右边的 Data VDevs
中,并且选择 RAIDZ
模式
创建完成后,我们可以在 Pools
中看到刚才创建的存储池
0x03 创建数据集
在这里可以把存储池看作是群晖的存储空间,数据集看作是群晖的共享文件夹。前者是打地基,后者是在地基上造房子,造了房子才能放东西。
进入 Storage
-> Pools
选项卡,在我们刚才创建的存储池后面选择 Add Dataset
创建数据集
Name 指的是文件夹的名字
0x04 创建账户
接下来我们要去新建账户,用于共享访问
进入 Accounts
-> Users
选项卡,选择 Add
新建用户
勾选 Allow SMB Access
选项,这样我们就可以用这个账户访问 Smb 共享
0x05 创建 Smb 共享
进入 Sharing
-> Windows (SMB)
选项卡,选择 Add
创建共享
选择我们刚才创建的存储池路径进行分享,开启 Allow Guest Access
选项,这样我们就可以不用输入用户名和密码就可以访问共享
点击 Submit
后选择自动开启 Smb 服务权限
成功启动
紧接着系统会让我们创建 ACL 访问控制,我们选择 configure now
我们设置所有人可读,仅 ROB21026
可以读写
在 Windows 中访问 \\192.168.7.145\Share
,使用刚才创建的账号登录可以有读写权限,如果使用 Guest 登录的话就只有访问权限
登陆后上传一些文件用于测试
我们可以把他挂载到本地磁盘,这样就可以像本地磁盘一样使用了
0x06 开启 Webdav
进入 Services
-> Webdav
选项卡,开启 Webdav 服务
点击右边的 Edit
进行配置,这里我们暴露的端口是 8080,同时设置密码
开启后来到 Sharing
-> WebDAV
选项卡,选择 Add
创建共享
这里同样是把数据集 Share
作为分享目录
保存后我们使用浏览器访问 http://192.168.7.145:8080/Share
输入账号密码,账号是 webdav
,密码是刚才设置的密码,就可以看到我们 Share 文件夹里面的内容
0x07 开启 SSH
进入 Services
-> SSH
选项卡,开启 SSH 服务
0x08 配置 Frp 内网穿透
项目地址:https://github.com/fatedier/frp/releases/tag/v0.43.0
我们使用 SSH 连接 TrueNAS,从 git 下载对应的版本,由于 TrueNAS 是 FreeBSD 系统,所以我们下载frp_0.43.0_freebsd_amd64.tar.gz
版本
wget https://github.com/fatedier/frp/releases/download/v0.43.0/frp_0.43.0_freebsd_amd64.tar.gz
tar -xzvf frp_0.43.0_freebsd_amd64.tar.gz
cd frp_0.43.0_freebsd_amd64
vim frpc.ini
./frpc -c frpc.ini
frpc.ini 配置如下
[common]
server_addr = xxx.xxx.xxx.xxx
server_port = xxxxx
token = xxxxxx
[Webdav]
type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = 1234
成功运行后,效果如下
这样我们就可以在任意网络环境下访问 Webdav 服务了,因为我们使用服务器作为中转,把本地的 NAS 服务映射到服务器上,然后我们就可以通过服务器的 IP 地址访问 Webdav 服务。
0x09 配置 Alist
项目地址:https://github.com/alist-org/alist
为了方便安装,我们在服务器使用 Docker 安装 Alist
# 启动容器
docker run -d --restart=always -v /etc/alistNAS:/opt/alist/data -p 5222:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist_NAS" xhofe/alist:latest
# 设置管理员密码
docker exec -it alist_NAS ./alist admin set NEW_PASSWORD
# 设置site_url
cd /etc/alistNAS
vim config.json
# 注意 URL 链接结尾请勿携带 /
# 正确写法:
# "site_url": "https://al.nn.ci",
# 错误写法:
# "site_url": "https://al.nn.ci/",
docker restart alist_NAS
容器创建成功后,访问 http://xxx.xxx.xxx.xxx:5222
,输入刚才设置的密码,就可以看到 Alist 的界面了
进入 管理
-> 存储
-> 添加存储
,添加 Webdav 存储
配置如下
添加完存储后,我们就可以在主页看到本地 TrueNAS 分享的文件了