Guida Raspberry Pi come NAS e Torrent downloader

raspberry pi nas torrents

In questo articolo spiego come realizzare un NAS e Torrent downloader a basso costo con il Raspberry Pi.

Per chi non lo conoscesse, si tratta di un micro-pc con cpu Arm realizzato per scopi didattici dalla Raspberry Pi Foundation e lo si trova in vendita online a circa 35$

Premessa: non mi ritengo responsabile per qualsiasi danneggiamento a persone/cose/animali/alieni fate tutto questo a vostro rischio e pericolo!!

Materiale utilizzato/necessario:
– Raspberry Pi (va benissimo anche la vecchia versione con 256mb di ram …che utilizzo io…)
– SD (minimo da 2gb) compatibile con il Rasp.
– cavo Ethernet (per motivi di performance è preferibile una connessione wired)
– Hard Disk esterno USB con alimentazione separata
– Modem/Router
– un qualsiasi pc/tablet/smartphone connesso al modem/router e dotato di client SSH ed un web browser

Per il sistema operativo da utilizzare potete scegliere di usare Raspbian, ma io vi consiglio di usare RpyOS SE, si tratta di una Raspbian minimale, senza parte grafica, con il server ssh gia’ abilitato di default e con alcuni semplici comandi per controllare la temperatura frequenza della cpu ed aggioranre il firmware, la trovate a questo indirizzo:
http://www.rpy-italia.org/index.php/download

(se invece volete usare Raspbian ricordatevi di abilitare il server ssh nel tool di configurazione)

Una volta inserita la vostra SD con il sistema operativo, collegato l’hard disk usb, accendete il Raspberry Pi.

Dovete conoscere l’ip del vostro Raspberry!
con la maggior parte dei modem/router attuali è possibile vedere la lista dei device connessi con il relativo ip,
(con il mio posso anche assegnare sempre lo stesso IP in base al MAC address).
Se questo non vi è possibile, almeno la prima volta dovete collegare il Raspberry PI ad una TV/Monitor con relativi tastiera e mouse…
una volta loggati, modificate il file interfaces, il modo più semplice è tramite l’editor nano:

 sudo nano /etc/network/interfaces

e modifichiamo in questo modo:

auto lo

iface lo inet loopback
#iface eth0 inet dhcp

#Static
iface eth0 inet static
address ip_che_volete_dare_al_vostro_raspberry
netmask 255.255.255.0

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Per salvare la modifica al file, basta dare ctrl+o e invio per salvare, poi ctrl+x per uscire dall’editor
In questo file, abbiamo disabilitato il dhcp e assegnato un ip statico (che avete messo al posto di “ip_che_volete_dare_al_vostro_raspberry)

Ora potete anche spegnere con:

sudo shutdown -h now

Montare l’Hard Disk esterno Usb:

Staccate Monitor, tastiera, mouse ecc. e dal un altro pc collegatevi in remoto con un client ssh (se usate windows consiglio Putty)
una volta dentro il sistema potete procedere subito a montare l’hard disk in modo permanente,
per prima cosa, create la cartella dove verrà montato con il seguente comando:

sudo mkdir /mnt/nomedisco

poi dobbiamo verificare come linux vede il nostro hard disk, basta dare il seguente comando:

sudo fdisk -l

mettiamo che ve lo vede come:
/dev/sda1

Molto probabilmente, questo vostro hard disk sarà formattato in NTFS, ora non ricordo se c’e’ già installato il pacchetto ntfs-3g che permette di usare partizioni ntfs in lettura e scrittura, nel caso, per installarlo basta dare il comando:

sudo apt-get install ntfs-3g

Per far montare l’hard disk in automatico ogni volta che si accende il Raspberry dobbiamo inserire la riga per farlo montare nel file fstab

sudo nano /etc/fstab

alla fine del file inserite la seguente stringa:

/dev/sda1 /mnt/nomedisco ntfs-3g rw,auto,users 0 0

ovviamente nomedisco sarà il nome della cartella che avete creato precedentemente, ora riavviate con:

sudo reboot

Una volta riavviato, collegatevi nuovamente tramite ssh e provate ad andare nel disco montato, se vedete tutte le cartelle e files vuol dire che è stato montato correttamente, provate anche a creare un file dentro il disco con il comando:

touch nomefile

se lo crea con successo ci sono anche i permessi di scrittura! :-)

NAS con Samba:

Ora dobbiamo rendere disponibile all’interno della nostra rete casalinga l’hard disk che abbiamo montato,
lo facciamo tramite Samba (pacchetto che permette per la condivisione di risorse in rete) per questo dobbiamo installare i pacchetti necessari:

