Standardmäßig verwenden einige NFS-Dienste (serverseitig) bekannte Ports, andere verwenden normalerweise nur zufällige Ports. Die Verwendung zufälliger Ports funktioniert nicht so gut, wenn strenge Firewall-Regeln zufällige, aber unbekannte Ports blockieren. Daher ist es manchmal am besten, statische Ports für NFS-Dienste (serverseitig) manuell zu ändern oder anzugeben.
Dieser Beitrag beschreibt, wie man NFS-Dienste (serverseitig) so konfiguriert, dass sie alternativ auf statischen Ports laufen.
Übersicht
Zu den NFS-Diensten (serverseitig) gehören:
- NLM (NFS Lock Manager oder In-Kernel Lockd)
- rpc.mountd
- rpc.nfsd
- rpc.rquotad
- rpc.statd
Bitte beachten Sie, dass lockd und rpc.statd auch auf NFS-Clients laufen. Außerdem ist rpc.rquotad nicht unbedingt ein Teil der NFS-Familie, sondern wird verwendet, um Kontingente auf Dateisystemen zu überprüfen, die vom NFS-Server gemeinsam genutzt und von einem oder mehreren NFS-Clients gemountet werden.
Bei NFSv3 interagiert rpc.nfsd mit LOCKD/NLM, rpc.mountd und rpc.statd. Mit NFSv4 sind jedoch alle diese Interaktionen jetzt integriert/konsolidiert.
Für CentOS/RHEL 7 enthält das nfs-utils-RPM jetzt /etc/modprobe.d/lockd.conf, /etc/sysconfig/nfs und /etc/sysconfig/rpc-rquotad als Haupt-NFS-Konfiguration (serverseitig). Dateien. Zusätzlich gibt es noch /etc/nfs.conf, die in naher Zukunft andere Konfigurationsdateien verwerfen könnte.
Für CentOS/RHEL 7 sind die statischen Ports für rpc.mountd, rpc.nfsd und rpc.rquotad standardmäßig 20048, 2049 bzw. 875, da sie als bekannte Ports gelten. Andere NFS-Dienste (serverseitig), wie LOCKD/NLM und rpc.statd, verwenden normalerweise nur zufällige Ports, aber /etc/modprobe.d/lockd.conf und /etc/sysconfig/nfs bieten Beispielportwerte als Referenz. Die beispielhaften Portwerte sind für die meisten Szenarien gut genug.
# cat /etc/services mountd 20048/tcp # NFS mount protocol mountd 20048/udp # NFS mount protocol 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/modprobe.d/lockd.conf # Set the TCP port that the NFS lock manager should use. # port must be a valid TCP port value (1-65535). #options lockd nlm_tcpport # # Set the UDP port that the NFS lock manager should use. # port must be a valid UDP port value (1-65535). #options lockd nlm_udpport
# cat /etc/sysconfig/nfs # Port rpc.mountd should listen on. #MOUNTD_PORT=892 # Port rpc.statd should listen on. #STATD_PORT=662 # Outgoing port statd should used. The default is port # is random #STATD_OUTGOING_PORT=2020
# cat /etc/sysconfig/rpc-rquotad # -I, --autofs Ignore autofs mount points # -p port, --port port Listen on alternative port # -s, --no-setquota Don't allow setting quotas with RPC (default) # -S, --setquota Allow setting quotas with RPC # -x path, --xtab path Use alternative NFSD export table RPCRQUOTADOPTS=""
Beispiele für die Konfiguration von /etc/modprobe.d/lockd.conf
Um LOCKD/NLM anzugeben, freie statische Ports zu verwenden, kommentieren Sie einfach nlm_tcpport und nlm_udpport aus, um die neuen Portwerte festzulegen, und laden dann das lockd-Kernelmodul neu oder starten einfach neu.
options lockd nlm_tcpport=32803 options lockd nlm_udpport=32769
Beispiele für die Konfiguration von /etc/sysconfig/nfs
Um rpc.mountd anzugeben, einen anderen freien statischen Port als 20048 zu verwenden, kommentieren Sie MOUNTD_PORT einfach aus, um den neuen Portwert festzulegen, und starten Sie dann den nfs-mountd-Dienst oder den nfs-server-Dienst neu.
MOUNTD_PORT=892
Um rpc.nfsd anzugeben, einen anderen freien statischen Port als 2049 zu verwenden, kommentieren Sie einfach RPCNFSDARGS aus, um den neuen Portwert hinzuzufügen, und starten Sie dann den nfs-server-Dienst neu.
RPCNFSDARGS="-p 20499"
Um rpc.statd anzugeben, freie statische Ports zu verwenden, kommentieren Sie einfach STATD_PORT und STATD_OUTGOING_PORT aus, um die neuen Portwerte festzulegen, und starten Sie dann den rpc-statd-Dienst neu.
STATD_PORT=662 STATD_OUTGOING_PORT=2020
Beispiele für die Konfiguration von /etc/sysconfig/rpc-rquotad
Um rpc.rquotad anzugeben, einen anderen freien statischen Port als 875 zu verwenden, kommentieren Sie einfach RPCRQUOTADOPTS aus, um den neuen Portwert hinzuzufügen, und starten Sie dann den rpc-rquotad-Dienst neu.
RPCRQUOTADOPTS="-p 8755"
Dienststeuerung
Starten Sie den nfs-mountd-Dienst neu:
# systemctl restart nfs-mountd.service
Starten Sie den nfs-Server-Dienst neu:
# systemctl restart nfs-server.service
Starten Sie den rpc-rquotad-Dienst neu:
# systemctl restart rpc-rquotad.service
Starten Sie den rpc-statd-Dienst neu:
# systemctl restart rpc-statd.service
Überprüfung:
# rpcinfo -p