Nfs-kernel-server: condividere risorse tra macchine GNU/Linux

Da Guide@Debianizzati.Org.
Versione del 8 feb 2011 alle 14:02 di Stemby (discussione | contributi) (revisione)
Vai alla navigazione Vai alla ricerca
Debian-swirl.png Versioni Compatibili

Tutte le versioni supportate di Debian

Introduzione

Uno dei modi più semplici per condividere risorse tra macchine GNU/Linux è l'uso di Network File System. Il funzionamento è semplice: una macchina server mette a disposizione la risorsa (ovvero una directory del proprio file system); altre macchine client vi accedono come fosse una directory del proprio file system.

Ora si vedranno entrambe le impostazioni, lato server e lato client.

Impostazione lato server

Info.png Convenzione
IP della macchina server: 192.168.1.10; directory da condividere: /media/storage


Installare i pacchetti necessari:

# apt-get install nfs-kernel-server portmap

Ora editare col vostro editor preferito (gedit, kate, vim, ...) il file /etc/exports ed aggiungere la seguente riga:

/media/storage      192.168.1.0/24(rw,sync,no_subtree_check)

Nota:

  • 192.168.1.0/24 indica l'abilitazione a tutte le macchine della rete 192.168.1
    • se si vuole abilitare una o determinate macchine basta specificarne l'IP
  • rw indica che tutti hanno i permessi di lettura e scrittura
    • se si vogliono dare solo i permessi di lettura, sostituire rw con ro
  • /media/storage è la directory del nostro filesystem che vogliamo condividere

Completare dando ai vari client i permessi per l'accesso alla macchina server: editare il file /etc/hosts.allow ed inserire

portmap: 192.168.1

Come si capisce, in questo modo si da il permesso di accedere a tutta la LAN; se si vogliono delle restrizioni agire di conseguenza inserendo l'indirizzo specifico del/i client.

Ora lanciamo il demone e rendiamo disponibile la directory condivisa:

# /etc/init.d/nfs-kernel-server start 
# exportfs -a

Impostazione lato client

Installare i pacchetti necessari

# apt-get install nfs-common portmap

creare la dirctory dove si vuol montare la directory condivisa, esempio: /media/condivisa

# mkdir /media/condivisa

editare il file /etc/fstab ed inserire

192.168.1.10:/media/storage /media/condivisa nfs rw,auto,hard  0   0

Nota:

  • 192.168.1.10:/media/storage sono l'indirizzo e la directory del server
    • aggiungere tante entry quante sono le directory condivise
  • /media/condivisa è la directory dove sarà montata la risorsa
  • nfs è il tipo di file system
  • rw sono i permessi di lettura e scrittura
    • modificare in ro se si desideramo solo permessi di lettura
  • auto la risorsa viene montata automaticamente
    • modificare in noauto se si vuole montare la partizione manualmente

Editare il file /etc/hosts.allow ed aggiungere

portmap: 192.168.1.10

Ora avviare il demone e montare la partizione:

# /etc/init.d/nfs-common start
# mount -a

Conclusioni

Come scritto all'inizio questo è il modo più semplice per condividere risorse tra macchine GNU/Linux; queste impostazioni sono adatte ad una rete privata, dove non ci sono problemi di sicurezza, visto che ho lasciato abilitato la condivisione a tutta la LAN. Se si vuole fare una condivisione più mirata o selettiva

man nfs

e

man portmap

xtow