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 5 et 6, le RPM nfs-utils est livré avec /etc/sysconfig/nfs comme fichier de configuration NFS principal (côté serveur). Les ports statiques pour rpc.nfsd et rpc.rquotad sont respectivement 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, rpc.mountd et rpc.statd, utilisent normalement des ports aléatoires, mais /etc/sysconfig/nfs propose 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 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
Exemples de configuration de /etc/sysconfig/nfs
Pour spécifier que LOCKD/NLM utilise des ports statiques libres, décommentez simplement LOCKD_TCPPORT et LOCKD_UDPPORT pour définir les nouvelles valeurs de port, puis redémarrez le service nfs ou le service nfslock.
LOCKD_TCPPORT=32803 LOCKD_UDPPORT=32769
Pour spécifier que rpc.mountd utilise un port statique libre, décommentez simplement MOUNTD_PORT pour définir la nouvelle valeur de port, puis redémarrez le service nfs.
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.
RPCNFSDARGS="-p 20499"
Pour spécifier que rpc.rquotad utilise un port statique libre autre que 875, décommentez simplement RQUOTAD_PORT pour définir la nouvelle valeur de port, puis redémarrez le service nfs.
RQUOTAD_PORT=8755
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 nfslock.
STATD_PORT=662 STATD_OUTGOING_PORT=2020
Contrôle des services
Redémarrez le service nfs :
# service nfs restart
Redémarrez le service nfslock :
# service nfslock restart
Vérification :
# rpcinfo -p