GNU/Linux >> Linux Esercitazione >  >> Debian

Come configurare client e server NFS su Linux

NFS è stato sviluppato da Sun Microsystems per condividere file e directory tra i loro sistemi. NFS consente ai sistemi su una rete di condividere file tramite la rete TCP/IP. Funziona in modo client-server in cui il sistema che ha la directory condivisa è noto come server mentre il sistema che accede alla directory condivisa è noto come client. Il client può montare la directory di condivisione dal server NFS sul proprio sistema che appare come una partizione del disco locale. Un client può quindi leggere/scrivere file sul server NFS remoto in base alle autorizzazioni assegnate dal server NFS. Alcune delle caratteristiche di NFS sono le seguenti:

  • L'utente può accedere a file remoti in locale
  • Non è necessario che entrambe le macchine abbiano lo stesso sistema operativo
  • Offre una soluzione di archiviazione centralizzata
  • L'utente può archiviare i propri dati in una posizione centrale, quindi consente di risparmiare spazio di archiviazione locale.

In questo post, ti mostreremo come installare il server e il client NFS, esportare condivisioni e montare/smontare la condivisione NFS sul client.

Nota:

Per la dimostrazione, utilizzeremo le due macchine con i seguenti dettagli:

Host NFS (Debian 10)

  • Nome host:nfs
  • IP:192.168.72.158

Client NFS (Debian 10)

  • Nome host:cliente
  • IP:192.168.72.159

Nota:i passaggi qui menzionati sono stati testati su Debian 10 (sistema Buster).

Installazione e configurazione del server NFS

Nella sezione seguente, installeremo prima il server NFS sulla nostra macchina host. Quindi imposteremo due directory di condivisione che sono /var/nfs-public e /var/nfs-docs per la condivisione su macchine client. Iniziamo.

Fase 1:installa il server NFS sulla macchina host

Affinché un sistema possa essere configurato come server NFS, dovrai installare nfs-kernel-server pacchetto su di esso. Sul computer host NFS, innanzitutto, aggiorna l'indice del repository locale utilizzando il comando seguente in Terminale:

$ sudo apt update

Quindi installa nfs-kernel-server utilizzando il comando seguente:

$ sudo apt install nfs-kernel-server

Ora ti potrebbe essere fornito il s/n opzione per continuare l'installazione. Premi y per continuare, dopodiché il sistema inizierà l'installazione del nfs-kernel-server .

Una volta che il nfs-kernel-server è installato, puoi verificare l'installazione utilizzando il comando seguente in Terminale:

$ dpkg -l | grep nfs-kernel-server

Fase 2:crea una directory condivisa sull'host

Ora, crea una directory sull'host che desideri impostare per la condivisione con i client. Abbiamo creato due directory /var/nfsdocumenti e /var/nfs-public con diverse impostazioni di configurazione.

$ sudo mkdir -p /var/nfs-docs
$ sudo mkdir -p /var/nfs-public

Per il /var/nfs-public directory, ne modificheremo la proprietà in nobody:nogroup utilizzando il comando seguente:

$ sudo chown nobody:nogroup /var/nfs-public

Per verificare se la proprietà è cambiata, utilizza il comando seguente:

$ ls -la /var/nfs-public

Per /var/nfs-docs , non cambieremo la proprietà.

Fase 3:esporta le condivisioni

Ora configureremo il file di esportazione del server NFS per la condivisione delle risorse. Il file di esportazione NFS è /etc/exports che può essere modificato come segue:

$ sudo nano /etc/exports

Ora in questo file specificheremo le directory che vogliamo condividere e il client che può accedervi. Puoi aggiungere voci nel file di esportazione NFS utilizzando la sintassi seguente:

directory host1(options) host2(options)...hostN(options)...

Dove

  • directory è la directory che vuoi condividere con i client.
  • ospite è l'indirizzo IP/sottorete del client/sottorete con cui si desidera condividere. Per trovare l'indirizzo IP della tua macchina client, puoi visitare la nostra guida su Come trovare il tuo indirizzo IP.
  • opzioni sono alcune delle opzioni di configurazione che specificano come condividere le risorse.

