In questo tutorial, ci concentreremo sui concetti di rete fondamentali di NFS, in particolare, le porte utilizzate dai servizi NFS. Una volta compresi le porte e i servizi specifici della condivisione NFS, possiamo usarli per configurare misure di sicurezza come firewall e risoluzione dei problemi.
Come funziona NFS
Esistono tre versioni di NFS supportate al momento della stesura di questo articolo. NFS V2 è il più vecchio e il più ampiamente supportato.
NFS V3 è più nuovo di NFS V2 e offre più funzionalità come la gestione delle dimensioni delle variabili, un report di errore migliorato, ecc. Tuttavia, NFS V3 non è compatibile con i client NFS V2.
La versione più recente dell'NFS V4 offre funzionalità nuove e migliorate. Includono operazioni statali, compatibilità all'indietro con NFS V2 e NFS V3, requisiti di Portmapper rimossi, interoperabilità multipiattaforma, gestione dello spazio dei nomi migliore, sicurezza integrata con ACLS e Kerberos.
Di seguito è riportato un confronto tra NFS V3 e NFS V 4.
Caratteristica | NFS V3 | NFS V4 |
Protocollo di trasporto | TCP e UDP | TCP con supporto UDP su Rehl Enterprise |
Gestione del permesso | Unix | SecurenFS, securenfs e kerberos e ACL |
Metodo di autenticazione | Auth_sys - più debole | Kerberos (Strong) |
Personalità | Apolide | Statale |
Semantica | Unix | Unix e Windows |
La tabella sopra mostra alcune delle caratteristiche del protocollo NFS 4 vs. Protocollo NFS 3. Se desideri saperne di più, considera il documento ufficiale fornito di seguito:
https: // datatracker.ietf.org/doc/html/rfc3530
NFS V4 non utilizza un PortMapper e i servizi richiesti da NFS V2 e V3 sono non richiesti. Pertanto, in NFS V4, è richiesta solo la porta 2049.
NFS V2 e V2, tuttavia, richiedono porte e servizi aggiuntivi, di cui discuteremo in questo tutorial.
Servizi richiesti (NFS V2 e V3)
Come accennato, NFS V2 e V3 utilizzano il servizio PortMap. Il servizio PortMap in Linux gestisce le chiamate di procedura remota, che NFS (V2 e V3) utilizza per codificare e decodificare le richieste tra il client e i server.
Per implementare la condivisione NFS, sono richiesti i seguenti servizi. Tieni presente che questo è solo per NFS V2 e V3.
#: Portmapper
Il servizio PortMapper è richiesto per eseguire NFS sia sul client che sul lato server. Funziona sulla porta 111 per i protocolli TCP e UDP.
Se si sta implementando un firewall, assicurarsi che questa porta sia consentita per i pacchetti in arrivo e in uscita.
#: Mountd
L'altro servizio richiesto per eseguire NFS è il demone Mountd. Questo servizio viene eseguito sul server NFS e viene utilizzato per gestire le richieste di montaggio dai client NFS. È gestito principalmente dal servizio NFSD e non richiede la configurazione dell'utente.
Tuttavia, è possibile modificare la configurazione per impostare una porta statica nel file/etc/sysconfig/nfs. Individua il / e imposta:
Mountd_port = [porta]
#: NFSD
Questo è il demone NFS che funziona su server NFS. Questo è un servizio critico che funziona con il kernel Linux per fornire funzionalità come thread server per tutti i client connessi al server.
Per impostazione predefinita, il demone NFS è già configurato per eseguire una porta statica di 2049. La porta è vera su entrambi i protocolli TCP e UDP.
#: Lockd e STATD
Il Daemon (Lockd) e il daemon di Lockd) e lo status manager (STATD) sono altri servizi richiesti R per eseguire NFS. Questi demoni funzionano sul lato server e sul lato client.
Il daemon Lockd consente ai client NFS di bloccare i file sul server NFS.
D'altra parte, il daemon STATD è responsabile della notifica degli utenti quando il server NFS viene riavviato senza un grazioso arresto. Implementa il protocollo RPC di Monitor Stato della rete.
Sebbene entrambi questi servizi siano avviati automaticamente dal servizio NFSLOCK, è possibile configurarli per eseguire una porta statica, che può essere utile nelle configurazioni del firewall.
Imposta una porta statica per i demoni STATD e Lockd, modifica/etc/sysconfig/nfs e immettere le seguenti voci.
Statd_port = [porta]
Lockd_tcpport = [porta]
Lockd_udpport = [porta]
Riepilogo rapido
Diamo un'occhiata a un rapido riepilogo di ciò che abbiamo appena coperto.
Se stai eseguendo NFS V4, tutto ciò di cui hai bisogno è consentire la porta 2049. Tuttavia, se si esegue NFS V2 o V3, è necessario modificare il file/etc/sysconfig/nfs e aggiungere le porte per i seguenti servizi.
Infine, è necessario assicurarsi che il demone NFSD sia in esecuzione sulla porta 2049 e il portmapper sulla porta 111
NOTA: Se il file/etc/sysconfig/nfs non esiste, crea e aggiungi le voci specificate nel tutorial.
È inoltre possibile controllare/var/log/messaggi se il servizio NFS non si avvia correttamente. Assicurarsi che le porte specificate non siano in uso.
Esempio di configurazione
Di seguito è riportata un'impostazione di configurazione del server NFS su un server CentOS 8.
Dopo aver modificato la configurazione e aggiunto le porte necessarie come discusso nel tutorial, riavviare il servizio come:
sudo systemctl avvia nfs-server.servizio
Successivamente, confermare che il servizio è in esecuzione utilizzando il comando:
sudo systemctl status nfs-server.servizio
Infine, conferma le porte in esecuzione usando RPCINFO come mostrato nel comando seguente:
sudo rpcinfo -p
Conclusione
Questo tutorial ha discusso delle basi del networking del protocollo NFS e delle porte e dei servizi richiesti sia per NFS V2, V3 che per V4.
Grazie per aver letto ed essere un geek orgoglioso!