Introduzione a NFS
Il Network File System (NFS) è un protocollo di file system distribuito che consente di montare directory remote sul proprio server. Questo permette di gestire lo spazio di archiviazione in una posizione diversa e di scriverci da client multipli. NFS fornisce un modo standard e performante per accedere a sistemi remoti su una rete ed è particolarmente efficace quando le risorse condivise devono essere accessibili regolarmente.
Prerequisiti
Per seguire questa guida, avrai bisogno di due server Ubuntu 22.04, ciascuno con un utente non root con privilegi sudo, un firewall configurato con UFW e, se disponibile, una rete privata. Assicurati di avere questi prerequisiti seguendo la nostra guida iniziale per la configurazione del server con Ubuntu 22.04.
Passo 1: Download e Installazione dei Componenti
Sul Server Host
Inizia installando il pacchetto nfs-kernel-server, che permetterà di condividere le directory. Aggiorna l'indice locale dei pacchetti prima dell'installazione:
sudo apt update
sudo apt install nfs-kernel-server
Sul Server Client
Nel server client, installa il pacchetto nfs-common, che fornisce funzionalità NFS senza includere componenti server. Aggiorna l'indice locale dei pacchetti prima dell'installazione:
sudo apt update
sudo apt install nfs-common
Passo 2: Configurazione delle Esportazioni NFS sul Server Host
Ora, modifica il file di configurazione NFS per impostare la condivisione di risorse. Apri il file /etc/exports
sul server host:
sudo nano /etc/exports
Aggiungi le seguenti linee, sostituendo client_ip
con l'indirizzo IP effettivo del tuo client:
/var/nfs/general client_ip(rw,sync,no_subtree_check)
/home client_ip(rw,sync,no_root_squash,no_subtree_check)
Queste righe configurano due diverse esportazioni NFS con varie opzioni per gestire l'accesso e i privilegi di root.
Salva e chiudi il file, quindi riavvia il server NFS:
sudo systemctl restart nfs-kernel-server
Passo 3: Regolazione del Firewall sul Server Host
Controlla lo stato del firewall per assicurarti che sia abilitato e aggiungi una regola per il traffico NFS:
sudo ufw status
sudo ufw allow from client_ip to any port nfs
Verifica la modifica:
sudo ufw status
Passo 4: Creazione dei Punti di Montaggio e Montaggio delle Directory sul Client
Prepara il client creando i punti di montaggio e montando le directory dal server host:
sudo mkdir -p /nfs/general
sudo mkdir -p /nfs/home
sudo mount host_ip:/var/nfs/general /nfs/general
sudo mount host_ip:/home /nfs/home
Verifica il montaggio con:
df -h
Passo 5: Montaggio Automatico delle Directory NFS all'Avvio
Aggiungi le seguenti linee al file /etc/fstab
sul client per montare automaticamente le directory all'avvio:
host_ip:/var/nfs/general /nfs/general nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
host_ip:/home /nfs/home nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
Riavvia il client per applicare le modifiche.
Conclusioni
In questa guida, abbiamo configurato un server NFS e illustrato comportamenti chiave creando due diverse esportazioni NFS. Ricorda che, se utilizzi NFS in produzione, potrebbe essere necessario implementare misure aggiuntive di sicurezza, come l'uso di una VPN o di un tunnel crittografato, poiché il protocollo NFS in sé non è criptato.
Seguendo attentamente questi passaggi, avrai un sistema NFS funzionante su Ubuntu 22.04, pronto per soddisfare le tue esigenze di condivisione di risorse su una rete.