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 5 und 6 wird das nfs-utils-RPM mit /etc/sysconfig/nfs ausgeliefert als Haupt-NFS-Konfigurationsdatei (serverseitig). Die statischen Ports für rpc.nfsd und rpc.rquotad sind standardmäßig 2049 bzw. 875, da sie als bekannte Ports gelten. Andere NFS-Dienste (serverseitig) wie LOCKD/NLM, rpc.mountd und rpc.statd verwenden normalerweise nur zufällige Ports, aber /etc/sysconfig/nfs bietet Beispielportwerte als Referenz. Die beispielhaften Portwerte sind für die meisten Szenarien gut genug.
# 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
Beispiele für die Konfiguration von /etc/sysconfig/nfs
Um LOCKD/NLM für die Verwendung freier statischer Ports anzugeben, kommentieren Sie einfach LOCKD_TCPPORT und LOCKD_UDPPORT aus, um die neuen Portwerte festzulegen, und starten Sie dann den nfs-Dienst oder den nfslock-Dienst neu.
LOCKD_TCPPORT=32803 LOCKD_UDPPORT=32769
Um rpc.mountd anzugeben, einen freien statischen Port zu verwenden, kommentieren Sie einfach MOUNTD_PORT aus, um den neuen Portwert festzulegen, und starten Sie dann den nfs-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-Dienst neu.
RPCNFSDARGS="-p 20499"
Um rpc.rquotad anzugeben, einen anderen freien statischen Port als 875 zu verwenden, kommentieren Sie einfach RQUOTAD_PORT aus, um den neuen Portwert festzulegen, und starten Sie dann den nfs-Dienst neu.
RQUOTAD_PORT=8755
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 nfslock-Dienst neu.
STATD_PORT=662 STATD_OUTGOING_PORT=2020
Dienststeuerung
Starten Sie den nfs-Dienst neu:
# service nfs restart
Starten Sie den nfslock-Dienst neu:
# service nfslock restart
Überprüfung:
# rpcinfo -p