准备
看别人玩 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 炒豆子声。