Ricerca nel sito web

Come installare server e client NFS su Ubuntu 22.04


Questo tutorial esiste per queste versioni del sistema operativo

  • Ubuntu 22.04 (Jammy Jellyfish)
  • Ubuntu 10.04 (Lucid Lynx)

Su questa pagina

  1. Prerequisiti
  2. Installazione e configurazione del server NFS
  3. Installa il pacchetto server NFS
  4. Impostazione della directory condivisa
  5. Protezione del server NFS con firewall
  6. Installazione e configurazione del client NFS
  7. Installazione del pacchetto client NFS
  8. Impostazione della directory di montaggio
  9. Verifica dell'accesso in scrittura al server NFS
  10. Monta automaticamente il server NFS con /etc/fstab
  11. Conclusione

Cos'è l'NFS? NFS o Network File System è un protocollo che consente agli utenti locali di accedere ai dati remoti da più dischi e directory allo stesso modo dell'accesso locale. Il protocollo NFS è stato originariamente sviluppato da Sun Microsystem ed è diventato il protocollo standard per la condivisione di file in rete. È ampiamente utilizzato in un ambiente centralizzato in cui gli utenti oi computer client saranno in grado di archiviare e accedere ai dati su/a un server remoto centralizzato.

Sulla maggior parte dei sistemi Linux, NFS può essere installato e configurato facilmente sia per NFS Server che per Client. Quasi tutte le distribuzioni Linux forniscono i pacchetti NFS per impostazione predefinita sul proprio repository. Il nome del pacchetto è diverso, ma la configurazione è sempre la stessa per quasi tutte le distribuzioni Linux.

In questo tutorial imparerai come installare il server e il client NFS sul server Ubuntu 22.04. Imparerai anche come montare automaticamente la directory condivisa NFS all'avvio del sistema sulla macchina client.

Prerequisiti

Questa guida richiede i seguenti prerequisiti:

  • Un server Ubuntu 22.04 - Per l'installazione del server NFS.
  • Una macchina client Linux - Questo esempio verrà utilizzato dalla macchina client Ubuntu.
  • Un utente non root con privilegi di root/amministratore.

Installazione e configurazione del server NFS

La prima cosa che farai qui è installare e configurare il server NFS. Prima di iniziare, accedi al tuo server e ottieni i privilegi di root.

Puoi accedere usando il comando ssh qui sotto. Quindi eseguire il comando \sudo su\ per ottenere i privilegi di root.

ssh 
sudo su

Installa il pacchetto server NFS

Prima di installare qualsiasi pacchetto, esegui il comando apt di seguito per aggiornare e aggiornare il tuo repository Ubuntu.

sudo apt update

Ora installa il pacchetto del server NFS usando il comando seguente. Immettere Y per confermare l'installazione e premere INVIO e l'installazione avrà inizio.

sudo apt install nfs-kernel-server

Al termine dell'installazione del server NFS, controllare e verificare il servizio del server NFS utilizzando il seguente comando. Nell'installazione di Ubuntu, il server NFS verrà abilitato automaticamente e verrà eseguito automaticamente all'avvio del sistema.

sudo systemctl is-enabled nfs-server
sudo systemctl status nfs-server

Sul server Ubuntu 22.04, la configurazione NFS è cambiata. La configurazione principale per NFS si trova nel file \/etc/nfs.conf\, che consente di impostare e configurare il server NFS. Un'altra configurazione per il servizio NFS si trova in \/etc/default/nfs-*\, questa può essere utilizzata per impostare il servizio NFS su come il servizio verrà eseguito.

Inoltre, le versioni NFS predefinite abilitate nell'installazione predefinita sono NFSv3 e NFSv4. È possibile controllare le versioni NFS abilitate predefinite utilizzando il comando seguente.

cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2

Configurazione della directory condivisa

