GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare e configurare il server NFS su Debian 11

NFS o Network File System è un protocollo di rete che consente di montare un filesystem remoto attraverso la rete. Il protocollo NFS è utilizzato dall'architettura server-client, il server NFS che fornisce tutte le directory o le partizioni pronte per l'accesso e il montaggio e i client che hanno utilizzato il protocollo rpcbind per accedere a tutte le directory e al filesystem tramite la connessione di rete interna.

Lo stato attuale del protocollo Network File System è descritto di seguito.

1. NFSv2 e NFSv3 sono ancora supportati dal sistema operativo principale, ma per motivi di sicurezza è necessario limitare l'accesso del server NFS alla rete locale affidabile. NFSv2 e NFSv3 sono consigliati per i tipi di distribuzione di piccole e medie dimensioni.
2. Il protocollo NFSv4 fornisce funzionalità di sicurezza di base come l'autenticazione e la crittografia, ma per queste parti si basa su Kerberos. Quindi è necessario aggiungere una configurazione aggiuntiva per l'utilizzo di NFSv4 con funzionalità di sicurezza di base.

Per questo tutorial imparerai come installare e configurare un server NFS sull'ultima versione di Debian 11 Bullseye. Installerai il server NFS e proteggerai l'accesso limitando gli host utilizzando il firewall ufw. E poi imparerai come configurare il client per montare directory e partizioni fornite dal server NFS e configurare il server NFS con montaggio automatico all'avvio del sistema tramite la configurazione '/etc/fstab'.

Prerequisiti

1. Useremo due macchine diverse sulla stessa rete come di seguito.
     - debian64 - 192.168.1.25 - come server NFS
     - client-debian - 192.168.1.30 - come client
2. Un utente root o un utente con privilegi di root. Questo utente verrà utilizzato per l'installazione di nuovi pacchetti e la modifica delle configurazioni di sistema.

Installazione e configurazione del server NFS

All'inizio, installerai il pacchetto del server nfs e imposterai la directory condivisa per i client.

1. Eseguire il comando seguente per installare i pacchetti nfs-server.

apt install nfs-kernel-server rpcbind

Digita 'y ' e premi 'Invio ' per continuare l'installazione.

2. Ora crea una nuova directory che desideri condividere con i client. Per questo esempio, condividerai due directory '/mnt/shared' e '/srv/data' con i client. E non condividere la directory root '/' predefinita o la directory '/etc'.

Crea una nuova directory condivisa usando il comando mkdir qui sotto.

mkdir -p /mnt/shared
mkdir -p /srv/data

Crea un nuovo file su ciascuna directory eseguendo il comando echo di seguito.

echo "test file nfs server" > /mnt/shared/test-file.txt
echo "test file nfs server" > /srv/data/test-file.txt

Ora cambia la proprietà di entrambe le directory condivise in "nobody:nogroup" eseguendo il comando seguente.

chown nobody:nogroup /mnt/shared /srv/data

E sei pronto per configurare il server NFS.

3. Per configurare la directory condivisa per nfs, modificare la configurazione '/etc/exports' utilizzando nano editor.

nano /etc/exports

Di seguito sono riportati alcuni esempi di configurazione per alcuni scenari

Condividi la directory per il client a host singolo con accesso in lettura e scrittura.

/mnt/shared    192.168.1.30(rw,sync,no_subtree_check)

Condividi la directory per più client, incluso un gruppo della rete host.

/srv/data      172.16.1.0/24(rw,sync,no_root_squash,no_subtree_check) 10.11.12.0/24(rw,no_subtree_check)

Condividi la directory per un singolo client con accesso in sola lettura.

/srv/data        192.168.1.30(ro)

Di seguito è riportato l'ultimo esempio di configurazione.

/mnt/shared    192.168.1.30(rw,sync,no_subtree_check)
/srv/data      172.16.1.0/24(rw,sync,no_root_squash,no_subtree_check) 10.11.12.0/24(rw,no_subtree_check)
/srv/data      192.168.1.30(ro,no_root_squash)

Salva la configurazione premendo il tasto 'Ctrl+x ', digita 'y ', quindi premi 'Invio ' per uscire.

