08/08/2008 - Linux Feed

LINUX « E-Pillole



NFS - Condivisione file Debian Ubuntu

Post inserito il 11/02/2008 da Fede in Guide Debian Ubuntu

La condivisione delle risorse all'interno di una rete privata, qualunque sia la dimensione e il numero di PC coinvolti, è uno degli aspetti principali di ogni LAN che si rispetti, e a pensarci bene, è una delle prime cose che si configurano quando si installa un sistema operativo, server o client che sia :)

Condividere file e cartelle all'interno di una rete popolata unicamente da sistemi operativi Unix & derivati (GNU/Linux, BSD, SUN) è estremamente semplice sia lato server che lato client e la soluzione migliore si chiama: NFS - Network File System.

P.S. In realtà, pare sia possibile utilizzare il protocollo NFS anche su window$ (mai provato), ma evitiamo, dato che per tale scopo lo strumento più adatto è un altro e si chiama Samba.

Tornando a noi, in questo "breve tutorial" vedremo quindi, in modo molto semplice ed intuitivo, come condividere file e cartelle su Debian e Ubuntu utilizzando il protocollo NFS.

NFS- Condivisione file Debian Ubuntu

Essendo sempre più sicuro e preferibile utilizzare gli indirizzi IP anzichè hostnames e/o domain names, partiremo dal presupposto che la macchina su cui risiedono i file e le cartelle da condividere abbia IP fisso, e per prima cosa installeremo e configureremo il necessario per rendere possibile la condivisione lato server.

Una volta sistemato il server, ci occuperemo poi dei client, installando tutto ciò che serve per visualizzare e interagire con le risorse condivise.

Installazione configurazione NFS lato server Debian Ubuntu

Come detto in precedenza, per evitare di dover mettere mano alla configurazione lato client ad ogni cambio di IP del server, prima di tutto assicuriamoci che la nostra macchina server abbia un ip statico.

Per farlo, è sufficiente controllare, e nel caso modificare, il file /etc/network/interfaces nel quale dovrà essere presente una sezione simile a questa:

# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.10.100
        netmask 255.255.255.0
        network 192.168.10.0
        broadcast 192.168.10.255
        gateway 192.168.10.1

dove, eth0 è l'interfaccia di rete sulla quale vogliamo condividere le nostre risorse, address è l'IP statico della macchina (in questo caso 192.168.10.100), e 192.168.10.1-192.168.10.255 il range di IP della nostra rete.

Verificato questo aspetto, possiamo installare sulla nostra Debian e Ubuntu tutti i pacchetti necessari lato server:

sudo apt-get install nfs-common nfs-kernel-server portmap

Completata l'installazione, è ora il momento di configurare la condivisione NFS, indicando al server quali sono le cartelle che si vogliono condividere.

A tale scopo, sarà sufficiente editare il file /etc/exports con il proprio editor di fiducia:

sudo nano /etc/exports

ed aggiungere quanto segue per ogni cartella che si vorrà condividere:

/directory/condivisa 192.168.10.0/24(rw,sync)

In questo modo, la cartella condivisa sarà visibile in lettura e scrittura a tutti i client della propria LAN. Nel caso in cui vogliate condividere la risorsa in sola lettura, sarà sufficiente modificare l'opzione rw in ro:

/directory/condivisa 192.168.10.0/24(ro,sync)

Editato secondo le proprie necessità il file /etc/exports, per rendere effettiva la configurazione NFS lato server della vostra Debian o Ubuntu, digitate:

sudo exportfs -ra

N.B. il comando dato in precedenza, dovrà essere eseguito ogni volta che verrà modificato il file /etc/exports

Ora, se la sicurezza della vostra rete non è un problema, e la vostra LAN è composta da poche macchine e tutte di fiducia (trusted), potete tranquillamente fermarvi qui, e passare direttamente alla configurazione lato client.

Al contrario, se dovete garantire ai vostri dati condivisi un livello di sicurezza superiore e volete rendere accessibili le cartelle condivise sul server, o negarne l'accesso, solo ed esclusivamente a determinati client, sarà necessaria qualche configurazione supplementare.

Facciamo qualche esempio per capire la logica di base...

Per garantire l'accesso solo a determinati client e negare l'accesso a tutti gli altri, bisognerà editare i seguenti files in questo modo:

- /etc/hosts.allow

portmap mountd nfsd statd lockd rquotad : 192.168.10.12 192.168.10.190 ecc...

- /etc/hosts.deny

portmap mountd nfsd statd lockd rquotad : ALL

Per negare l'accesso solo a determinati IP, e garantire l'accesso a tutti gli altri, bisognerà editare i seguenti files in questo modo:

