Par défaut, certains services NFS (côté serveur) utilisent des ports bien connus, mais certains utilisent normalement des ports aléatoires. L'utilisation de ports aléatoires ne fonctionne pas si bien avec des règles de pare-feu strictes bloquant les ports aléatoires mais inconnus. Il est donc parfois préférable de modifier ou de spécifier manuellement les ports statiques à utiliser par les services NFS (côté serveur).
Cet article décrit comment configurer les services NFS (côté serveur) pour qu'ils s'exécutent sur des ports statiques comme alternative.
Aperçu
Les services NFS (côté serveur) incluent :
- NLM (gestionnaire de verrous NFS ou verrouillage du noyau)
- rpc.mountd
- rpc.nfsd
- rpc.rquotad
- rpc.statd
Veuillez noter que lockd et rpc.statd s'exécutent également sur les clients NFS. De plus, rpc.rquotad ne fait pas strictement partie de la famille NFS mais est utilisé pour vérifier les quotas sur les systèmes de fichiers partagés par le serveur NFS et montés par un ou plusieurs clients NFS.
Avec NFSv3, rpc.nfsd interagit avec LOCKD/NLM, rpc.mountd et rpc.statd. Cependant, avec NFSv4, toutes ces interactions sont désormais intégrées/consolidées.
Pour CentOS/RHEL 7, le RPM nfs-utils fournit désormais /etc/modprobe.d/lockd.conf, /etc/sysconfig/nfs et /etc/sysconfig/rpc-rquotad en tant que configuration NFS principale (côté serveur). des dossiers. De plus, il existe également /etc/nfs.conf, qui, dans un avenir proche, pourrait rendre obsolètes d'autres fichiers de configuration.
Pour CentOS/RHEL 7, les ports statiques pour rpc.mountd, rpc.nfsd et rpc.rquotad sont respectivement 20048, 2049 et 875, car ils sont considérés comme des ports bien connus. D'autres services NFS (côté serveur), tels que LOCKD/NLM et rpc.statd, utilisent normalement des ports aléatoires, mais /etc/modprobe.d/lockd.conf et /etc/sysconfig/nfs proposent des exemples de valeurs de port à titre de référence. Les exemples de valeurs de port sont suffisants pour la plupart des scénarios.
# 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=""
Exemples de configuration de /etc/modprobe.d/lockd.conf
Pour spécifier que LOCKD/NLM utilise des ports statiques libres, décommentez simplement nlm_tcpport et nlm_udpport pour définir les nouvelles valeurs de port, puis rechargez le module de noyau lockd ou redémarrez simplement.
options lockd nlm_tcpport=32803 options lockd nlm_udpport=32769
Exemples de configuration de /etc/sysconfig/nfs
Pour spécifier que rpc.mountd utilise un port statique libre autre que 20048, décommentez simplement MOUNTD_PORT pour définir la nouvelle valeur de port, puis redémarrez le service nfs-mountd ou le service nfs-server.
MOUNTD_PORT=892
Pour spécifier que rpc.nfsd utilise un port statique libre autre que 2049, il vous suffit de décommenter RPCNFSDARGS pour ajouter la nouvelle valeur de port, puis de redémarrer le service nfs-server.
RPCNFSDARGS="-p 20499"
Pour spécifier que rpc.statd utilise des ports statiques libres, décommentez simplement STATD_PORT et STATD_OUTGOING_PORT pour définir les nouvelles valeurs de port, puis redémarrez le service rpc-statd.
STATD_PORT=662 STATD_OUTGOING_PORT=2020
Exemples de configuration de /etc/sysconfig/rpc-rquotad
Pour spécifier que rpc.rquotad utilise un port statique libre autre que 875, décommentez simplement RPCRQUOTADOPTS pour ajouter la nouvelle valeur de port, puis redémarrez le service rpc-rquotad.
RPCRQUOTADOPTS="-p 8755"
Contrôle des services
Redémarrez le service nfs-mountd :
# systemctl restart nfs-mountd.service
Redémarrez le service nfs-server :
# systemctl restart nfs-server.service
Redémarrez le service rpc-rquotad :
# systemctl restart rpc-rquotad.service
Redémarrez le service rpc-statd :
# systemctl restart rpc-statd.service
Vérification :
# rpcinfo -p