sudo apt-get install samba smbfs

una volta installato, stoppiamo prima il demone di Samba con:

sudo service samba stop

modifichiamo il file di configurazione di Samba:

sudo nano /etc/samba/smb.conf

e modifichiamo l’ultima parte del file in questo modo:

[shared]
comment = vostro commento
path = /mnt/nomedisco
public = yes
guest ok = yes
writable = yes

(ovviamente nomedisco sarà il nome che avete assegnato alla cartella)
salviamo e chiudiamo

ATTENZIONE con guest ok = yes, rendete l’hard disk condiviso a chiunque è connesso alla vostra rete interna senza l’uso di username e password, se volete abilitare l’accesso con le credenziali dovete togliere quella riga e dopo salvato il file dare:

sudo smbpasswd -a nomeutente

e poi mettere la password.

Ora facciamo ripartire il demone samba con:

sudo service samba start

provate ora a vedere le risorse condivise da un altro pc,
se tutto è andato liscio dovreste vedere il vostro Raspberry ed il contenuto della cartella che avete condiviso….

Installare il Transmission come demone:

Transmission è un programma abbastanza diffuso per scaricare i torrents, e’ disponibile sia in versione grafica,
sia come client da riga di comando, sia come demone, a noi interessa installare quest’ultimo.

Installiamolo con il comando:

sudo apt-get install transmission-daemon

Una volta installato, fermiamo il demone con:

sudo service transmission-daemon stop

Ora modifichiamo il file di configurazione:

sudo nano /etc/transmission-daemon/settings.json

è molto intuitivo, le due parti più importanti da cambiare sono le seguenti voci:
“download-dir”: “/mnt/nomedisco/cartelladovescaricareitorrents”
questo serve per indicare a transmission dove scaricare i files

“rpc-whitelist”: “127.0.0.1, 192.168.*.*”
questo serve per indicare quali indirizi ip permettere l’accesso per controllare da remoto transmission,
per la maggior parte delle reti interne casalinghe gli ip sono impostati come 192.168.1.*, altrimenti cambiate,
se invece avete intenzione di collegarvi anche da fuori la vostra rete interna (poi dovete impostare il port-forwarding sul vostro router) allora mettete:
“rpc-whitelist”: “*.*.*.*”

“rpc-password”: “vostra_password”
la password per accedere da remoto

“rpc-username”: “vostro_nomeutente”
l’username per accedere da remoto

il resto delle impostazioni, se non siete sicuri di quello che fate, è meglio non toccarle.
Salviamo il file come al solito.

Ora facciamo ripartire il demone con:

sudo service transmission-daemon start

Proviamo a collegarci da un altro pc in rete tramite browser mettendo nella barra degli indirizzi: http:/indirizzodelraspberrypi:9091
se tutto e’ andato per il verso giusto vi chiedà utente e password (sono quelli che avete impostato nel file di configurazione ovviamente).
Testate il funzionamento dandogli in pasto un file torrent….

Per ora ho finito, spero di aver riportato tutto correttamente, sono andato a memoria, se c’e’ qualcosa che ho sbagliato oppure omesso, fatemi sapere! :-)

Appena ho tempo, in un prossimo articolo spiegherò come accedere dall’esterno della rete interna al vostro Raspberry Pi tramite SSH
e rendere il tutto più sicuro con DenyHosts.

Special Thanks to:
Amorigna (che mi sopporta ormai da un bel pò di anni)
Vincenzo M. (per il supporto)

