Volevo creare una guida che esaudisse tutti i dubbi e le perplessità che da tempo girano attorno a questo argomento e che spesso provocano confusione.
Incominciamo con il dire che NAS è l’acronimo di Network Attached Storage, che tradotto nella pratica consiste in un hard disk collegato alla nostra rete locale (domestica o aziendale). I vantaggi nell’avere un disco condiviso in rete sono, prima di tutto il poter scrivere e leggere file su un hard disk sempre disponibile in rete ed accessibile da qualsiasi dispositivo (computer, tablet e smartphone). L’altro grande vantaggio di una NAS-rpi è il bassissimo consumo di energia elettrica rispetto all’impiego di un comune PC (che è anche più rumoroso).
Procediamo dettando le quattro cose che abbiamo necessariamente bisogno:
- Raspberry pi B, B+ o Rpi 2
- HDD alimentato esternamente
- Raspbian installato
- Collegamento (megio se diretto) ad internet
Indice guida:
- Pt 1 Configurazione hdd.
- Pt 2 Configurazione samba.
- Pt 3 Configurazione ip esterno.
- Pt 4 Apertura porta router.
- Pt 5 Collegamenti vari.
Parte 1 L’HDD
Come già detto precedentmente l’hdd dev’essere necessariamente alimentato esternamente e NON da USB
Detto questo, SE L’HDD E’ NUOVO procediamo con la formattazione.
SE INVECE NE ABBIAMO GIÀ UNO PIENO SALTIAMO QUESTO PASSAGGIO
Il nostro consiglio è quello di utilizzare il file system Linux ext4 per vari motivi che non starò qui a spiegarvi…
Formattiamo:
Da pc Windows scarichiamo un software gratuito chiamato MiniTool Partition Wizard Home Edition. Il software è abbastanza semplice da utilizzare, ed è molto somigliante ad altri software di partizionamento in circolazione, ma in più supporta il file system EXT4. Basterà selezionare il vostro hard disk dal software, cancellare le partizioni esistenti, crearne una nuova EXT4 nominandola a vostro piacimento, applicare le modifiche, ed attendere il completamento delle operazioni.
Da pc Linux
sudo fdisk -l
La schermata che vi apparirà sarà più o meno questa…
I primi due dev lista, contrassegnati con “mmcblk0p” (1 e 2) sono le due partizioni della nostra scheda SD contenente il sistema operativo, mentre il dev in fondo alla lista (indicato dalla freccia rossa) è il nostro hard disk usb. E’ molto importante conoscere il suo nome, che nel nostro caso è sda1.
Procediamo alla formattazione con
sudo mkfs.ext4 /dev/sda1 -L LABEL
Montiamo:
cerchiamo l’ UUID (Universally Unique IDentifier) di questo dispositivo con:
sudo blkid /dev/sda1
Ci verrà risposto qualcosa come questo:
/dev/sda1: LABEL=”miodisco” UUID=”1234-5678″ TYPE=”vfat”
Ricordiamoci quel numerino UUID (nell’ esempio, 1234-5678)
Occorre che creiamo ora una cartella dove montare il disco. In sostanza i contenuti del disco verranno visti dentro questa cartella di mount, che è come un collegamento virtuale al disco
sudo mkdir /media/nas
(convenzionalmente sono sotto /mnt io qui lo ho chiamato usbhdd a titolo di esempio)
Poi andiamo a attribuire i permessi alla cartella appena creata:
sudo chmod 777 /media/nas
questa stringa dà i permessi di lettura/scrittura/esecuzione a tutti, per permessi più limitati, editare di conseguenza.
Ad esempio, si può usare:
sudo chmod 760 /media/nas
per dare tutti i permessi all’ utente, sola lettura al suo gruppo, e nulla a tutti gli altri
Approfondimenti sui permessi e sul loro utilizzo li trovate in quest’ altra, indispensabile, guida.
Ora editiamo il file /etc/fstab con i permessi di root (sudo), quindi:
sudo nano /etc/fstab
e aggiungiamo in fondo questa riga:
UUID=657859 /media/nas auto defaults,auto,umask=000,users,rw,uid=pi,gid=pi 0 0
ovviamente sostituiamo “657859” con l’uuid trovato prima.
Se avete problemi, invece del primo auto specificate il nome del filesystem che intendete utilizzare e con cui è formattato il disco. Ad esempio, per un disco NTFS, auto caricherà il filesystem NTFS e non ntfs-3g, anche se lo avete installato. Occorrerà quindi specificare ntfs-3g al poosto di auto.
naturalmente mettendo lo UUID che ci siamo appuntati prima.
poi salviamo con Ctrl-O e usciamo dall’ editor (nano) con CTRL-X
A questo punto, facciamo una verifica, se il disco si monta:
sudo mount /media/nas
vediamo se riusciamo a vedere i file e le cartelle all’ interno:
ls /media/nas
Parte2 Installazione e configurazione Samba:
Samba è un software multipiattaforma, molto diffuso per la condivisione di file e stampanti, di cui ci serviremo per rendere disponibili i contenuti del nostro hard disk nella nostra rete locale. Samba andrà installato solo sul nostro Raspberry, perché collegandoci da un PC Windows o da un Mac avremo già tutto l’occorrente per accedere al NAS come se fosse un disco fisso installato nel proprio computer. Per quanto riguarda i dispositivi mobili, tablet e smartphone, basterà scegliere una delle tante app del tipo “file manager” che supporti Samba.
Prima di procedere all’instalazione aggiorniamo le repository con:
sudo apt-get update
Ora installiamo il pacchetto richiesto con
sudo apt-get install samba samba-common-bin
cd /etc/samba
sudo nano smb.conf
1 |
# security = user |
Togliamo il “#” iniziale in modo che diventi:
1 |
security = user |
Con ↓ spostiamoci in fondo al file e incolliamo le seguenti righe:
1 2 3 4 |
[Hdd-Esterno] comment = NAS path = /media/nas writeable = yes |
sudo service samba restart
sudo smbpasswd -a pi
sudo service samba restart
La configurazione di samba è terminata.
Parte3 Configurazione ip esterno con noip
Qui è diponibile la guida originale…..Io per completezza la riporterò qui sotto.
Da pc andiamo su www.noip.com
In alto a destra clicchiamo il tasto verde “Sign Up”
Ora compiliamo i seguenti campi come spiegato sotto:
- Campo1 Inserite la votra mail
- Campo2 Reinserite la votra mail
- Campo3 Decidete e inserite un username (vi servirà per accedere al pannello di controllo di noip)
- Campo4 Deciderte e inserite una password
- Campo5 Decidete un Hostname (é l’indirizzo pubblico a cui risponderà il vostro raspberry)
Confermiamo cliccando su Free sign up
Sul pc per ora abbiamo finito 😉
Accediamo al terminale del raspberry e digitiamo uno dopo l’altro questi comandi:
cd
mkdir noip2
cd noip2
wget http://bobvann.noip.me/repo/noip2-install/noip2-install.sh
sh noip2-install.sh
Quando richiesto ineriamo la mail con cui ci siamo registrati a noip e poi la password decisa (nel campo4)
Quando ci chiede invece l’update interval clicchiamo invio senza inserire nulla (lasciamo il valore di default:30)
Parte4 Apertura porte router
Premetto che la procedura dipende dal router in proprio possesso. Questa procedura è per il router “pirelli nero TeleTu”
In linea generale però questa guida vale anche per gli altri router.
Colleghiamoci alla pagina di gestione del nostro router (nel mio caso http://192.168.1.1 )
La schermata sarà più o meno così:
Inseriamo user e pass ed eseguiamo il login.
La schemata home, nel mio caso è questa:
Nella barra sinistra (a fuoco) clicchiamo su NAT e poi su VIRTUAL SERVER:
Questa è la schermata dove andremo ad “aprire” le varie porte
noi dobbiamo aprire la 22
quindi:
nel campo “lan ip adress” mettiamo l’indirizzo ip interno del raspi (possiamo verificarlo con ifconfig)
nel campo “protocol type” selezioniamo TCP & UDP
nel campo “lan port” mettiamo la porta da apire…quindi la 22 nel nostro caso
nel campo “public port” mettiamo la porta esterna a cui vogliamo corrisponda la 22 interna
potremmo mettere 22 per comodità ma lo sconsiglio per questioni di sicurezza
inseriamo un numero tra 1 e 65535 per esempio la 5678.
Clicchiamo add per salvare e usciamo.
Ora da tutto il mondo potremo accedere raspi porta 22, dall indirizzo creato con noip; porta 5678.
Parte5 Collegarsi alla nostra nuova NAS
Collegamento samba
Andiamo su risorse del computer.
poi su “rete”:
Tra i vari dispositivi collegati alla stessa rete troveremo Raspberry
Apriamo e inseriamo username e password (user=pi password=decisaprima)
All’interno troveremo la caretella Hdd-Esterno con all’interno i file contenuti dall nostro hdd.
opzionale:
Montiamo la cartella Hdd-Esterno come hdd
facciamo click con il sinistro sulla cartella “Hdd-Esterno” e clicchiamo sulla voce “Connetti unità di rete”:
Selezioniamo ora la lettera con cui verrà nominato la nostra nas e verifichiamo che la voce “Riconnetti all’accesso” sia selezionata (come da screen)
Cliccando su fine e andando su “Computer” ci toveremo la nostra bella nas.
ricordo che samba funziona solo in locale.
Collegamento scp (o sftp)
Se non l’abbiamo ancora sul computer scarichiamo filezilla da qui
Apriamo file zilla e andiamo sul gestore siti (icona in altro a sinistra)
clicchaimo su Nuovo Sito:
Riempiamo i campi come descritto sotto
Host mettiamo l’hostname inserito al momento della registrazione a noip
Porta mettiamo 5678 o comunque la porta esterna APERTA che corrisponde all’interna 22.
Protocollo selezioniamo SFTP
Tipo di acesso selezioniamo NORMALE
Utente utente con cui accediamo al raspberry (pi di default)
Password inseriamo la password che usiamo per accedere al raspberry (raspberry di default)
Finito questo clicchaimo su Connetti
Torniamo sul gestore siti e selezioniamo il raspberry
in alto clicchiamo su “avanzate” (a destra di “generale”)
Sotto “cartella remota predefinita” scriviamo:
1 |
/media/nas |
(o comunque la carela dove è stato montato l’hdd)
Clicchaimo su connetti e magia…..
questo metodo, a differenza di samba funziona anche da lan esterna.
Infatti, se dal gestore siti ne creiamo uno inserendo come host l’indirizzo di noip e come porta la 5678 (o la corrispondente) potremo vedere i nostri file da tutto il mondo…