- /etc/hosts.allow

portmap mountd nfsd statd lockd rquotad : ALL

- /etc/hosts.deny

portmap mountd nfsd statd lockd rquotad : 192.168.10.12 192.168.10.190 ecc...

Chiaro no?? In generale quindi, senza addentrarci troppo in configurazioni "paranoiche", NFS controllerà prima di tutto eventuali indirizzi IP specificati nel file /etc/hosts.allow, successivamente controllerà quelli presenti nel file /etc/hosts.deny e infine deciderà chi avrà il permesso di visualizzare le risorse condivise e chi non.

A questo punto, lato server è tutto configurato a dovere e si può procedere con l'installazione e la configurazione lato client.

Prima però, ricordatevi che nel caso abbiate modificato i files /etc/hosts.allow e /etc/hosts.deny sarà necessario riavviare i servizi che gestiscono la condivisione NFS lato server sulla vostra Debian/Ubuntu. In particolare:

sudo /etc/init.d/nfs-kernel-server restart

sudo /etc/init.d/portmap restart

N.B. i comandi dati in precedenza, dovranno essere eseguiti ogni volta che verranno apportate delle modifiche ai files /etc/hosts.allow e /etc/hosts.deny

Installazione configurazione NFS lato client Debian Ubuntu

Configurato a dovere il server, bisognerà ora fare in modo che i client Debian e Ubuntu presenti nella vostra LAN siano in grado di interagire con le risorse condivise dal server.

Molto semplicemente, basterà installare su ogni client i pacchetti necessari:

sudo apt-get install nfs-common portmap

creare un punto di mount (in questo caso sul Desktop):

mkdir ~/Desktop/nfs

e montare la risorsa condivisa in questo modo:

sudo mount -t nfs 192.168.10.100:/directory/condivisa ~/Desktop/nfs

Controllate che file e cartelle condivise siano visibili, e se tutto funziona correttamente, per evitare di dover digitare il comando precedente ogni volta che riavvierete i vostri client, sarà sufficiente mettere mano al file /etc/fstab:

sudo nano /etc/fstab

e aggiungere quanto segue:

#LAN_SHARE
192.168.10.100:/directory/condivisa /home/fede/Desktop/nfs nfs rw,auto,hard 0 0

Per quanto riguarda le opzioni utilizzate nell'esempio:

- rw garantisce permessi in lettura e scrittura (da sostituire con ro nel caso vogliate montare la risorsa condivisa in sola lettura);

- auto garantisce il mount della risorsa condivisa in automatico all'avvio (da sostituire con noauto nel caso in cui la risorsa condivisa non sia sempre disponibile);

- hard forza il mount in automatico al boot;

Per ogni altra opzione di mount, fate riferimento direttamente alla pagina di manuale del comando mount.

E' tutto, controllate per l'ultima volta che sia tutto OK riavviando sia il server che i vari client, verificate che le cartelle condivise siano visibili e montate in automatico al boot, e buona condivisione :)


Post letto 3529 volte | Commenti (6) | Bookmark   del.icio.us    segnalo


Commento postato da Herod2k il 11/02/2008
Per windows c'è SFU (Services for UNIX)
http://technet.microsoft.com/en­-us/interopmigration/bb380242.aspx
no­n­ è male funziona abbastanza bene, ce l'avevo sul portatile dove avevo una partizione windows, è un'addon gratuito che si trova sul sito della Microsoft, non so se ora con Windows Vista lo fanno ancora.

Ciao

H2K

Commento postato da Herod2k il 11/02/2008
Ops, non mi ero accorto che lo avevi linkato :D

Commento postato da Fede il 11/02/2008
@Herod2k

un pò di tempo fa, mi ero interessato alla cosa, ma alla fine non l'avevo + provato...

era nei bookmark e l'ho linkato sperando proprio che qualche buon anima passasse di qui lasciando un commento positivo :)

a quanto pare, almeno su XP dovrebbe andare :)

thx

ciaociao

Commento postato da ugaciaka il 21/02/2008
ottima guida come sempre

Commento postato da Simone Borselli il 08/05/2008
Grazie mille per questo post. Mi è stato davvero utile.

La prima volta m'è riuscito al primo colpo, dopo una formattazione non ci riesco più, ma non importa, è bello sapere che ci sono persone che usano un po' del loro tempo per aiutrarti anche senza conoscerti..
Ciao

Commento postato da ricochet il 01/06/2008
Finalmente ho la mia piccola linux-lan !!
Mille grazie :)

Commenta Post

(opzionale)
(opzionale)


Codice antispam: Codice antispam