准备
看别人玩nas,心痒痒,正好家里的树莓派吃灰已久,遂打算做一个下载器,兼局域网nas,我租的房子没有公网IP,所以远程控制的话,需要一台vps打洞。成品如下: 主动散热-威力增强版 准备工作:
- 树莓派一只
- 硬盘盒+硬盘
- 路由器+网线,用于局域网nas访问
- 一个有公网IP的vps,一个域名,用于远程控制(非必须)
- 交流转24V可调直流,12V静音风扇,用于主动散热(非必须)
开工
硬盘检查
第一步。硬盘放入硬盘盒,先连接电脑,初始化,扫描一下坏道,确认硬盘/硬盘盒没问题。然后使用分区助手把硬盘格式化为ext4
格式(Linux专属文件系统,读写速度比ntfs快两倍多)。
第二步。树莓派上电,通过USB3.0连接硬盘盒。通过网线连接路由器,不用wifi的原因是树莓派的wifi只有100Mbps速率不到。在电脑上通过ssh连接树莓派,使用df
命令即可看到硬盘,一般名为/dev/sda1
,然后sudo umount /dev/sda1
先把硬盘卸载,再sudo mount /dev/sda1 /home/pi/Nas
把硬盘挂载在/home/pi/Nas
目录下(或者其他目录)。
bt下载器
第三步。安装qbittorrent-nox
,参考raspberry-pi-qbittorrent
sudo apt install qbittorrent-nox
安装。sudo vim /etc/systemd/system/qbittorrent.service
创建一个后台服务,填入以下内容:
[Unit]
Description=qBittorrent
After=network.target
[Service]
Type=forking
User=pi
UMask=002
ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=9090
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl start qbittorrent
启动服务,此时在电脑上用http://[树莓派ip]:9090
就能访问qbittorrent的网页控制台了。- 在网页控制台把下载位置修改为
/media/pi/Nas
,把缓存位置修改为/media/pi/Nas/temp
。 - 在网页控制台添加trackers,把
https://github.com/ngosang/trackerslist/blob/master/trackers_best.txt
的内容复制到自动添加以下 trackers 到新的 torrents设置项。 - 到此,bt下载器已经完成,可以添加一个磁力链接试一试。 网络控制台
局域网NAS
第四步。安装samba,参考raspberry-pi-samba
sudo apt-get install samba samba-common-bin
安装samba。sudo vim /etc/samba/smb.conf
修改配置文件。填入以下内容:
[nas]
path = /home/pi/Nas
writeable=Yes
create mask=0777
directory mask=0777
public=no
sudo smbpasswd -a pi
创建一个nas用户,输入密码。然后sudo systemctl restart smbd
重启samba。- 通过
//raspberrypi/nas
或者网络扫描,即可访问树莓派nas,各系统/软件访问方式不同,这里不再赘述。
远程控制(非必须)
第五步。使用frp打洞,实现远程访问控制台和nas。
在vps上配置frp server。我的vps是centos,在releases页面下载压缩包,发送到vps,解压到
/opt/
文件夹下。sudo vim /etc/frps.ini
编辑vps的frp配置,填写如下:
[common] bind_port = 7000 vhost_http_port = 9090
sudo vim /etc/systemd/system/frps.service
创建frps服务,填写如下:
[Unit] Description=frp reverse proxy server After=network.target [Service] User=root WorkingDirectory=/opt/frp ExecStart=/opt/frp/frps -c /etc/frps.ini [Install] WantedBy=multi-user.target
sudo systemctl start frps
启动frp server。- 为
qbt.yourdomain.com
申请一个TLS证书,这里推荐acme.sh。在nginx配置里转发到9090端口:
server { listen 443 ssl; ssl_certificate /root/.acme.sh/yourdomain.com/fullchain.cer; ssl_certificate_key /root/.acme.sh/yourdomain.com/yourdomain.com.key; server_name qbt.yourdomain.com; location / { proxy_pass http://127.0.0.1:9090; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; } }
在树莓派上配置frp client。同样在在releases页面下载压缩包,解压到树莓派的
/opt/
文件夹。vim /opt/frp/frpc.ini
编辑树莓派的frp配置,填写如下:
[common] server_addr = 你的vps的ip地址 server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 7022 [web] type = http local_port = 9090 remote_port = 9090 custom_domains = qbt.yourdomain.com
sudo vim /etc/systemd/system/frpc.service
创建frpc服务,填写如下:
[Unit] Description=frp reverse proxy client After=network.target [Service] User=pi Group=pi Restart=on-failure RestartSec=15s WorkingDirectory=/opt/frp ExecStart=/opt/frp/frpc -c /opt/frp/frpc.ini [Install] WantedBy=multi-user.target
sudo systemctl start frpc
启动frp client。
这时,外网可以在qbt.yourdomain.com
直接访问qbittorrent的网络控制台。也可以用过sftp访问nas,访问速度和vps上行带宽一致。
filezilla访问nas
完工
配置完还是挺过瘾的,麻麻再也不用担心下片时无法关电脑了。局域网内可以多端访问nas,电脑/pad/手机,想在哪看就在哪看。 加风扇前,双硬盘温度会飙到50度,有点害怕,10元买了两个12V静音风扇(并不怎么静音),使用可调电源,调到6V左右就比较安静了,温度能控制在37度内。最大的还是HC550炒豆子声。