NFS sta per Network File System, un servizio che ti aiuta a condividere file e cartelle tra sistemi *nix / Linux, sviluppato da SUN Microsystems nel 1990.
NFS ti consente di montare una condivisione remota come un disco locale. Questo post ti aiuta a configurare il server NFS su Debian 9 / Ubuntu 16.04 .
Ambiente
Questa guida dovrebbe funzionare anche su versioni precedenti di Debian come Debian 8 e Ubuntu versioni come Ubuntu 17.10 / 17.04 / 15.10 / 15.04 / Ubuntu 14.04 .
Ecco i dettagli dei miei nodi.
Nome host del server NFS:server.itzgeek.local
Indirizzo IP del server NFS:192.168.1.10 /24
Nome host client NFS:client.itzgeek.local
Indirizzo IP client NFS:192.168.1.20/24
Usa indirizzo IP statico sia sul server NFS che sul client per evitare problemi di rete dovuti alla mancata disponibilità del server DHCP .
Servizi importanti
rpcbind :rpcbind è un server che converte i numeri di programma RPC in indirizzi universali.
nfs :consente ai client di accedere alle condivisioni NFS.
nlockmgr :il blocco dei file NFS implementa il ripristino del blocco dei file quando un server NFS si arresta in modo anomalo e si riavvia.
montato :gestisce l'elenco di controllo di accesso per determinare se il client è autorizzato ad accedere a una condivisione NFS.
File di configurazione importanti
Lavorerai sui seguenti file di configurazione durante la configurazione di server e client NFS.
/etc/exports :Il file di configurazione principale. In questo file menzionerai il filesystem che desideri esportare su host remoti con specifiche opzioni.
/etc/fstab :questo file contiene voci per montare tutti i file system incluso NFS all'avvio del sistema, automaticamente.
/etc/hosts.allow e /etc/hosts.deny :Questi file sono chiamati TCP wrapper, utilizzati da NFS per decidere se accettare o meno connessioni provenienti da indirizzi IP esterni
Installa e configura il server NFS
Passa all'utente root.
sudo su -
O
su -
Installa i pacchetti NFS sul server NFS usando il comando seguente.
apt-get install -y nfs-kernel-server
Crea condivisione NFS
Creiamo una directory che vogliamo condividere con le macchine client. Qui creeremo una nuova directory denominata nfsshare in / partizionare e condividerlo su NFS.
Puoi anche utilizzare la tua directory esistente per NFS.
mkdir /nfsshare
Consenti ai computer client di leggere e scrivere nella directory creata.
chmod 777 /nfsshare/
Esporta condivisione NFS
Modifica /etc/exports file per l'esportazione della condivisione NFS.
vi /etc/exports
Inserisci una voce nella directory /nfsshare per esportare come condivisione NFS.
/nfsshare 192.168.1.20(rw,sync,no_root_squash,no_subtree_check)
Dove,
/nfsshare :una directory condivisa
192.168.1.20 :indirizzo IP della macchina client. È possibile utilizzare il nome host invece di un indirizzo IP. Inoltre, puoi menzionare sottoreti come 192.168.1.0/24 nel caso in cui desideri condividerlo su più macchine.
rw :Autorizzazione scrivibile a una cartella condivisa
sincronizzazione :tutte le modifiche al filesystem vengono immediatamente scaricate su disco; le rispettive operazioni di scrittura sono in attesa.
no_root_squash :Per impostazione predefinita, qualsiasi file creato dall'utente root sulla macchina client viene trattato come "nessuno" sul server. Se no_root_squash è impostato, allora root sulla macchina client avrà lo stesso livello di accesso ai file, come root sul server.
no_subtree_check :se viene esportata solo una parte di un volume, una routine denominata controllo del sottoalbero verifica che un file richiesto dal client si trovi nella parte appropriata del volume. Se l'intero volume viene esportato, disabilitalo con no_subtree_check; questo accelererà i trasferimenti.
Puoi conoscere tutte le opzioni nella pagina man (esportazioni man) o qui.
Usa il comando seguente per esportare le directory condivise.
exportfs -ra
Verifica la condivisione esportata utilizzando il comando seguente.
showmount -e 127.0.0.1
Il comando showmount -e elenca le condivisioni disponibili sul computer locale (server NFS). L'uscita
Risultato:
Export list for 127.0.0.1: /nfsshare 192.168.1.20
Configura client NFS
Abbiamo bisogno di installare il pacchetto nfs-common sulla macchina client per montare un filesystem remoto.
Assicurati di essere in esecuzione comandi come utente root.
apt-get -y install nfs-common
Monta condivisioni NFS sul client
Prima di montare la condivisione NFS, esegui il comando showmount sul computer client per vedere se la condivisione NFS dal server è visibile o meno.
showmount -e 192.168.1.10
Risultato:
Export list for 192.168.1.10: /nfsshare 192.168.1.20
Come da comando, il /nfshare è disponibile su 192.168.1.10 (server) per 192.168.1.20 (client) .
showmount -e
Crea una directory /condividi sul computer client per montare la directory condivisa.
mkdir /mnt/share
Usa il comando mount per montare una directory condivisa /nfsshare dal server NFS (192.168.1.10) in /mnt/share sul computer client .
mount 192.168.1.10:/nfsshare /mnt/share
Verifica la condivisione montata sul computer client utilizzando il montaggio comando.
mount | grep nfs
Risultato:

Puoi anche usare il comando df per controllare le condivisioni NFS montate.
df -hT
Risultato:

Crea un file nella directory montata per verificare la condivisione NFS dei permessi di lettura e scrittura.
touch /mnt/share/test
Se il comando precedente non restituisce errori, puoi montare in modo permanente condivisioni NFS.
Montaggio automatico delle condivisioni NFS
Per montare automaticamente le condivisioni NFS ad ogni riavvio, devi modificare /etc/fstab file sul tuo sistema client.
vi /etc/fstab
Aggiungi la riga sottostante alla fine del file.
192.168.1.10:/nfsshare/ /mnt/share nfs rw,sync,hard,intr 0 0

Salva e chiudi il file.
Riavvia la macchina client e controlla se la condivisione NFS è montata automaticamente o meno.
reboot
Verifica la condivisione montata sul client-server utilizzando il comando mount.
mount | grep nfs
Per smontare la directory condivisa dalla tua macchina client, usa il comando umount per smontarla.
umount /mnt/share
Puoi configurare AutoFS su Debian / Ubuntu per montare condivisioni NFS solo quando un utente vi accede.
È tutto. Hai impostato correttamente il server NFS su Debian 9 / Ubuntu 16.04 .