Vous pouvez avoir besoin de fixer les ports utilisés par NFS , lorsque votre partage doit se faire à travers un pare-feu matériel ou logiciel ou un autre équipement filtrant.
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.
Il s'agit de déterminer le port qui sera toujours utilisé pour le partage NFS. On appel cela «fixer un port».
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"
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"
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 é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
Voir ici
Ouvrez le fichier /etc/sysctl.conf
fs.nfs.nlm_tcpport=42010 fs.nfs.nlm_udpport=42010
en fixant les mêmes ports pour UDP et TCP, cela peut servir pour le parefeu UFW.
Afin de prendre en compte les modifications par le système, il faudra redémarrer votre machine.
Sinon vous pouvez essayer les étapes suivantes :
sudo invoke-rc.d nfs-kernel-server restart
sudo invoke-rc.d portmap restart
sudo rmmod sunrpc sudo modprobe sunrpc
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.