Introduzione
Network File System (NFS) è un file system che consente l'accesso locale a file remoti da più posizioni all'interno di una rete. Per questo accesso, NFS utilizza l'architettura client/server standard, supportando la condivisione tra macchine Linux, indipendentemente dalla loro distribuzione.
In questo tutorial imparerai come installare e configurare il server e i client NFS su Ubuntu.
Prerequisiti
- Due o più macchine Ubuntu
- Accesso alla riga di comando/terminale
- Privilegi di sudo su tutte le macchine
Configura il lato host NFS
I passaggi di questo tutorial coprono l'installazione e la configurazione di NFS su Ubuntu e altre distribuzioni basate su Debian. Altre distribuzioni Linux, come Fedora e CentOS/RHEL, presentano una sintassi dei comandi leggermente diversa. Tuttavia, il processo segue lo stesso schema.
Installa il server del kernel NFS
Inizia a configurare NFS scegliendo una macchina host.
Quindi, aggiorna il repository del pacchetto:
sudo apt update
Quindi, installa il server del kernel NFS sulla macchina che hai scelto con il seguente comando:
sudo apt install nfs-kernel-server
Digita "y" e premere INVIO per avviare l'installazione.
Configura directory condivisa
Sulla macchina host, creare una directory che si desidera condividere con il sistema client. Scegli il nome che desideri.
sudo mkdir -p /mnt/nfsdir
Modifica l'utente proprietario e il gruppo in nessuno e nessun gruppo . Questa impostazione rende pubblica la cartella:
sudo chown nobody:nogroup /mnt/nfsdir
Imposta le autorizzazioni su 777 , in modo che tutti possano leggere, scrivere ed eseguire file in questa cartella:
sudo chmod 777 /mnt/nfsdir
Modifica il file di esportazione NFS per concedere l'accesso al server ai client
L'autorizzazione ad accedere alla macchina del server host è concessa nel file di esportazione che si trova in /etc directory. Apri il file con un editor di testo a tua scelta, questo tutorial utilizza Vi:
sudo vi /etc/exports
Per ogni cliente a cui vuoi concedere l'accesso, aggiungi questa riga al file:
/mnt/nfsdir clientIP(rw,sync,no_subtree_check)
Esci dal file e salva le modifiche
Le opzioni tra parentesi hanno le seguenti funzioni:
- “rw L'opzione ” fornisce ai client l'accesso in lettura e scrittura alle directory sul server.
- "sincronizzazione ” forza NFS a scrivere le modifiche prima di rispondere al client. Questa opzione garantisce che lo stato dell'host sia presentato in modo accurato ai client.
- “no_subtree_check ” disabilita la sottostruttura controllo. Il processo della sottostruttura può causare problemi quando gli utenti rinominano i file.
Esporta directory condivisa
Dopo aver apportato le modifiche necessarie in /etc/exports , usa exportfs
comando per esportare tutte le directory condivise che hai registrato in quel file:
sudo exportfs -a
Quindi, riavvia il server del kernel NFS per applicare le modifiche alla configurazione:
sudo systemctl restart nfs-kernel-server
Se utilizzi UFW, devi consentire ai client di accedere al server:
sudo ufw allow from [clientIP or clientSubnetIP] to any port nfs
L'output conferma l'aggiunta dell'indirizzo IP:
Per assicurarti di aver completato con successo l'operazione, digita:
sudo ufw status
Cerca nell'output l'indirizzo IP che hai aggiunto:
Configurazione lato client NFS
Esegui i seguenti passaggi su tutti i computer che desideri configurare come client per la condivisione.
Installa NFS Common
Per abilitare NFS sui computer client, installa il pacchetto comune NFS:
sudo apt update
sudo apt install nfs-common
Digitare "y" e premere INVIO per avviare l'installazione.
Imposta un punto di montaggio
La macchina client necessita di un punto di montaggio per la directory condivisa esportata dal server.
Crea una directory digitando:
sudo mkdir -p /mnt/nfsdir_client
Per montare la directory condivisa sul punto di montaggio, utilizzare il comando seguente:
sudo mount host_IP:/mnt/nfsdir /mnt/nfsdir_client
Usa il df -h
comando per verificare se la cartella è stata montata correttamente:
Quando non hai più bisogno della cartella condivisa, smontala digitando:
sudo umount /mnt/nfsdir_client
Monta directory condivise NFS all'avvio del sistema operativo
Se vuoi che le cartelle rimangano montate anche dopo aver riavviato la macchina, dovrai aggiungerle a /etc/fstab file.
Per modificare il file /etc/fstab, inserisci:
sudo vim /etc/fstab
Copia la seguente riga in fondo al file, sostituendo "host_IP" con l'indirizzo IP effettivo dell'host:
IP_host:/mnt/nfsdir /mnt/nsfdir_client nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
Aggiungi questa riga per ogni cartella di cui hai bisogno. In questo modo, tutte le cartelle dell'elenco verranno montate automaticamente ad ogni avvio.