Per impostazione predefinita, alcuni servizi NFS (lato_server) utilizzano porte note, ma alcuni normalmente utilizzano solo porte casuali. L'uso di porte casuali non funziona così bene con le rigide regole del firewall che bloccano le porte casuali ma sconosciute. Pertanto, a volte è meglio modificare o specificare manualmente le porte statiche da utilizzare per i servizi NFS (lato_server).
Questo post descrive come configurare i servizi NFS (lato server) per l'esecuzione su porte statiche in alternativa.
Panoramica
I servizi NFS (lato server) includono:
- NLM (gestione blocco NFS o blocco nel kernel)
- rpc.mountd
- rpc.nfsd
- rpc.rquotad
- rpc.statd
Si noti che lockd e rpc.statd vengono eseguiti anche su client NFS. Inoltre, rpc.rquotad non fa strettamente parte della famiglia NFS ma viene utilizzato per controllare le quote sui file system condivisi dal server NFS e montati da uno o più client NFS.
Con NFSv3, rpc.nfsd interagisce con LOCKD/NLM, rpc.mountd e rpc.statd. Tuttavia, con NFSv4, tutte queste interazioni sono ora incorporate/consolidate.
Per CentOS/RHEL 5 e 6, l'RPM nfs-utils viene fornito /etc/sysconfig/nfs come file di configurazione NFS principale (lato server). Le porte statiche per rpc.nfsd e rpc.rquotad sono rispettivamente 2049 e 875, poiché sono considerate porte note. Altri servizi NFS (lato server), come LOCKD/NLM, rpc.mountd e rpc.statd, normalmente utilizzano solo porte casuali, ma /etc/sysconfig/nfs offre valori di porta di esempio come riferimento. I valori delle porte di esempio sono abbastanza buoni per la maggior parte degli scenari.
# cat /etc/services nfs 2049/tcp nfsd shilp # Network File System nfs 2049/udp nfsd shilp # Network File System rquotad 875/tcp # rquota daemon rquotad 875/udp # rquota daemon
# cat /etc/sysconfig/nfs # TCP port rpc.lockd should listen on. #LOCKD_TCPPORT=32803 # UDP port rpc.lockd should listen on. #LOCKD_UDPPORT=32769 # Port rpc.mountd should listen on. #MOUNTD_PORT=892 # Port rquotad should listen on. #RQUOTAD_PORT=875 # Port rpc.statd should listen on. #STATD_PORT=662 # Outgoing port statd should used. The default is port # is random #STATD_OUTGOING_PORT=2020
Esempi di configurazione di /etc/sysconfig/nfs
Per specificare LOCKD/NLM per l'utilizzo di porte statiche libere, decommenta LOCKD_TCPPORT e LOCKD_UDPPORT per impostare i nuovi valori di porta, quindi riavvia il servizio nfs o il servizio nfslock.
LOCKD_TCPPORT=32803 LOCKD_UDPPORT=32769
Per specificare rpc.mountd per utilizzare una porta statica libera, decommenta MOUNTD_PORT per impostare il nuovo valore della porta, quindi riavvia il servizio nfs.
MOUNTD_PORT=892
Per specificare rpc.nfsd per utilizzare una porta statica libera diversa da 2049, è sufficiente rimuovere il commento da RPCNFSDARGS per aggiungere il nuovo valore della porta, quindi riavviare il servizio nfs.
RPCNFSDARGS="-p 20499"
Per specificare rpc.rquotad per utilizzare una porta statica libera diversa da 875, è sufficiente rimuovere il commento da RQUOTAD_PORT per impostare il nuovo valore della porta, quindi riavviare il servizio nfs.
RQUOTAD_PORT=8755
Per specificare rpc.statd per utilizzare le porte statiche libere, decommenta semplicemente STATD_PORT e STATD_OUTGOING_PORT per impostare i nuovi valori di porta, quindi riavvia il servizio nfslock.
STATD_PORT=662 STATD_OUTGOING_PORT=2020
Controllo del servizio
Riavvia il servizio nfs:
# service nfs restart
Riavvia il servizio nfslock:
# service nfslock restart
Verifica:
# rpcinfo -p