GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Installa NFS Server e Client su Ubuntu

NFS o Network File System è un protocollo di file system distribuito originariamente sviluppato solo da Sun Microsystems. Tramite NFS, puoi consentire a un sistema di condividere directory e file con altri su una rete. Condividendo i file NFS, gli utenti e persino i programmi possono accedere alle informazioni su sistemi remoti quasi come se fossero su una macchina locale.

NFS opera in un ambiente client-server in cui il server è responsabile della gestione dell'autenticazione, dell'autorizzazione e dell'amministrazione dei client, nonché di tutti i dati condivisi all'interno di un particolare file system. Dopo l'autorizzazione, un numero qualsiasi di client può accedere ai dati condivisi come se si trovassero nella loro memoria interna. Configurare un server NFS sul tuo sistema Ubuntu è molto semplice. Hai solo bisogno di eseguire alcune installazioni e configurazioni necessarie, sia sul server che sui computer client, e sei pronto per partire.

In questo articolo spiegheremo passo dopo passo come configurare un server e un client NFS che ti permetta di condividere file da un sistema Ubuntu a un altro.

Abbiamo eseguito i comandi e le procedure descritte in questo articolo su un sistema Ubuntu 18.04 LTS e recentemente li abbiamo testati con il nuovo Ubuntu 20.04. Poiché utilizziamo la riga di comando di Ubuntu, il terminale, per eseguire tutte le operazioni, puoi aprirlo utilizzando il trattino di sistema o la combinazione di tasti Ctrl+Alt+T.

Configurazione del server host

Per configurare il sistema host per condividere le directory, dovremo installare il server del kernel NFS su di esso, quindi creare ed esportare le directory a cui vogliamo che i sistemi client accedano. Segui questi passaggi per configurare senza problemi il lato host:

Passaggio 1:installa il server del kernel NFS

Prima di installare il server del kernel NFS, dobbiamo aggiornare l'indice del repository del nostro sistema con quello di Internet tramite il seguente comando apt come sudo:

$ sudo apt-get update

Il comando sopra ci consente di installare l'ultima versione disponibile di un software tramite i repository di Ubuntu.

Ora, esegui il seguente comando per installare NFS Kernel Server sul tuo sistema:

$ sudo apt install nfs-kernel-server

Il sistema ti chiederà con un'opzione S/n per confermare se vuoi continuare con l'installazione. Inserisci Y e quindi premi Invio per continuare, dopodiché il software verrà installato correttamente sul tuo sistema.

Fase 2:crea la directory di esportazione

La directory che vogliamo condividere con il sistema client è chiamata directory di esportazione. Puoi nominarlo secondo la tua scelta; qui, stiamo creando una directory di esportazione con il nome di "cartella condivisa" nella directory mnt(mount) del nostro sistema.

Utilizzare il comando seguente, specificando un nome di cartella di montaggio in base alle proprie necessità, tramite il seguente comando come root:

$ sudo mkdir -p /mnt/sharedfolder

Poiché vogliamo che tutti i client accedano alla directory, rimuoveremo i permessi restrittivi della cartella di esportazione tramite i seguenti comandi:

$ sudo chown nobody:nogroup /mnt/sharedfolder
$ sudo chmod 777 /mnt/sharedfolder

Ora tutti gli utenti di tutti i gruppi sul sistema client potranno accedere alla nostra "cartella condivisa".

Puoi creare tutte le sottocartelle nella cartella di esportazione che desideri, affinché il client possa accedervi.

Fase 3:Assegna l'accesso al server ai client tramite il file di esportazione NFS

Dopo aver creato la cartella di esportazione, dovremo fornire ai client l'autorizzazione per accedere alla macchina del server host. Questa autorizzazione è definita tramite il file di esportazione che si trova nella cartella /etc del tuo sistema. Utilizzare il comando seguente per aprire questo file tramite l'editor Nano:

$ sudo nano /etc/exports

La modifica di questo file richiede l'accesso come root; quindi dovrai usare sudo con il tuo comando. Puoi anche aprire il file in uno qualsiasi dei tuoi editor di testo preferiti.

Una volta aperto il file, puoi consentire l'accesso a:

  • Un singolo client aggiungendo la seguente riga nel file:
/mnt/sharedfolder clientIP(rw,sync,no_subtree_check)
  • Più client aggiungendo le seguenti righe nel file:
/mnt/sharedfolder client1IP(rw,sync,no_subtree_check)
/mnt/sharedfolder client2IP(rw,sync,no_subtree_check)
  • Più client, specificando un'intera sottorete a cui appartengono i client:
/mnt/sharedfolder subnetIP/24(rw,sync,no_subtree_check)

In questo esempio, stiamo specificando un'intera sottorete di tutti i client a cui vogliamo concedere l'accesso alla nostra cartella di esportazione (cartella condivisa):

Aggiungi le righe richieste al file di esportazione, quindi salvalo premendo Ctrl+X, inserendo Y e quindi premendo Invio.