Per entrambe le nostre directory /var/nfs-docs e /var/nfs-public , abbiamo aggiunto le seguenti voci in /etc/exports file:

/var/nfs-public 192.168.72.159(rw,sync,no_subtree_check)

/var/nfs-docs 192.168.72.159(rw,sync, no_root_squash,no_subtree_check)


Nel file di configurazione sopra, entrambe le voci indicano al server NFS di condividere il /var/nfs-public e /var/nfs-docs directory con il client NFS 192.168.72.159 con rw (lettura e scrittura) autorizzazione. Nella seconda voce, abbiamo aggiunto il no_root_squash che consente al client di avere i permessi di root anche sul server NFS. Una volta terminate le configurazioni di esportazione, salva e chiudi /etc/exports file.

Ora per esportare le condivisioni, dovrai riavviare il server NFS. Ecco il comando per farlo:

$ sudo systemctl restart nfs-kernel-server

Ogni volta che apporti modifiche in /etc/exports file, assicurati di riavviare il servizio per applicare le modifiche alla configurazione.

In alternativa, puoi utilizzare questo comando per esportare le condivisioni:

$ sudo exportfs -a

Per verificare se il server NFS è in esecuzione senza problemi, controlla il suo stato utilizzando il comando seguente in Terminale:

$ sudo systemctl status nfs-kernel-server

Fase 4:imposta il firewall sul server NFS

Se un firewall è abilitato sul server NFS, dovrai configurarlo per consentire ai client di connettersi alla porta NFS 2049 . Per verificare se il firewall è abilitato sul server NFS, immetti il ​​comando seguente in Terminale:

$ sudo ufw status

Nel seguente output, puoi vedere il attivo stato che mostra che il firewall è abilitato.

Ora per consentire ai clienti di portare NFS 2049 , dovrai aggiungere una regola nel firewall. Emetti il ​​comando seguente in Terminale per farlo:

$ sudo ufw allow from client_ip/subnet_ID to any port nfs

Ad esempio, per consentire l'intera sottorete 192.168.72.0/24 accesso alla porta NF 2049 , il comando sarebbe:

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

Quindi per verificare se la regola è stata aggiunta correttamente, controlla lo stato del firewall:

$ sudo ufw status

La voce evidenziata nell'output seguente mostra la connessione da 192.168.72.0/24 è consentito alla porta 2049 .

Ora abbiamo completato le configurazioni sul Server NFS. Passiamo all'installazione e alla configurazione del client NFS.

Installazione e configurazione del client NFS

Nella sezione seguente, installeremo prima il client NFS sul nostro computer client. Quindi imposteremo due punti di montaggio che sono /media/public e /media/docs per il montaggio delle condivisioni NFS remote /var/nfs-public e /var/nfs-docs . Iniziamo.

Fase 1:installa il pacchetto client NFS sulla macchina client

Affinché un sistema possa essere configurato come client NFS, dovrai installare nfs-common pacchetto su di esso. Sul computer client NFS, innanzitutto, aggiorna l'indice del repository locale utilizzando il comando seguente in Terminale:

$ sudo apt update

Quindi installa nfs-common utilizzando il comando seguente:

$ sudo apt install nfs-common

Ora ti potrebbe essere fornito il s/n opzione per continuare l'installazione. Premi y per continuare, dopodiché il sistema inizierà l'installazione di nfs-common pacchetto.

Fase 2:crea punti di montaggio

Sul sistema client, sarà necessario creare un punto di montaggio per montare le condivisioni che si trovano sul server NFS. Sul nostro client, abbiamo creato le due directory in /media per i nostri punti di montaggio:

$ sudo mkdir -p /media/docs

$ sudo mkdir -p /media/public

Fase 3:monta manualmente le condivisioni NFS sul client

Ora monteremo le condivisioni NFS sui punti di montaggio che abbiamo creato nel passaggio precedente. Ecco la sintassi per farlo:

$ sudo mount NFS_server_IP:NFS_share client_mountpoint

Dove :

IP_server_NFS è l'indirizzo IP del server NFS

Condivisione_NFS è la condivisione situata sul server NFS

punto di montaggio_client è il punto di montaggio in cui vuoi montare la condivisione.