Opzioni che devi conoscere:

  • rw :consente l'accesso in lettura e scrittura sia per il server NFS che per il client al volume/directory.
  • ro :consente l'accesso in sola lettura ai client.
  • sincronizzazione :rispondere alle richieste solo dopo che le modifiche sono state salvate in una memoria stabile. Questa opzione è abilitata per impostazione predefinita.
  • asincrono :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.
  • controllo_sottostruttura :consente e abilita il controllo del sottoalbero. Questa opzione è abilitata per impostazione predefinita.
  • no_subtree_check :disabilita il controllo del sottoalbero, che ha lievi implicazioni sulla sicurezza, ma può migliorare l'affidabilità in alcune circostanze.
  • root_squash :Mappa le richieste da uid/gid 0 a uid/gid anonimo. Tieni presente che ciò non si applica ad altri uid o gid che potrebbero essere ugualmente sensibili, come bin utente o staff di gruppo.
  • no_root_sqash :disabilita lo schiacciamento delle radici. Questa opzione è utile principalmente per i client senza disco.

4. Quindi, riavvia il servizio nfs-server per applicare una nuova configurazione utilizzando il comando seguente.

systemctl restart nfs-server

Ora controlla e verifica il servizio nfs-server usando il seguente comando.

systemctl is-enabled nfs-server
systemctl status nfs-server

E otterrai un output simile come di seguito.

Come si può vedere, il servizio nfs-server è "abilitato" e verrà eseguito automaticamente all'avvio del sistema. E lo stato corrente di nfs-service è 'active (exited)', il che significa che il servizio è in esecuzione, ma systemd non riesce a trovare il demone da monitorare.

Protezione del server NFS con UFW Firewall

Per questa fase, installerai il firewall ufw e limiterai l'accesso al server NFS solo per host e reti specifici.

1. Esegui il comando apt di seguito per installare il pacchetto ufw.

apt install ufw

Digita 'y ' e premi 'Invio ' per confermare e continuare l'installazione.

2. Se tutta l'installazione è stata completata, aggiungi il servizio SSH alle regole del firewall ufw utilizzando il comando seguente.

ufw allow ssh

3. Quindi, esegui i seguenti comandi ufw per aggiungere host o reti al tuo firewall ufw.

Consenti host con indirizzo IP '192.168.1.30 ' per accedere al server NFS.

ufw allow from 192.168.1.30 to any port nfs

Consenti al blocco di una rete di accedere al server NFS.

ufw allow from 172.16.1.0/24 to any port nfs
ufw allow from 10.11.12.0/24 to any port nfs

4. Successivamente, abilita il firewall ufw utilizzando il seguente comando.

ufw enable

Digita 'y ' e premi 'Invio ' per avviare e abilitare il firewall ufw.

Ora controlla lo stato del firewall ufw usando il comando seguente.

ufw status

E vedrai un output simile come di seguito.

Come si può vedere, lo stato del firewall ufw è 'attivo' e il servizio NFS sulla porta predefinita '2049' è disponibile nell'elenco delle regole.

Configurazione del client NFS

Per questo passaggio, configurerai i client per l'accesso alla directory condivisa e alla partizione sul server NFS.

1. Innanzitutto, installa 'nfs-common ' utilizzando il comando apt di seguito.

apt install nfs-common

Digita 'y ' e premi 'Invio ' per confermare e continuare l'installazione.

2. Al termine dell'installazione, creare una nuova directory per la directory di montaggio.

mkdir -p /nfs/shared; mkdir -p /nfs/data

3. Per montare la directory o la partizione nfs dal server NFS, eseguire il comando mount di seguito.

mount 192.168.1.25:/mnt/shared /nfs/shared
mount 192.168.1.25:/srv/data /nfs/data

Il comando di montaggio di base per l'accesso a NFS consiste nello specificare l'indirizzo IP del server NFS '192.168.1.25' con la directory di montaggio del percorso '/mnt/shared' e '/srv/data' e il percorso di destinazione sul lato client '/nfs /shared' e '/nfs/data'.

4. Quindi, esegui il comando seguente per verificare che il montaggio NFS abbia esito positivo.

df -h

Inoltre, puoi controllare i file che hai appena creato eseguendo i seguenti comandi.

cat /nfs/shared/test-file.txt
cat /nfs/data/test-file.txt

Di seguito è riportato l'output che otterrai.

Come puoi vedere, hai montato con successo il server NFS nelle directory '/nfs/shared' e '/nfs/data' e sarai in grado di leggere i file che hai appena creato in cima.

