NFS Setup · 4 min read · Dec 26, 2025
Impostare un Server e un Client NFS su Debian Wheezy
Questa guida spiega come impostare un server NFS e un client NFS su Debian Wheezy. NFS sta per Network File System; attraverso NFS, un client può accedere (leggere, scrivere) a una condivisione remota su un server NFS come se fosse sul disco rigido locale. In questo tutorial, ti mostrerò due diverse esportazioni NFS, l’esportazione di una directory client che memorizza file come utente nobody/nogroup senza preservare i permessi del filesystem e un’esportazione della directory /var/www che preserva i permessi e la proprietà dei file, come richiesto in una configurazione di server di hosting.
1 Nota Preliminare
Sto utilizzando qui due sistemi Debian Wheezy:
- 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-commonPoi creiamo i collegamenti di avvio del sistema per il server NFS e lo avviamo:
client:
Sul client possiamo installare NFS come segue (questo è in realtà lo stesso che sul server):
apt-get install nfs-common3 Esportazione delle Directory sul Server
server:
Vorrei rendere le directory /home/client1 e /var/www accessibili al client per mostrare i due diversi modi di accesso del server NFS. La directory /home/client1 è condivisa in modalità standard, quindi tutti i file scritti in questa directory sono memorizzati come utente nobody e gruppo nogroup. Per la directory /var/www utilizzo l’opzione no_root_squash che istruisce il server NFS a preservare i permessi e la proprietà dei file. Questo è ad esempio richiesto quando si desidera esportare la directory /var/www di un server web gestito con ISPConfig 3.
Prima, creerò la directory /home/client1
mkdir /home/client1
chown nobody:nogroup /home/client1
chmod 755 /home/client1La directory /var/www esiste molto probabilmente sul tuo server. Se non esiste, creala:
mkdir /var/www
chown root:root /var/www
chmod 755 /var/wwwOra dobbiamo modificare /etc/exports dove “esportiamo” le nostre condivisioni NFS. Specifichiamo /home/client1 e /var/www come condivisioni NFS e diciamo a NFS di effettuare accessi a /home/client1 come utente nobody (per saperne di più su /etc/exports, il suo formato e le opzioni disponibili, dai un’occhiata a
man 5 exports)
vi /etc/exports/home/client1 192.168.0.101(rw,sync,no_subtree_check)
/var/www 192.168.0.101(rw,sync,fsid=0,crossmnt,no_subtree_check,no_root_squash)(L’opzione no_root_squash fa sì che /var/www venga accessibile come root.)
Per applicare le modifiche in /etc/exports, riavviamo il server NFS del kernel
/etc/init.d/nfs-kernel-server restart4 Montare le Condivisioni NFS sul Client
client:
Prima, creiamo le directory dove vogliamo montare le condivisioni NFS, ad esempio:
mkdir -p /mnt/nfs/home/client1
mkdir -p /var/wwwSe la directory /var/www esiste già sul tuo server, allora ferma apache, rinomina la directory e crea una nuova directory vuota come punto di montaggio
/etc/init.d/apache2 stop
mv /var/www /var/www_bak
mkdir -p /var/wwwDopo, possiamo montarle come segue:
mount 192.168.0.100:/home/client1 /mnt/nfs/home/client1
mount 192.168.0.100:/var/www /var/wwwOra dovresti vedere le due condivisioni NFS negli output di
df -h[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server2-LogVol00
9.7G 1.7G 7.5G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 504M 39M 440M 9% /boot
192.168.0.100:/home/client1 9.7G 1.7G 7.5G 19% /mnt/nfs/home/client1
192.168.0.100:/var/www
9.7G 1.7G 7.5G 19% /var/www
[root@client ~]#e
mount[root@client ~]# mount
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/home/client1 on /mnt/nfs/home/client1 type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/www on /var/www type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#5 Test
Sul client, ora puoi provare a creare file di test sulle condivisioni NFS:
client:
touch /mnt/nfs/home/client1/test.txt
touch /var/www/test.txtOra vai sul server e controlla se puoi vedere entrambi i file di test:
server:
ls -l /home/client1/[root@server ~]# ls -l /home/client1
total 0
-rw-r--r-- 1 nobody nogroup 0 Feb 02 16:58 test.txt
[root@server ~]#ls -l /var/nfs[root@server ~]# ls -l /var/www
total 0
-rw-r--r-- 1 root root 0 Feb 02 16:58 test.txt
[root@server ~]#(Nota i diversi proprietari dei file di test: la condivisione NFS /home/client1 viene accessibile come nobody / nogroup ed è di proprietà di nobody / nogroup; la condivisione /var/www viene accessibile come root, quindi /var/www/test.txt è di proprietà dell’utente e del gruppo root.)
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/client1 /mnt/nfs/home/client1 nfs rw,sync,hard,intr 0 0
192.168.0.100:/var/www /var/www nfs rw,sync,hard,intr 0 0Invece di rw,sync,hard,intr puoi usare diverse opzioni di montaggio. Per saperne di più sulle opzioni disponibili, dai un’occhiata a
man nfsPer testare se il tuo /etc/fstab modificato funziona, smonta le condivisioni e esegui mount -a:
umount /mnt/nfs/home/client1
umount /var/www
mount -aOra dovresti vedere le due condivisioni NFS negli output di
df -h[root@client ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server2-LogVol00
9.7G 1.7G 7.5G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 504M 39M 440M 9% /boot
192.168.0.100:/home/client1 9.7G 1.7G 7.5G 19% /mnt/nfs/home/client1
192.168.0.100:/var/www
9.7G 1.7G 7.5G 19% /var/www
[root@client ~]#e
mount[root@client ~]# mount
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/home/client1 on /mnt/nfs/home/client1 type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/www on /var/www type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#7 Crediti
Questo tutorial è basato sul tutorial del server NFS di Centos di Falko Timme.
8 Link
- Linux NFS: http://nfs.sourceforge.net/
- Debian: http://www.debian.org/
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.