Dal nostro server NFS, abbiamo esportato due directory condivise che erano :/var/nfs-docs e /var/nfs-public . Sul nostro computer client monteremo una condivisione /var/nfs-docs su un punto di montaggio /media/documenti mentre l'altro condivide /var/nfs-public sul secondo punto di montaggio /media/public .

Abbiamo utilizzato i seguenti comandi per montare le condivisioni NFS sul client NFS.

$ sudo mount 192.168.72.158:/var/nfs-docs /media/docs

$ sudo mount 192.168.72.158:/var/nfs-public /media/public

Ora per verificare se le directory condivise NFS sono state montate correttamente, emetti il ​​comando "df –h" nel Terminale:

$ df -h

Ecco l'output del comando "df -h" che mostra due condivisioni NFS in basso.

Poiché abbiamo montato le condivisioni su /media directory, puoi anche accedere alle directory montate da File Manager.

Fase 4:montaggio automatico delle condivisioni NFS sul client all'avvio

Ogni volta che si riavvia il sistema client, sarà necessario montare manualmente la condivisione NFS utilizzando il comando mount. Questo va bene per una volta o per un uso occasionale. Tuttavia, se vuoi che le condivisioni NFS accedano continuamente, dovrai rendere permanente il montaggio usando /etc/fstab file.

Modifica /etc/fstab file:

$ sudo nano /etc/fstab

Ora aggiungi le voci per la tua condivisione NFS che desideri montare automaticamente:

192.168.72.158:/var/nfs-docs /media/docs nfs rw,sync,hard,intr 0 0

192.168.72.158:/nfs-public /media/public nfs rw,sync,hard,intr 0 0

Quindi salva e chiudi /etc/fstab file.

La prossima volta, al riavvio del sistema, il client monterà automaticamente le condivisioni NFS.

Test dell'accesso NFS

Ora testeremo l'accesso alle directory condivise NFS creando un nuovo file in ciascuna directory.

Nella macchina client, innanzitutto, crea un test1 file come sudo nel punto di montaggio locale /media/public :

$ sudo touch /media/public/test1

Ora controlla la proprietà del nuovo file:

$ ls -l /media/public/test1

Vedrai che la proprietà del file è nessuno utente e nessun gruppo gruppo. Anche se abbiamo creato il file come sudo sul computer client, ma il server NFS lo ha tradotto nella proprietà dell'host nobody:nogroup . Ciò significa che un utente root sul client non può eseguire l'attività amministrativa sulla directory condivisa del server.

Ora crea un test1 file come sudo nel secondo punto di montaggio locale /media/docs :

$ sudo touch /media/docs/test1

Se controlliamo la proprietà di questo file, vedrai che è di proprietà dell'utente root e del gruppo root. Questo perché abbiamo impostato no_root_squash opzione che consente all'utente root sulla macchina client di agire come root nella directory del server e può eseguire attività amministrative.

Ora sulla macchina del server NFS, controlla se puoi visualizzare entrambi i file.

Smontaggio della condivisione NFS dal computer client

Se non hai più bisogno della condivisione NFS, puoi smontarla dal sistema client. Per smontare le condivisioni NFS, digita umount seguito dal nome della directory in cui è montata la condivisione NFS.

$ umount /media/docs

$ umount /media/public

Ecco come puoi configurare server e client NFS nel sistema Debian 10. In questo articolo, abbiamo spiegato come installare il server e il client NFS, configurare le directory condivise NFS e montare/smontare le condivisioni NFS sul sistema client. Potresti visitare il nostro post su Come configurare server e client NFS su Linux Mint 20.


Debian
  1. Come configurare server e client NTP su Debian 9 Stretch Linux

  2. Configurazione di un server e client NFS su Scientific Linux 6.3

  3. Come configurare server e client NFS su Rocky/Alma Linux 8

  4. Come configurare server e client NFS su Ubuntu 20.04

  5. Come impostare e configurare il server e il client YPServ Linux NIS

Come installare e configurare il server DHCP in Linux

Come configurare server e client NTP su Debian 10

Come configurare Server e Client NFS su Debian 10

Come installare e configurare un server NFS su un sistema Linux

Come installare e configurare un server NFS Ubuntu Linux

Come installare e configurare il server DNS in Linux