1 votes

Droits d'écriture sur le stockage NFS

J'ai installé un serveur NFS sur CentOS 7. J'ai deux autres hôtes avec lesquels je veux partager différents répertoires. Voici mon /etc/exports fichier :

/home/WS2016    192.168.200.2(rw,sync,no_subtree_check)
/home/debian    192.168.120.1(rw,sync,no_subtree_check)

Comme les noms des répertoires partagés l'indiquent, l'un est dédié à Windows Server 2016, et l'autre à l'hôte Debian 9.
Debian 9 n'a besoin que du port 2049 ( !) pour être ouvert pour sudo mount 192.168.120.2:/home/debian /mnt/nfs/storage . L'accès R/W fonctionne bien avec juste ce port autorisé par iptables .
Windows Server, quant à lui, ne peut avoir au mieux qu'un accès R/O via UNC ( \\IP\ ) ou Network Drive Mapping.
Pour savoir quels ports sont utilisés, je grep udp de rpcinfo -p et ignore les ports dynamiques. Je ne suis pas sûr du port 20048. Debian n'en a pas besoin ? 111 portmapper 2049 nfs 2049 nfs_acl 20048 mountd Donc, je voudrais savoir :

  • Est-il possible de laisser seulement le(s) port(s) 2049/111 ouvert(s) pour TCP/UDP et d'avoir un accès R/W fonctionnel via un chemin UNC sous Windows ?
  • Si non, dois-je simplement combiner -s 192.168.200.2 y -m multiport --dports 111,2049,20048 drapeaux dans un iptables la règle ?

Mise à jour rapide : voici ls -la /home/ sortie de l'hôte du serveur NFS

[root@server ~]# ls -la /home/
total 0
drwxr-xr-x.  5 root      root       51 10. may 10.48 .
dr-xr-xr-x. 17 root      root      242  9. may 22.07 ..
drwxr-xr-x   2 nfsnobody nfsnobody  32 10. may 12.34 debian
drwxr-xr-x   2 nfsnobody nfsnobody  18 10. may 15.54 WS2016

2voto

Michael Hampton Points 232226

NFSv4 ne requiert que le port 2049. Il est peu probable que le montage en lecture seule ait quelque chose à voir avec les ports ouverts, à condition que vous ayez effectivement monté le partage avec NFSv4. (Et il n'y a pratiquement aucune raison d'utiliser l'ancienne ère des années 1990 NFSv3 ou la préhistorique NFSv2. Vous devriez vous assurer que vous ne le faites pas).

0 votes

J'ai trouvé la solution avec AnonymousUid/Gid dans le registre de Windows. J'ai également désactivé nlockmgr . Dès que j'active iptables avec seulement 2049 autorisé, je vois beaucoup de requêtes vers 111 et 20048 en /var/log/messages . Si j'autorise 111 pour tcp/udp et 20048 pour tcp, cela fonctionne. Cependant, l'idéal serait de trouver un moyen de n'utiliser que 2049 pour Debian et WServer.

0 votes

@mekkanizer Il semble que votre client Windows essaie toujours d'utiliser NFSv3.

0 votes

Vous avez raison, j'ai appris sur les Internets que la v3 est la version par défaut pour le client NFS de Windows Server 2016. S'il vous plaît dites-moi comment puis-je définir la version utilisée (AFAIK WS2016 support NFS v4.1) et ensuite vérifier la version utilisée (comme avec blank mount commande) ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X