准备

看别人玩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

  1. sudo apt install qbittorrent-nox安装。
  2. 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
  1. sudo systemctl start qbittorrent启动服务,此时在电脑上用http://[树莓派ip]:9090就能访问qbittorrent的网页控制台了。
  2. 在网页控制台把下载位置修改为/media/pi/Nas,把缓存位置修改为/media/pi/Nas/temp
  3. 在网页控制台添加trackers,把https://github.com/ngosang/trackerslist/blob/master/trackers_best.txt的内容复制到自动添加以下 trackers 到新的 torrents设置项。
  4. 到此,bt下载器已经完成,可以添加一个磁力链接试一试。 网络控制台

局域网NAS

第四步。安装samba,参考raspberry-pi-samba

  1. sudo apt-get install samba samba-common-bin安装samba。
  2. sudo vim /etc/samba/smb.conf修改配置文件。填入以下内容:
[nas]
path = /home/pi/Nas
writeable=Yes
create mask=0777
directory mask=0777
public=no
  1. sudo smbpasswd -a pi创建一个nas用户,输入密码。然后sudo systemctl restart smbd重启samba。
  2. 通过//raspberrypi/nas或者网络扫描,即可访问树莓派nas,各系统/软件访问方式不同,这里不再赘述。

远程控制(非必须)

第五步。使用frp打洞,实现远程访问控制台和nas。

  1. 在vps上配置frp server。我的vps是centos,在releases页面下载压缩包,发送到vps,解压到/opt/文件夹下。

    1. sudo vim /etc/frps.ini编辑vps的frp配置,填写如下:
    [common]
    bind_port = 7000
    vhost_http_port = 9090
    
    1. 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
    
    1. sudo systemctl start frps启动frp server。
    2. 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;
        }
    }
    
  2. 在树莓派上配置frp client。同样在在releases页面下载压缩包,解压到树莓派的/opt/文件夹。

    1. 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
    
    1. 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
    
    1. sudo systemctl start frpc启动frp client。

这时,外网可以在qbt.yourdomain.com直接访问qbittorrent的网络控制台。也可以用过sftp访问nas,访问速度和vps上行带宽一致。 filezilla访问nas

完工

配置完还是挺过瘾的,麻麻再也不用担心下片时无法关电脑了。局域网内可以多端访问nas,电脑/pad/手机,想在哪看就在哪看。 加风扇前,双硬盘温度会飙到50度,有点害怕,10元买了两个12V静音风扇(并不怎么静音),使用可调电源,调到6V左右就比较安静了,温度能控制在37度内。最大的还是HC550炒豆子声。

更新

现在家里有IPv6了,手机流量/支持IPv6的网络均可以直接访问,速度和家里宽带上行速度一致,爽爆了!