GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare server e client NFS su Ubuntu 20.04

Ubuntu 20.04 supporta NFS versione 3 (NFSv3) e 4 (NFSv4). La versione NFS predefinita è 4.2 e offre supporto per elenchi di controllo di accesso (ACL), copia lato server, file sparsi, prenotazione dello spazio, NFS etichettato, miglioramenti del layout e molto altro.

In questa guida impareremo come installare e configurare il Server NFS e il client NFS su Ubuntu 20.04.

Articoli correlati:

  • Come configurare server e client NFS su Rocky/Alma Linux 8
  • Come installare e configurare Samba File Sharing su Ubuntu 20.04

Prerequisiti

  • Server Ubuntu 20.04 aggiornato da utilizzare come server e un altro per il client
  • Connettività dai server
  • Sudo accesso dai server

Indice dei contenuti

  1. Assicurati che il server sia aggiornato
  2. Installa i pacchetti NFS
  3. Avvio e abilitazione del server NFS
  4. Abilitazione del servizio NFS su Firewall
  5. Configurazione esportazioni su server NFS
  6. Configurazione di sistemi client NFS

1. Garantire che il server sia aggiornato

Prima di procedere, assicuriamoci che il server sia aggiornato. Usa questo comando per ottenere questo:

sudo apt update
sudo apt upgrade -y

2. Installa i pacchetti NFS

Il pacchetto nfs-kernel-server fornisce servizi NFS per Ubuntu. Il pacchetto del server NFS fornisce il supporto dello spazio utente necessario per eseguire il server del kernel NFS. Per installare il pacchetto, esegui:

sudo apt install -y nfs-kernel-server

Su Ubuntu 20.04, NFS versione 2 è disabilitata. Le versioni 3 e 4 sono abilitate. Verifica la versione installata utilizzando questo comando:

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

3. Avvio e abilitazione del server NFS

Una volta installati correttamente i pacchetti NFS, verrà avviato il server NFS. Conferma lo stato del servizio con questo comando:

$ sudo systemctl status nfs-server
● nfs-server.service - NFS server and services
     Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2022-01-17 19:24:54 UTC; 1min 40s ago
   Main PID: 20614 (code=exited, status=0/SUCCESS)
      Tasks: 0 (limit: 4624)
     Memory: 0B
     CGroup: /system.slice/nfs-server.service

Jan 17 19:24:52 dev-ubuntusrv.inv.re systemd[1]: Starting NFS server and services...
Jan 17 19:24:54 dev-ubuntusrv.inv.re systemd[1]: Finished NFS server and services.

L'output precedente mostra che il servizio è stato avviato correttamente. Per abilitare l'avvio del servizio all'avvio del sistema, utilizzare questo comando:

sudo systemctl enable nfs-server

Tieni presente che gli altri servizi necessari per eseguire un server NFS o montare condivisioni NFS come nfsdnfs-idmapdrpcbindrpc.mountdlockdrpc.statdrpc.rquotadrpc.idmapd verrà avviato automaticamente.

4. Abilitazione del servizio NFS nel firewall

Se stai installando NFS Server su un server Ubuntu remoto protetto da un firewall , dovrai abilitare il traffico sulla porta NFS:

sudo ufw allow nfs

Verifica la modifica:

sudo ufw status

5. Configurazione delle esportazioni su server NFS

La configurazione del server NFS è definita in /etc/default/nfs-kernel-server/etc/default/nfs-common File. Le impostazioni predefinite sono sufficienti per la maggior parte delle situazioni.

Creiamo file system da esportare o condividere sul server NFS. Creeremo due file system da fissare, /mnt/nfs_shares/files per i file condivisi e /mnt/nfs_shares/backup per i backup.

Creiamo le directory nel server

sudo mkdir -p /mnt/nfs_shares/files
sudo mkdir -p /mnt/nfs_shares/backup

Conferma

$ sudo ls /mnt/nfs_shares
backup	files

Quindi aggiungi i filesystem di cui sopra nel file di esportazione /etc/exports nel server NFS per determinare i file system locali che vengono esportati nei client NFS.

Apri il file di esportazione con il tuo editor di testo

sudo vim /etc/exports

Quindi aggiungi questo contenuto:

/mnt/nfs_shares/files  	10.70.5.170(rw,sync)
/mnt/nfs_shares/backup  10.70.5.0/24(rw,sync,no_all_squash,root_squash)

Queste sono le opzioni di esportazione che possono essere utilizzate:

  • rw – consente sia l'accesso in lettura che in scrittura sul file system.
  • sincronizzazione – indica al server NFS di scrivere operazioni (scrittura di informazioni sul disco) quando richiesto (si applica per impostazione predefinita).
  • tutti_squash – mappa tutti gli UID e GID dalle richieste del client all'utente anonimo.
  • no_all_squash:utilizzato per mappare tutti gli UID e GID dalle richieste dei client a UID e GID identici sul server NFS.
  • root_squash – mappa le richieste dall'utente root o dall'UID/GID 0 dal client all'UID/GID anonimo.

