<NAS>低成本打造家用nas(私有云网盘)告别云盘产品,CloudReve,树莓派,内网映射,FRP

   过完年了,但是绝对不能忘记为大家更新点东西,大国哥家里一直有台树莓派在吃土,还是2017年花300块钱购入的,另外还有好几台废旧电脑,鉴于我这个爱折腾患者已经处于晚期,神经极度敏感的我,马上利用手上现有的零件,立刻打起了私有网盘NAS系统的主意。

   经过长达一段时间的踩坑,终于走向了成功,下面开始show出效果:

声明:本文章需要有一定的树莓派常识、熟悉linux命令、熟悉服务器配置、有颗爱折腾的心。

话已至此,下面我们来介绍一下整个系统所需要的硬件及软件:

1.一个树莓派3B+

2.一个TF卡 8GB以上 、读卡器一个 

3.一块用不到的硬盘 及硬盘易驱线

4.镜像烧录软件:Win32DiskImager

5.raspios系统,lite版本

4.CloudReve3.4  linux_64版本  链接:https://github.com/cloudreve/Cloudreve/releases/tag/3.4.2

5.Frp 0.33版本 链接:https://objects.githubusercontent.com/github-production-release-asset-2e65be/48378947/6137fb80-88ad-11ea-8bce-d161b9764100?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220126%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220126T052315Z&X-Amz-Expires=300&X-Amz-Signature=4e682330f3101853f8892c4a1b04fa14f41a1198c0aba4afb152b0c3eae8767e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=48378947&response-content-disposition=attachment%3B%20filename%3Dfrp_0.33.0_windows_amd64.zip&response-content-type=application%2Foctet-streamhttps://objects.githubusercontent.com/github-production-release-asset-2e65be/48378947/6137fb80-88ad-11ea-8bce-d161b9764100?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220126%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220126T052315Z&X-Amz-Expires=300&X-Amz-Signature=4e682330f3101853f8892c4a1b04fa14f41a1198c0aba4afb152b0c3eae8767e&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=48378947&response-content-disposition=attachment%3B%20filename%3Dfrp_0.33.0_windows_amd64.zip&response-content-type=application%2Foctet-stream

 6.一台云服务器

第一部分:安装系统

1.将sd卡插入读卡器,再接到电脑usb接口

2.备份sd卡数据,打开Win32DiskImager软件,选择已下载好的镜像,选定要烧录的sd卡,点击写入。等待完成即可。

3.将sd卡取出,插入树莓派,上电等待开机即可,它会自动安装。

4.如果家里没有网线,需要此系统自动连接无线网,则退回第2步操作,在Boot盘中,创建一个wpa_supplicant.conf文件,里面编辑为:

country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
        ssid="wifi名字"
        psk="wifi密码"
        key_mgmt=WPA-PSK
        priority=1
}

创建一个无后缀名,且命名为SSH文件。至此再进行第3步操作,开机后安装后可自动连接无线wifi。

第二部分:系统部署

开机后成功进入命令行界面,这个时候我们需要更新一下索引和文件,命令如下:

sudo apt-get update (更新索引)
sudo apt-get upgrade (更新文件)

换源:

sudo nano /etc/apt/sources.list   命令打开配置文件

替换以下内容:

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi

sudo nano /etc/apt/sources.list.d/raspi.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

按Ctrl+x退出,选择Y回车,即退出保存。

第三部分:安装cloudreve

很多人吐槽cloudreve,bug太多也不是多线程,用户体验不好,我用它的唯一可取之处那就是它有存储策略,可以供不同的用户的数据内容存在不同的硬盘挂载上,让我那多个500G的小硬盘也有用武之地,虽然别的产品也有存储策略,但是要么收费,要么就是需要修改源码,而cloudreve则是刚刚满足我的硬性需求。

sudo su    切换到root用户

sudo ufw allow 5212   放行5212端口

将cloudreve文件放到磁盘目录中,将命令行目录定位于cloudreve所在目录,运行安装命令:

chmod +x ./cloudreve
./cloudreve

编辑配置文件:

nano /usr/lib/systemd/system/cloudreve.service

修改为:注意格式一致 
[Unit]
Description=Cloudreve
Documentation= https://docs.cloudreve.org
After=network.target
Wants=network.target

[Service]
WorkingDirectory=/home/pi/nas
ExecStart=/home/pi/nas/cloudreve
Restart=on-abnormal
RestartSec=5s
KillMode=mixed

StandardOutput=null
StandardError=syslog