Dopo aver installato il pacchetto del server NFS, ora configurerai le directory condivise. Le directory condivise NFS possono essere definite tramite il file \/etc/exports\. Inoltre, è possibile specificare l'indirizzo IP del client per la directory condivisa o configurare la lettura/scrittura nella directory condivisa.

Esegui il comando seguente per creare nuove directory condivise. In questo esempio, saranno disponibili due directory condivise per i client, \/srv/backups\ e \/mnt/shared\.

sudo mkdir -p /srv/backups /mnt/shared

Ora cambia la proprietà e l'autorizzazione delle directory condivise usando il comando seguente. L'utente e il gruppo devono essere \nobody:nogroup\ e l'autorizzazione sarà \777\ per garantire che le directory condivise siano scrivibili.

sudo chown -R nobody:nogroup /srv/backups /mnt/shared
sudo chmod 777 /srv/backups /mnt/shared

Successivamente, modifica il file \/etc/exports\ utilizzando il seguente comando.

sudo nano /etc/exports

Aggiungere la seguente configurazione al file.

/srv/backups  192.168.5.100(rw,sync,no_subtree_check)
/mnt/shared 192.168.10.0/24(rw,sync,no_subtree_check)

Salva e chiudi il file quando hai finito.

  • La directory \/srv/backups\ sarà disponibile solo per il client NFS con indirizzo IP \192.168.5.100\.
  • La directory \/mnt/shared\ sarà disponibile per tutti i client nell'intera rete \192.168.10.0/24\.
  • rw - abilita lettura e scrittura per la directory condivisa.
  • sync - consente a NFS di scrivere le modifiche prima di rispondere alle macchine client e assicura che il server NFS sia sempre presentato ai client.
  • no_subtree_check - disabilita il controllo del sottoalbero e assicura che non ci saranno conflitti quando gli utenti cambiano il nome del file.

Successivamente, esegui il seguente comando per applicare ed esportare tutte le directory. Se non ricevi alcun messaggio, le tue impostazioni sono corrette.

sudo exportfs -a

Ora esegui il seguente comando per riavviare e verificare il servizio NFS. E dovresti vedere che il servizio NFS è in esecuzione con una nuova directory esportata.

sudo systemctl restart nfs-server
sudo systemctl status nfs-server

Eseguire il seguente comando per controllare le directory condivise disponibili sul server NFS. Dovresti vedere due directory \/srv/backups\ e \/mnt/shared\ disponibili come directory condivise per i client.

sudo exportfs -v

Protezione del server NFS con firewall

Dopo aver configurato la directory condivisa NFS, è il momento di proteggere il server NFS utilizzando il firewall, in questo caso il firewall predefinito per Ubuntu è UFW.

Come puoi vedere in alto, ogni directory condivisa è accessibile tramite un indirizzo IP e una rete client specifici. Quindi sarà necessario specificare l'indirizzo IP o la rete del client nella regola del firewall UFW a cui sarà consentito l'accesso alla porta del servizio NFS.

Eseguire il comando ufw seguente per consentire all'indirizzo IP del client \192.168.5.100\ e alla rete \192.168.10.0/24\ di accedere alla porta del servizio NFS .

sudo ufw allow from 192.168.5.100 to any port nfs
sudo ufw allow from 192.168.10.0/24 to any port nfs

Ora ricarica la regola del firewall UFW e verifica l'elenco delle regole del firewall utilizzando il comando seguente. Dovresti vedere che la porta del servizio NFS predefinita \2049\ è accessibile tramite specifici indirizzi IP client e reti.

sudo ufw reload
sudo ufw status

Installazione e configurazione del client NFS

Dopo aver installato il server NFS, ora è il momento di configurare il client NFS e montare la directory condivisa sulla macchina client. In questo esempio, anche il client sarà una macchina Ubuntu.

Accedi al tuo computer client Ubuntu. Se stai usando Ubuntu Desktop, puoi semplicemente aprire il terminale sul tuo sistema. Ma se stai usando la versione di Ubuntu Server per il client, puoi connetterti usando il comando ssh come di seguito.

