Raspberry構建宿舍網NAS+DLNA

背景

宿舍無線網路由器分配的IP段屬于內網IP,無法簡單架設NAS使用,因此借用外網服務器來做內網穿透,可以實現宿舍wifi內高速遠程文件系統(tǒng),公網穩(wěn)定NAS.

架構

硬件

  1. Raspberry 3b+ (NAT內)
  2. 阿里云學生服務器 (公網IP)

軟件

  1. 內網穿透: frp
  2. NAS實現: samba
  3. DLNA實現: miniDLNA
  4. 離線下載實現: aira2
  5. 系統(tǒng): Debian10.0 64位

安裝

1. 掛載移動硬盤

lsblk -f 

有用的輸出如下

NAME        FSTYPE LABEL  UUID                                 FSAVAIL FSUSE% MOUNTPOINT
sda                                                                           
└─sda1      ntfs   嘚锝嘚 0FD108960FD10896                       55.9G    88% /mnt/hd1

查找到移動硬盤的設備為/dev/sda, 對應第一分區(qū)為/dev/sda1,第一分區(qū)uuid為0FD108960FD10896

修改/etc/fstab添加如下行,令其開機掛載

UUID=0FD108960FD10896  /mnt/hd1  ntfs  defaults  0  0

創(chuàng)建掛載點文件夾

sudo mkdir /mnt/hd1

重啟樹莓派查看是否成功

sudo shutdown -r now

2. 配置NAS

安裝配置文件共享軟件Samba4

sudo apt install samba smbfs
sudo nano /etc/samba/smb.conf

重寫配置文件:

[global]
    #與主機名相關的設置
    workgroup = WORKGROUP
    netbios name = PI-smb-server
    serverstring = Samba Server Version %v
    #與日志文件有關的設置
    logging = file
    log file = /var/log/samba/log.%m
    max log size = 50
    #與密碼相關的設置
    idmap config * : backend = tdb
    cups options = raw
    #打印機加載方式
    load printer = no
    #崩壞處理
    panic action = /usr/share/samba/panic-action %d
    #授權設置
    server role = standalone server
    obey pam restrictions = yes
    unix password sync = yes
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    pam password change = yes
    map to guest = bad user

#共享文件夾名share
[hd1]
    #path為硬盤根路徑
    path = /mnt/hd1
    available = yes
    browseable = yes
    public = yes
    writable = yes
    valid user = samba
    write list = samba
    create mask = 0777
    directory mask = 0777 

新建Samba訪問用戶,并重啟生效

sudo useradd samba
sudo smbpasswd -a samba
sudo systemctl restart smbd.service

安裝配置DLNA軟件minidlna

sudo apt install minidlna
sudo nano /etc/minidlna.conf

添加如下內容

media_dir=A,/mnt/hd1/music
media_dir=P,/mnt/hd1/picture
media_dir=V,/mnt/hd1/vedio
#配置minidlna的數庫數據的存放目錄
db_dir=/var/cache/minidlna
#配置日志目錄
log_dir=var/log/

創(chuàng)建路徑重啟服務

mkdir /mnt/hd1/music && mkdir /mnt/hd1/picture && mkdir /mnt/hd1/vedio
sudo systemctl restart minidlna.service

3. 離線下載實現

安裝配置Aira2

sudo apt-get install aria2

創(chuàng)建下載目錄

mkdir /mnt/hd1/download

創(chuàng)建配置文件

sudo mkdir /etc/aria2    #新建文件夾  
sudo touch /etc/aria2/aria2.session    #新建session文件
sudo chmod 777 /etc/aria2/aria2.session    #設置aria2.session可寫 
sudo nano /etc/aria2/aria2.conf    #創(chuàng)建配置文件

寫入如下內容

dir=/mnt/hd1/download
disable-ipv6=true

#打開rpc的目的是為了給web管理端用
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
#rpc-listen-port=6800
#斷點續(xù)傳
continue=true
input-file=/etc/aria2/aria2.session
save-session=/etc/aria2/aria2.session

#最大同時下載任務數
max-concurrent-downloads=20

save-session-interval=120

# Http/FTP 相關
connect-timeout=120
#lowest-speed-limit=10K
#同服務器連接數
max-connection-per-server=10
#max-file-not-found=2
#最小文件分片大小, 下載線程數上限取決于能分出多少片, 對于小文件重要
min-split-size=10M
#單文件最大線程數, 路由建議值: 5
split=10
check-certificate=false
#http-no-cache=true

啟動aira2

sudo aria2c --conf-path=/etc/aria2/aria2.conf -D

設置開機啟動,

sudo nano /etc/systemd/system/aria2.service

寫入如下配置

[Unit]
Description=Aira2 Daemon
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/aria2c --conf-path=/etc/aria2/aria2.conf
KillSignal=SIGINT
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

保存后設置開機啟動

sudo systemctl enable aria2.service 

aria2-webui

http://aria2c.com/

4. 端口穿透

frp: https://github.com/fatedier/frp/releases
由于一端是樹莓派(ARM)另一端是阿里云服務器(AMD64)
所以下載兩個版本包分別在樹莓派和阿里云服務器上安裝

tar -xvf  frp_0.29.0_linux_arm64.tar.gz

端口

  • minidlna: 8200
  • aria2: 6800
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容