Verifica l'accesso in lettura e scrittura al server NFS

Per questa fase, verificherai l'accesso in lettura e scrittura alla directory del server NFS.

1. cambia la directory di lavoro in '/nfs/shared', controlla i file disponibili su quella directory e mostra il contenuto di quel file usando il comando come sotto.

cd /nfs/shared
ls

cat test-file.txt

Quindi, crea un nuovo file usando il comando echo di seguito.

echo "This file from nfs-client" > client.txt
cat client.txt

Se riesci a creare il file 'client.txt', l'accesso in scrittura alla directory NFS '/nfs/share' è riuscito, come descritto nella configurazione seguente.

/mnt/shared    192.168.1.30(rw,sync,no_subtree_check)

2. Successivamente, nella configurazione che hai creato in alto, il cline ha solo l'accesso per leggere la directory NFS '/nfs/data', come puoi vedere nella configurazione seguente.

/srv/data        192.168.1.30(ro,no_root_squash)

Cambia la directory di lavoro in '/nfs/data', controlla i file su di essa, controlla i file disponibili su quella directory e mostra il contenuto di quel file usando il comando come sotto.

cd /nfs/data
ls

cat test-file.txt

Successivamente, se desideri creare un nuovo file, visualizzerai l'errore "File system di sola lettura". Perché hai solo il permesso di 'sola lettura' come descritto nella configurazione in alto.

echo "This is a file from client to data" > client-data.txt

Di seguito è riportato l'output simile che otterrai.

L'autorizzazione di lettura e scrittura corrisponde alla configurazione del server NFS corrente.

Monta NFS all'avvio

Per questa fase, imparerai come montare la directory/partizione NFS all'avvio/avvio del sistema tramite la configurazione '/etc/fstab'.

1. Modifica il '/etc/fstab' configurazione tramite nano editor.

nano /etc/fstab

Modifica i dettagli di indirizzi IP, directory condivisa e directory di montaggio del percorso con i tuoi, quindi incolla la configurazione.

192.168.1.25:/mnt/shared        /nfs/shared   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
192.168.1.25:/srv/data          /nfs/data     nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Salva la configurazione premendo il tasto 'Ctrl+x ' e digita 'y ', quindi premi 'Invio ' per uscire.

2. Successivamente, verifica '/etc/fstab ' la configurazione è corretta utilizzando i seguenti comandi.

Smonta tutte le directory di montaggio usando il comando seguente.

umount -R /nfs/shared
umount -R /nfs/data

Esegui il comando seguente per montare tutti i file system disponibili nel file di configurazione '/etc/fstab'.

mount -a

Assicurati di non avere errori.

Ora esegui il comando seguente per mostrare tutti i file system montati.

df -h

Se la tua configurazione è corretta, vedrai che il server NFS è montato nella directory di destinazione come descritto nella configurazione '/etc/fstab'.

3. È possibile riavviare la macchina client e accedere nuovamente, quindi verificare nuovamente utilizzando il comando come di seguito.

df -h

E vedrai che il server NFS viene automaticamente disattivato all'avvio del sistema sulla macchina client tramite il file '/etc/fstab'.

Conclusione

Congratulazioni! Hai installato con successo il server NFS sull'ultima Debian 11 Bullseye. Inoltre, hai protetto con successo la distribuzione del server NFS utilizzando il firewall ufw, impostando le macchine client NFS e impostando il montaggio automatico usando la configurazione '/etc/fstab'. Per il passaggio successivo, potresti anche essere interessato al protocollo NFSv4, che fornisce meccanismi di sicurezza come la crittografia e l'autenticazione tramite il server Kerberos.


Debian
  1. Come installare e configurare OpenVPN Server su Debian 10

  2. Come installare e configurare il server VNC su Debian 10

  3. Come installare e configurare la finestra mobile su Debian 11

  4. Come installare e configurare Mariadb 10 in Debian 11

  5. Come installare e configurare Squid Proxy su Debian 11

Come installare e configurare Monit su Debian 9

Come installare e configurare il server Web OpenLiteSpeed ​​su Debian 10

Come installare e configurare il server VNC su Debian 9 Stretch

Come installare e configurare Apache Web Server su Debian 11

Come installare e configurare Git in Debian 11

Come installare e configurare Apache su Debian 11?