[Install]
WantedBy=multi-user.target

然后Ctrl+o保存Ctrl+x退出

systemctl daemon-reload 更新配置

systemctl start cloudreve 启动服务

systemctl enable cloudreve  设置开机启动

systemctl stop cloudreve  停止服务

systemctl restart cloudreve  重启服务

systemctl status cloudreve  查看状态

启动服务之后,浏览器输入你局域网内树莓派的ip例如:

192.168.1.108:5212

即可看到cloudreve的界面了,登录账户和密码都在安装启动之后,dos命令行给显示出来了。

第四部分:挂载硬盘

提供两种不同格式的挂载方式:

sudo mkdir /home/pi/disk  创建的目录

挂载NTFS格式

sudo mount /dev/sda1  /home/pi/disk 挂载

如果报错则执行 
 sudo fuser -m -u /dev/sda1
sudo kill 1308 杀掉1308
之后重新挂载 

df -h 检查

sudo aptitude install ntfs-3g  安装NTFS格式可读写软件

modprobe fuse 加载内核模块

sudo nano /etc/fstab 让移动硬盘开机自动挂载
添加: /dev/sda1  /home/pi/toshiba ntfs-3g defaults,noexec,umask=0000 0 0


挂载exFAT格式

FAT 格式U盘 mount 本身就能支持,但如果你的U盘或移动硬盘使用的是 exFAT 格式,mount 会说不支持。没关系,安装 exfat-fuse 软件之后 mount 就支持了。

sudo apt-get install exfat-fuse

如果想开机自动挂载,而不是每次手工执行,可以编辑 /etc/fstab 文件。比如在末尾添加一行:

/dev/sda1 /mnt/usbdisk vfat rw,defaults 0 0
 

硬盘挂载完之后,在cloudreve后台管理面板,将修改存储策略到挂载的位置即可。

1.选择存储策略
2.添加存储策略
3.本地

然后按照向导输入路径就可以。

第五部分:FRP内网映射

客户端安装frp:

wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_arm.tar.gz

tar -zxvf frp_0.33.0_linux_arm.tar.gz

cd frp_0.33.0_linux_arm

nano frpc.ini

在frpc中修改以下信息:

[common]
server_addr = 103.76.xx.xx
server_port = 7000

token = 8d262f2b-6dba-4a8d-857e-8a53d1d439e2 
pool_count = 5

#我这里是配置端口范围转发
[range:services]
#类型为tcp
type = tcp
#本地ip地址通常为127.0.0.1 或 localhost
local_ip = 127.0.0.1
#本地要映射的端口范围
local_port = 5211-5213,5212
#映射到服务端的端口范围
remote_port = 5211-5213,5212


[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

客户端启动:./frpc -c ./frpc.ini

开机自启动 由于树莓派的掉电不可避免, 还是搞个开机自启动比较好.

编辑/etc/rc.local文件, 在其最后一行exit 0之前, 插入如下2行:

/bin/sleep 60

sudo /home/pi/frp/frpc -c /home/pi/frp/frpc.ini &

保存退出即可。

配置服务器端:

frps.ini文件内容如下:

[common]

bind_port = 7000

vhost_http_port = 8080

dashboard_port = 7500

dashboard_user = admin

dashboard_pwd = admin

token = 8d262f2b-6dba-4a8d-857e-8a53d1d439e2 

服务端启动:./frps -c ./frps.ini

如两端都显示成功,则从你的公网ip或者域名连接映射的5212端口就可以了,如:

http://154.177.23.15:5212 。

至此,整个的NAS云配置算是全部完成。但是大国哥发现通过外网下载上传大文件,连续十几分钟左右,frp就会自动断开,查资料说的原因种种不一,说被墙的比较多,玩派的群里有大佬支招,写个脚本守护,断掉立马重连,但是考虑以后还会实际使用,就干脆买了个xx的内网穿透产品,10块钱一个月,装上后很稳定,很少断开,带宽也还不错,无奈自己家里的网线带宽感人,所以穿透的下载和上传速度也都很慢,不过这个后期只需要升级家里的带宽就可以了,总体上传下载带宽在3-5M左右是没问题的,预算还好的话可以升级更大的带宽和映射套餐,这样我们就可以摆脱掉某度云等一些云盘服务商,而且数据完整的保存在自己家里的硬盘里,不怕丢失,也安全。

个人瞎折腾写下的一点心得,不足之处,还望网友斧正。

猜你喜欢

转载自blog.csdn.net/csdn_lg_one/article/details/122700601