22 pensieri su “Guida Raspberry Pi come NAS e Torrent downloader

  1. Vincenzo M

    La guida è molto chiara e soprattutto racchiude il frutto di diverse ricerche fatte dal mio amico Dario affinchè tutto funzionasse nel migliore dei modi.

    Replica
  2. roberto

    Guida ottima per uno alle prime armi con linux come me.
    Con i 2 pc Windows (desk di casa ed il portatile di lavoro) vedo l’HD e la cartella condivisa montata sul Raspberry, ma se tento di trasferire qualcosa su questa mi da accesso negato.
    Non ho configurato nessuna password, e il gruppo di lavoro è uguale per tutti.
    C’è qualcuno che cortesemente mi illumina?
    Grazie.

    Replica
    1. admin Autore articolo

      ciao, se hai configurato il file smb.conf come ho scritto nell’articolo, e la cartella che hai condiviso ha i corretti permessi di scrittura non dovresti avere problemi!

      Replica
  3. Salvo

    Salve,
    complimenti per la guida, piuttosto esaustiva.
    Ho un piccolo dubbio.
    Ho montato al posto di un hdd una chiavetta usb(al momento non ne avevo disponibili per la prova), inserita nell’ fstab, installato samba ecc.
    Tutto funziona, ma mi chiedevo se fosse normale che se monto la chiavetta tramite fstab questa non viene vista dal file manager di raspbian o se sto sbagliando qualcosa.Io ho montato la chiavetta seguando la stringa da te scritta(modificando solo il path di mounting).
    Grazie comunque

    Saluti

    Salvo

    Replica
  4. admin Autore articolo

    ma da riga di comando vedi il contenuto della penna usb?
    nel file fstab hai messo il filesystem giusto della chiavetta? probabilmente la penna usb e’ vfat e non ntfs

    Replica
    1. Salvo

      Ciao,
      la chiavetta viene montata correttamente.Sto però avendo un problema(relativo, e’ anche una questione di SAPERE)
      Con le identiche impostazioni di Samba, se monto la chiavetta come ntfs-3g(chavetta formattatta in ntfs) posso scrivere sulla chiavetta, diversamente se formatto in fat32 e la monto come vfat ho solo i permessi di scrittura.Analizzando il mount che fa il sistema, quando monto in vfat mi trovo nel mount un 0022 per dmask ed fmask messo in automatico…Come ovviare al problema?

      Saluti e grazie ancora

      Replica
  5. Andrea

    Ottima guida… seguita alla lettera e tutto funziona perfettamente… poi ho cambiato hardware, e ho provato a mettere una chiavetta formattata con fat32 al posto dell’hd… modificato fstab aggiungendo le opzioni umask=111,dmask=000 e tutto sembrava filare liscio fino a che dopo un riavvio della raspberry ha smesso di funzionare correttamente…. da li quando si riavvia monta la chiavetta in rw, ma dopo un po la rimonta in ro e quindi transmission non riesce più a scriverci sopra… pensando a problemi di chiavetta l’ho cambiata con un’altra, ma si comporta allo stesso modo… poi volevo provarne una formattata exfat, ma quella proprio non riesco a montarla… Stò cercando info sulla rete su come usare exfat.

    Replica
  6. Aztek

    Salve,
    sono un neofita di Raspberry, volevo sapere se era possibile utilizzare questo splendido dispositivo per fare un media center (sò che si può) e contemporaneamente gestire un HD esterno come NAS, come spiegato in questa guida.
    La mia idea era di utilizzare il Raspberry come media center che legge da un hard disk che riempio da remoto….spero sia chiaro !!

    Grazie e complimenti per l’ottima guida !

    Replica
    1. admin Autore articolo

      forse potrebbe essere più facile farlo con distribuzioni orientate alla multimedialità come Raspbmc o Xbian

      Replica
  7. luca

    la guida è molto bella ma ho un problema non riesco a scaricare i pacchetti … io ho una rete fastweb nn capisco perchè non riesco uscire dal mio router qualcuno ha ideee

    Grazie

    Replica
  8. Michele

    Grazie per la guida molto utile e chiara, ma dopo aver configurato il tutto ho solo un “piccolo” problema il mio disco esterno usb non si sospende mai, girando sempre al massimo, qualcuno ho provato vari modi che ho trovato in rete x sospenderlo quando inutilizzato ma senza sucesso. Qualcuno puo consigliarmi qualcosa?? Grazie

    Replica
  9. Fabio

    Ottima guida!
    Sto cercando di “vedere” i file condivisi con samba anche dall’esterno, in LAN tutto ok. Ma quando tento dall’esterno digitando l’IP del mio router pubblico mi dice “connessione rifiutata”. Come mai? Come risolvo?

    Replica
    1. admin Autore articolo

      sul router, dovresti aprire anche la porta su chi e’ in ascolto samba per l’ip del raspberry, ma occhio, usa nome utente e password per accedere alle risorse condivise!

      Replica
  10. Scicuna

    io ho appena comprato il NAS della wd mycloud, è possibile collegare il raspberry per fargli salvare i torrent direttamente sopra??

    Replica
  11. gidan80

    Ciao, volevo segnalare che per chi ha un disco formattato in FAT e si è trovato in difficoltà come me (avevo solamente i permessi di lettura) è necessario inserire la seguente riga in fstab:
    /dev/sda1 /mnt/nomedisco vfat rw,auto,umask=000,user 0 0

    Spero di essere stato di aiuto, saluti.

    Replica

Lascia una risposta

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>