ssh 

Installazione del pacchetto client NFS

Il primo passo che farai sulla macchina client è installare il pacchetto \nfs-common\ che ti permette di montare il server NFS sulla tua macchina client.

Esegui il comando apt di seguito per aggiornare e aggiornare i tuoi repository Ubuntu.

sudo apt update

Ora installa il pacchetto \nfs-common\ usando il seguente comando. Immettere Y per confermare l'installazione e premere INVIO. Ora inizierà l'installazione.

sudo apt install nfs-common

Configurazione della directory di montaggio

Prima di iniziare a montare la directory condivisa NFS, creerai una nuova directory specifica per la destinazione di montaggio. In questo esempio. la directory di destinazione per il montaggio delle condivisioni NFS è la directory \/mnt/data\.

Esegui il comando seguente per creare una nuova directory \/mnt/data\.

sudo mkdir -p /mnt/data

Per montare la directory condivisa NFS, eseguire il comando mount di seguito. In questa demo, monterai la directory condivisa \/srv/backups\ nella directory di destinazione \/mnt/data\.

sudo mount nfs_server_ip:/srv/backups /mnt/data

Ora esegui il seguente comando per controllare e verificare l'elenco dei dischi montati sulla tua macchina Ubuntu. Dovresti vedere che la directory condivisa NFS \/srv/backups\ è montata sulla tua macchina locale nella directory \/mnt/data\.

sudo df -h

Verifica dell'accesso in scrittura al server NFS

Dopo aver montato correttamente la directory condivisa NFS, è il momento di verificare l'accesso in scrittura alla directory condivisa NFS.

Ora esegui il seguente comando per creare e scrivere un nuovo file \write.txt\ nella directory montata di destinazione NFS \/mnt/data/\.

echo "This file from client" > /mnt/data/write.txt
cat /mnt/data/write.txt

Successivamente, torna al server NFS ed esegui il seguente comando per controllare e verificare il file \write.txt\. Dovresti vedere esattamente lo stesso file che hai appena creato dal computer client NFS.

cat /srv/backups/write.txt
ls /srv/backups/

Monta automaticamente il server NFS con /etc/fstab

A questo punto, hai montato con successo la directory condivisa NFS sulla macchina client Ubuntu e verificato l'accesso in scrittura sulla directory condivisa. Ora imposterai la directory condivisa NFS in modo che venga montata automaticamente durante l'avvio del sistema, e questo può essere fatto tramite il file /etc/fstab.

Prima di modificare il file /etc/fstab, eseguire il seguente comando per smontare la directory condivisa NFS dalla destinazione \/mnt/data\.

sudo umount /mnt/data

Modifica il file \/etc/fstab\ utilizzando il comando seguente.

sudo nano /etc/fstab

Aggiungere la seguente configurazione al file.

nfs_server_ip:/srv/backups    /mnt/data   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Salva e chiudi il file quando hai finito.

Successivamente, esegui il comando mount qui sotto per controllare e verificare il file \/etc/fstab\. Se la tua configurazione è corretta, tutti i filesystem nel file \/etc/fstab\ verranno montati sulla tua macchina.

sudo mount -a

Verificare l'elenco dei dischi montati sul computer client utilizzando il comando seguente. E dovresti vedere che la directory condivisa NFS \/srv/backups\ è montata nella directory di destinazione \/mnt/data\. Se riavvii/riavvii la macchina client, la directory condivisa NFS verrà automaticamente montata nella directory \/mnt/data\.

sudo df -h

Conclusione

Congratulazioni! Ora hai installato correttamente il server NFS sul server Ubuntu 22.04. hai anche protetto l'accesso al server NFS utilizzando il firewall UFW. Alla fine, hai anche imparato come configurare una macchina client Ubuntu per montare la directory condivisa NFS, che include come montare automaticamente la directory condivisa NFS all'avvio del sistema tramite il file \/etc/fstab\.