In questo tutorial, ti mostreremo come installare NFS Server su Ubuntu 20.04 LTS. Per chi non lo sapesse, NFS o Network File System è un protocollo di file system distribuito. Può aiutarti a condividere file e intere directory con altri su una rete. Consente ai programmi su sistemi remoti di condividere e accedere alle informazioni tra loro come se fossero disponibili su una macchina locale. Questa tecnologia ti offre la flessibilità di condividere una risorsa su più sistemi.
Questo articolo presuppone che tu abbia almeno una conoscenza di base di Linux, sappia come usare la shell e, soprattutto, che ospiti il tuo sito sul tuo VPS. L'installazione è abbastanza semplice e presuppone che tu sono in esecuzione nell'account root, in caso contrario potrebbe essere necessario aggiungere 'sudo
' ai comandi per ottenere i privilegi di root. Ti mostrerò passo passo l'installazione del server NFS su Ubuntu 20.04 (Focal Fossa). Puoi seguire le stesse istruzioni per Ubuntu 18.04, 16.04 e qualsiasi altra distribuzione basata su Debian come Linux Mint.
Usiamo due macchine, una che esegue Ubuntu 20.04, che fungerà da server NFS, e un'altra che esegue qualsiasi altra distribuzione Linux su cui monteremo la condivisione. Le macchine in questo esempio hanno i seguenti IP:
NFS Server IP: 192.168.77.20 NFS Clients IPs: From the 192.168.77.0/24 range
Installa NFS Server su Ubuntu 20.04 LTS Focal Fossa
Passaggio 1. Innanzitutto, assicurati che tutti i pacchetti di sistema siano aggiornati eseguendo il seguente apt
comandi nel terminale.
sudo apt update sudo apt upgrade
Passaggio 2. Installazione del server NFS su Ubuntu 20.04.
Ora eseguiamo il seguente comando per installare il pacchetto del server del kernel NFS:
sudo apt install nfs-kernel-server
Puoi verificare se il nfs-server
il servizio è in esecuzione come mostrato:
sudo systemctl status nfs-server
Passaggio 3. Creazione delle directory condivise sull'host.
Creazione di una directory che sarà condivisa tra i sistemi client:
sudo mkdir /var/nfs/general -p
Dato che vogliamo che i sistemi client abbiano pieno accesso a questa directory condivisa, dobbiamo rimuovere tutte le autorizzazioni di directory che limitano l'accesso:
sudo chown nobody:nogroup /var/nfs/general
Passaggio 4. Configura NFS sull'host.
Analizzeremo il file di configurazione NFS per impostare la condivisione di queste risorse:
sudo nano /etc/exports
Aggiungi le seguenti righe:
/var/nfs/general client_ip(rw,sync,no_subtree_check) /home client_ip(rw,sync,no_root_squash,no_subtree_check)
Per le opzioni di base delle esportazioni:
Opzione | Descrizione |
rw | Consenti richieste di lettura e scrittura su un volume NFS. |
ro | Consenti solo richieste di lettura su un volume NFS. |
sincronizzazione | Rispondi alle richieste solo dopo che le modifiche sono state salvate nell'archiviazione stabile. (Predefinito) |
asincrono | Questa opzione consente al server NFS di violare il protocollo NFS e di rispondere alle richieste prima che le modifiche apportate da tale richiesta siano state salvate in una memoria stabile. |
sicuro | Questa opzione richiede che le richieste provengano su una porta Internet inferiore a IPPORT_RESERVED (1024). (Predefinito) |
insicuro | Questa opzione accetta tutte le porte. |
wdelay | Ritarda leggermente il commit di una richiesta scritta su un disco se si sospetta che un'altra richiesta di scrittura correlata possa essere in corso o che arrivi presto. (Predefinito) |
no_wdelay | Questa opzione non ha effetto se è impostato anche async. Il server NFS normalmente ritarderà leggermente il commit di una richiesta scritta su un disco se sospetta che un'altra richiesta di scrittura correlata possa essere in corso o possa arrivare presto. Ciò consente di eseguire più richieste di scrittura su disco con un'unica operazione che può migliorare le prestazioni. Se un server NFS ha ricevuto principalmente piccole richieste non correlate, questo comportamento potrebbe effettivamente ridurre le prestazioni, quindi no_wdelay è disponibile per disattivarlo. |
controllo_sottoalbero | Questa opzione abilita il controllo del sottoalbero. (Predefinito) |
no_subtree_check | Questa opzione disabilita il controllo del sottoalbero, che ha lievi implicazioni sulla sicurezza ma può migliorare l'affidabilità in alcune circostanze. |
root_squash | Mappa richieste da uid/gid 0 a uid/gid anonimo. Tieni presente che questo non si applica ad altri uid o gid che potrebbero essere ugualmente sensibili, come bin utente o staff di gruppo. |
no_root_squash | Disattiva lo schiacciamento delle radici. Questa opzione è utile principalmente per i client senza disco. |
all_squash | Mappa tutti gli uid e i gid all'utente anonimo. Utile per directory FTP pubbliche esportate da NFS, directory di spool di notizie, ecc. |
no_all_squash | Disattiva tutto lo schiacciamento. (Predefinito) |
anonuid=UID | Queste opzioni impostano in modo esplicito l'uid e il gid dell'account anonimo. Questa opzione è utile principalmente per i client PC/NFS, dove potresti voler far sembrare che tutte le richieste provengano da un utente. Ad esempio, considera la voce di esportazione per /home/joe nella sezione di esempio seguente, che mappa tutte le richieste a uid 150. |
anongid=GID | Leggi sopra (anonuid=UID) |
Infine, riavvia il server NFS per applicare le modifiche:
sudo systemctl restart nfs-kernel-server
Passaggio 5. Configurazione Firewall.
È necessario consentire l'accesso tramite il firewall, altrimenti sarà impossibile accedere e montare la directory condivisa. Per ottenere ciò, eseguire il comando seguente:
sudo ufw allow from 192.168.77.0/24 to any port nfs sudo ufw enable sudo ufw status
Passaggio 6. Configura i client NFS.
Sulle macchine client, dobbiamo installare solo gli strumenti necessari per montare un file system NFS remoto.
- Installa il client NFS su Debian e Ubuntu
Esegui il seguente comando per installarlo:
sudo apt install nfs-common
- Crea punti di montaggio sul cliente.
Ora creiamo due directory per i mount sul client:
sudo mkdir -p /nfs/general sudo mkdir -p /nfs/home
Successivamente, monta le condivisioni utilizzando l'indirizzo IP dell'Host:
sudo mount host_ip:/var/nfs/general /nfs/general sudo mount host_ip:/home /nfs/home
Verifica che i file system remoti siano montati correttamente utilizzando mount o df
comando:
df -h
Per rendere permanenti i mount al riavvio, apri il /etc/fstab
file e aggiungi le seguenti righe:
sudo nano /etc/fstab
Aggiungi la seguente riga:
192.168.77.10:/var/nfs/general /nfs/general nfs defaults,timeo=900,retrans=5,_netdev 0 0 192.168.77.10:/home /nfs/home nfs defaults,timeo=900,retrans=5,_netdev 0 0
Passaggio 7. Verifica la condivisione NFS.
Ora creiamo un file di test in /var/nfs/general
condividi:
sudo touch /nfs/general/general.test
Verifica la sua proprietà:
$ ls -l /nfs/home/home.test -rw-r--r-- 1 root root 0 Aug 1 13:32 /nfs/home/home.test
Passaggio 8. Smontaggio del file system NFS.
Se la condivisione NFS remota non è più necessaria, puoi smontarla come qualsiasi altro file system montato usando umount
comando:
sudo umount /general
Congratulazioni! Hai installato con successo NFS Server. Grazie per aver utilizzato questo tutorial per l'installazione di NFS Server su Ubuntu 20.04 LTS Focal Fossa system. Per ulteriore aiuto o informazioni utili, ti consigliamo di controllare il Sito Web NFS.