Le autorizzazioni "rw,sync,no_subtree_check" definite in questo file significano che i client possono eseguire:

  • rw :operazioni di lettura e scrittura
  • sincronizzazione :scrivi qualsiasi modifica al disco prima di applicarla
  • no_subtree_check :impedisce il controllo del sottoalbero

Fase 4:esporta la directory condivisa

Dopo aver effettuato tutte le configurazioni di cui sopra nel sistema host, ora è il momento di esportare la directory condivisa tramite il seguente comando come sudo:

$ sudo exportfs -a

Infine, per rendere effettive tutte le configurazioni, riavviare il server NFS Kernel come segue:

$sudo systemctl restart nfs-kernel-server

Fase 5:apri il firewall per i client

Un passaggio importante è verificare che il firewall del server sia aperto ai client in modo che possano accedere al contenuto condiviso. Il comando seguente configurerà il firewall per consentire l'accesso ai client tramite NFS:

$ sudo ufw allow from [clientIP or clientSubnetIP] to any port nfs

Nel nostro esempio, diamo accesso a un'intera sottorete di macchine client tramite il seguente comando:

$ sudo ufw allow from 192.168.100/24 to any port nfs

Ora, quando controlli lo stato del tuo firewall Ubuntu tramite il seguente comando, sarai in grado di visualizzare lo stato dell'azione come "Consenti" per l'IP del client.

$ sudo ufw status

Il tuo server host è ora pronto per esportare la cartella condivisa nei client specificati tramite il server del kernel NFS.

Configurazione della macchina client

Ora è il momento di eseguire alcune semplici configurazioni sulla macchina client, in modo che la cartella condivisa dall'host possa essere montata sul client e quindi accedervi senza problemi.

Passaggio 1:installa NFS Common

Prima di installare l'applicazione NFS Common, dobbiamo aggiornare l'indice del repository del nostro sistema con quello di Internet tramite il seguente comando apt come sudo:

$ sudo apt-get update

Il comando sopra ci consente di installare l'ultima versione disponibile di un software tramite i repository di Ubuntu.

Ora, esegui il seguente comando per installare il client NFS Common sul tuo sistema:

$ sudo apt-get install nfs-common

Il sistema ti chiederà con un'opzione S/n per confermare se vuoi continuare con l'installazione. Inserisci Y e quindi premi Invio per continuare, dopodiché il software verrà installato correttamente sul tuo sistema.

Fase 2:crea un punto di montaggio per la cartella condivisa dell'host NFS

Il sistema del tuo client necessita di una directory in cui è possibile accedere a tutto il contenuto condiviso dal server host nella cartella di esportazione. Puoi creare questa cartella ovunque sul tuo sistema. Stiamo creando una cartella di montaggio nella directory mnt della macchina del nostro cliente:

$ sudo mkdir -p /mnt/sharedfolder_client

Fase 3:monta la directory condivisa sul client

La cartella che hai creato nel passaggio precedente è come qualsiasi altra cartella sul tuo sistema a meno che non monti la directory condivisa dal tuo host in questa cartella appena creata.

Utilizzare il comando seguente per montare la cartella condivisa dall'host a una cartella di montaggio sul client:

$ sudo mount serverIP:/exportFolder_server /mnt/mountfolder_client

Nel nostro esempio, stiamo eseguendo il comando seguente per esportare la nostra "cartella condivisa" dal server alla cartella di montaggio "cartella condivisa_client" sul computer client:

$ sudo mount 192.168.100.5:/mnt/sharedfolder /mnt/sharedfolder_client

Fase 4:verifica la connessione

Crea o salva un file nella cartella di esportazione del server host NFS. Ora apri la cartella di montaggio sul computer client; dovresti essere in grado di visualizzare lo stesso file condiviso e accessibile in questa cartella.

Conclusione

Configurare un ambiente client-server NFS su sistemi Ubuntu è un compito facile. Attraverso questo articolo, hai imparato come installare i pacchetti NFS richiesti sia sul server che sui client. Hai anche imparato come configurare il server NFS e le macchine client in modo che le cartelle possano essere condivise e quindi accessibili senza problemi senza firewall o problemi relativi alle autorizzazioni. Ora puoi condividere facilmente i contenuti da un sistema Ubuntu all'altro usando il protocollo NFS.


Ubuntu
  1. Come installare server e client NTP su Ubuntu 18.04 LTS

  2. Installa server e client Telnet su Ubuntu 20.04 LTS - Guida passo passo?

  3. Installa UrBackup Server e Client su Ubuntu 20.04 - Come farlo?

  4. Come configurare server e client NFS su Ubuntu 20.04

  5. Installa server e client vnc su Ubuntu

Come installare Server e Client NTP su Ubuntu

Come installare il server e il client UrBackup su Ubuntu 20.04

Come installare server e client Telnet su Ubuntu

Come installare server e client NTP su Ubuntu 20.04 LTS

Come installare e configurare NFS su Ubuntu 22.04/20.04

Installa e usa Sguardi per monitorare Ubuntu 20.04 Server o desktop