Una volta definiti i file system nel file di esportazione, è necessario eseguire exportfs comando per esportarli. L'exportfs può essere eseguito con -a flag significa esportare o annullare l'esportazione di tutte le directory, -r significa riesportare tutte le directory, sincronizzando /var/lib/nfs/etab con /etc/exports e file in /etc/exports.d-v abilita output dettagliato.

sudo exportfs -arv

Questo è l'output sul mio server

$ sudo exportfs -arv
exporting 10.70.5.170:/mnt/nfs_shares/files
exporting 10.70.5.0/24:/mnt/nfs_shares/backup

Per visualizzare l'elenco di esportazione corrente, eseguire il comando seguente. Tieni presente che la tabella exportfs applica anche alcune opzioni predefinite che non sono definite in modo esplicito:

$ sudo exportfs  -s
/mnt/nfs_shares/files  10.70.5.170(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/mnt/nfs_shares/backup  10.70.5.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

6. Configurazione di sistemi client NFS

Ora che abbiamo configurato le esportazioni sul server, possiamo accedervi dal sistema client. Accedi al sistema client e installa i pacchetti necessari per consentire l'accesso alle condivisioni NFS.

Su sistemi basati su RHEL:

sudo dnf install -y nfs-utils nfs4-acl-tools

Su distribuzioni basate su Debian/Ubuntu:

sudo apt install nfs-common nfs4-acl-tools

Possiamo quindi eseguire il comando showmount per mostrare le informazioni di montaggio per il server NFS. Il comando restituisce i filesystem esportati sul server

showmount -e 10.70.5.221

Uscita

$ showmount -e 10.70.5.221
Export list for 10.70.5.221:
/mnt/nfs_shares/backup 10.70.5.0/24
/mnt/nfs_shares/files  10.70.5.170

Crea una directory del file system locale per montare i file system NFS remoti e montalo come un file system nfs

mkdir -p ~/backups
mkdir -p ~/nfs_files
sudo mount -t nfs  10.70.5.221:/mnt/nfs_shares/backup ~/backups
sudo mount -t nfs  10.70.5.221:/mnt/nfs_shares/files ~/nfs_files

Possiamo quindi confermare che il file system remoto è stato montato eseguendo mount comando e filtro nfs monta.

sudo mount | grep nfs

Output sulla mia macchina

$ sudo mount | grep nfs
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
10.70.5.221:/mnt/nfs_shares/backup on /home/ubuntu/backups type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)
10.70.5.221:/mnt/nfs_shares/files on /home/ubuntu/nfs_files type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)

Per abilitare il montaggio su persistente anche dopo il riavvio del sistema, aggiungi le voci a /etc/fstab file. Usa questi comandi (come root) per ottenere ciò:

echo "10.70.5.221:/mnt/nfs_shares/backup     /home/ubuntu/backups  nfs     defaults 0 0" >> /etc/fstab
echo "10.70.5.221:/mnt/nfs_shares/files     /home/ubuntu/nfs_files  nfs     defaults 0 0" >> /etc/fstab

Infine, verifica se NFS l'installazione funziona correttamente creando un file sul server e verificando se il file può essere visto nel client.

Sul server:

sudo touch /mnt/nfs_shares/files/file_on_server.txt

Quindi sul computer client conferma

$ ls ~/nfs_files/
file_on_server.txt

Puoi anche fare il contrario. Sul cliente:

touch ~/nfs_files/file_on_client.txt

Quindi sul server conferma:

$ ls /mnt/nfs_shares/files/
file_on_client.txt  file_on_server.txt

Per smontare il file system remoto sul lato client.

sudo umount /mnt/nfs_shares/files
sudo umount /mnt/nfs_shares/backup

Tieni presente che non puoi unmount il file system remoto se stai operando al suo interno.

Conclusione

In questa guida siamo riusciti a installare e configurare un server e client NFS su Ubuntu 20.04.


Ubuntu
  1. Come installare e configurare un server NFS su Ubuntu 20.04

  2. Come configurare un server NFS e montare condivisioni NFS su Ubuntu 14.10

  3. Come installare client e server NFS su Ubuntu 20.04

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

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

Come installare server e client Telnet su Ubuntu

Come configurare Server e Client NFS su Debian 10

Installa NFS Server e Client su Ubuntu

Come installare server e client NTP su Ubuntu 20.04 LTS

Come configurare Quad 9 DNS su Ubuntu 16.04 e Ubuntu 17.10 Desktop

Come configurare server e client NFS su CentOS 8