NFS Setup · 4 min read · Dec 26, 2025

Impostare un server e un client NFS su Debian Lenny

Impostare un server e un client NFS su Debian Lenny

Versione 1.0
Autore: Falko Timme

Questa guida spiega come impostare un server NFS e un client NFS su Debian Lenny. NFS sta per Network File System; tramite NFS, un client può accedere (leggere, scrivere) a una condivisione remota su un server NFS come se fosse sul disco rigido locale.

Non rilascio alcuna garanzia che questo funzionerà per te!

1 Nota preliminare

Sto usando due sistemi Debian qui:

  • Server NFS: server.example.com, indirizzo IP: 192.168.0.100
  • Client NFS: client.example.com, indirizzo IP: 192.168.0.101

2 Installazione di NFS

server:

Sul server NFS eseguiamo:

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

client:

Sul client possiamo installare NFS come segue:

apt-get install nfs-common portmap

3 Esportazione delle directory sul server

server:

Vorrei rendere le directory /home e /var/nfs accessibili al client; quindi dobbiamo “esportarle” sul server.

Quando un client accede a una condivisione NFS, questo normalmente avviene come utente nobody. Di solito la directory /home non è di proprietà di nobody (e non consiglio di cambiarne la proprietà a nobody!), e poiché vogliamo leggere e scrivere su /home, diciamo a NFS che gli accessi devono essere effettuati come root (se la nostra condivisione /home fosse stata di sola lettura, questo non sarebbe stato necessario). La directory /var/nfs non esiste, quindi possiamo crearla e cambiarne la proprietà a nobody e nogroup:

mkdir /var/nfs  
chown nobody:nogroup /var/nfs

Ora dobbiamo modificare /etc/exports dove “esportiamo” le nostre condivisioni NFS. Specifichiamo /home e /var/nfs come condivisioni NFS e diciamo a NFS di effettuare accessi a /home come root (per saperne di più su /etc/exports, il suo formato e le opzioni disponibili, dai un’occhiata a

man 5 exports

)

vi /etc/exports

| # /etc/exports: la lista di controllo degli accessi per i filesystem che possono essere esportati # ai client NFS. Vedi exports(5). # # Esempio per NFSv2 e NFSv3: # /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check) # # Esempio per NFSv4: # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) # /home 192.168.0.101(rw,sync,no_root_squash,no_subtree_check) /var/nfs 192.168.0.101(rw,sync,no_subtree_check) |

(L’opzione no_root_squash fa sì che /home venga accessibile come root.)

Ogni volta che modifichiamo /etc/exports, dobbiamo eseguire

exportfs -a

dopo per rendere effettive le modifiche.

4 Montare le condivisioni NFS sul client

client:

Per prima cosa creiamo le directory dove vogliamo montare le condivisioni NFS, ad esempio:

mkdir -p /mnt/nfs/home  
mkdir -p /mnt/nfs/var/nfs

Dopo, possiamo montarle come segue:

mount 192.168.0.100:/home /mnt/nfs/home  
mount 192.168.0.100:/var/nfs /mnt/nfs/var/nfs

Dovresti ora vedere le due condivisioni NFS negli output di

df -h
client:~# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg0-root   19G  676M   17G   4% /  
tmpfs                 253M     0  253M   0% /lib/init/rw  
udev                   10M   80K   10M   1% /dev  
tmpfs                 253M     0  253M   0% /dev/shm  
/dev/sda1             471M   20M  427M   5% /boot  
192.168.0.100:/home    29G  684M   27G   3% /mnt/nfs/home  
192.168.0.100:/var/nfs  
                   29G  684M   27G   3% /mnt/nfs/var/nfs  
client:~#

ed

mount
client:~# mount  
/dev/mapper/vg0-root on / type ext3 (rw,errors=remount-ro)  
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)  
proc on /proc type proc (rw,noexec,nosuid,nodev)  
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)  
udev on /dev type tmpfs (rw,mode=0755)  
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)  
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)  
/dev/sda1 on /boot type ext3 (rw)  
192.168.0.100:/home on /mnt/nfs/home type nfs (rw,addr=192.168.0.100)  
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,addr=192.168.0.100)  
client:~#

5 Test

Sul client, ora puoi provare a creare file di test sulle condivisioni NFS:

client:

touch /mnt/nfs/home/test.txt  
touch /mnt/nfs/var/nfs/test.txt

Ora vai sul server e controlla se puoi vedere entrambi i file di test:

server:

ls -l /home/
server:~# ls -l /home/  
total 4  
drwxr-xr-x 2 administrator administrator 4096 2009-02-16 13:18 administrator  
-rw-r--r-- 1 root          root              0 2009-03-12 17:08 test.txt  
server:~#
ls -l /var/nfs
server:~# ls -l /var/nfs  
total 0  
-rw-r--r-- 1 nobody nogroup 0 2009-03-12 17:08 test.txt  
server:~#

(Nota i diversi proprietari dei file di test: la condivisione NFS /home viene accessibile come root, quindi /home/test.txt è di proprietà di root; la condivisione /var/nfs viene accessibile come nobody, quindi /var/nfs/test.txt è di proprietà di nobody.)

6 Montare le condivisioni NFS all’avvio

Invece di montare manualmente le condivisioni NFS sul client, puoi modificare /etc/fstab in modo che le condivisioni NFS vengano montate automaticamente quando il client si avvia.

client:

Apri /etc/fstab e aggiungi le seguenti righe:

vi /etc/fstab

| [...] 192.168.0.100:/home /mnt/nfs/home nfs rw,sync,hard,intr 0 0 192.168.0.100:/var/nfs /mnt/nfs/var/nfs nfs rw,sync,hard,intr 0 0 |

Invece di rw,sync,hard,intr puoi usare diverse opzioni di montaggio. Per saperne di più sulle opzioni disponibili, dai un’occhiata a

man nfs

Per testare se il tuo /etc/fstab modificato funziona, riavvia il client:

reboot

Dopo il riavvio, dovresti trovare le due condivisioni NFS negli output di

df -h
client:~# df -h  
Filesystem            Size  Used Avail Use% Mounted on  
/dev/mapper/vg0-root   19G  676M   17G   4% /  
tmpfs                 253M     0  253M   0% /lib/init/rw  
udev                   10M   80K   10M   1% /dev  
tmpfs                 253M     0  253M   0% /dev/shm  
/dev/sda1             471M   20M  427M   5% /boot  
192.168.0.100:/home    29G  684M   27G   3% /mnt/nfs/home  
192.168.0.100:/var/nfs  
                   29G  684M   27G   3% /mnt/nfs/var/nfs  
client:~#

ed

mount
client:~# mount  
/dev/mapper/vg0-root on / type ext3 (rw,errors=remount-ro)  
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)  
proc on /proc type proc (rw,noexec,nosuid,nodev)  
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)  
udev on /dev type tmpfs (rw,mode=0755)  
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)  
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)  
/dev/sda1 on /boot type ext3 (rw)  
192.168.0.100:/home on /mnt/nfs/home type nfs (rw,sync,hard,intr,addr=192.168.0.100)  
192.168.0.100:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,sync,hard,intr,addr=192.168.0.100)  
client:~#

7 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.