Fixer les ports pour un partage NFS
Introduction
Vous pouvez avoir besoin de fixer les ports utilisés par NFS ,
lorsque votre partage doit se faire à travers un Firewall matériel ou logiciel ou un autre équipement filtrant.
partage NFS
Le principe de partage fonctionne sur la notion de serveur/client.
Le serveur est celui qui propose l'accès à ses données.
Le client est celui qui y accède pour les lire ou les modifier.
Fixer les ports
Il s'agit de déterminer le port qui sera toujours utilisé pour le partage NFS. On appel cela «fixer un port».
pour mountd
Pour déterminer le port, ouvrez le fichier /etc/default/nfs-kernel-server
commentez (mettre un # devant) RPCMOUNTDOPTS=–manage-gids
et mettez à la place:
RPCMOUNTDOPTS="--port 42002"
Pour STATD
Ouvrez le fichier /etc/default/nfs-common
STATDOPTS="--port 42000"
vous pouvez aussi fixer le port de sortie pour STATD en modifiant la ligne précédente par celle-ci:
STATDOPTS="--port 42000 --outgoing-port 42001"
Pour QUOTAD
La gestion des quotas n'est pas activée par défaut. Fixer ce port est donc optionnel.
Ouvrez le fichier /etc/default/quota
RPCRQUOTADOPTS="-p 42769"
pour LOCKD
Pour éviter l'altération des données si plusieurs clients se connectent en même temps
Ouvrez le fichier /etc/modprobe.d/options.conf et y mettre cette ligne:
options lockd nlm_udpport=42010 nlm_tcpport=42010
si LOCKSD prend toujours des ports aléatoires apres reboot
voir https://www.ens-lyon.fr/PSI/technique/doku.php?id=debian:security
modifier /etc/sysctl.conf
fs.nfs.nlm_tcpport=42010 fs.nfs.nlm_udpport=42010
en fixant les memes ports pour UDP et TCP
cela peut servir pour le parefeu UFW
Prise en compte des modifications
reboot
Afin de prendre en compte les modifications par le système, il faudra redémarrer votre machine.
Sinon vous pouvez essayer les étapes suivantes:
Relancer le serveur NFS
sudo invoke-rc.d nfs-kernel-server restart
Relancer portmap
sudo invoke-rc.d portmap restart
Relancer le service rpc
sudo rmmod sunrpc sudo modprobe sunrpc
Vérification
Pour connaitre les ports de communication utilisés par le PC1, dans un terminal saisissez:
rpcinfo -p
La commande devrait vous donner un résultat proche de celui-ci:
program no_version protocole no_port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100021 1 udp 42010 nlockmgr 100021 3 udp 42010 nlockmgr 100021 4 udp 42010 nlockmgr 100021 1 tcp 42010 nlockmgr 100021 3 tcp 42010 nlockmgr 100021 4 tcp 42010 nlockmgr 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100005 1 udp 42002 mountd 100005 1 tcp 42002 mountd 100005 2 udp 42002 mountd 100005 2 tcp 42002 mountd 100005 3 udp 42002 mountd 100005 3 tcp 42002 mountd
On constate que les ports ne sont plus attribués aléatoirement mais bien comme nous les avons fixé. Il sera alors possible de configurer votre firewall en utilisant ces ports.
Contributeurs :ool