mount.nfs: accès refusé par le serveur lors du montage

12

Sur mon système Ubuntu, j'ai cette ligne dans / etc / fstab:

myserver:/home/me /mnt/me nfs rsize=8192,wsize=8192,timeo=14,intr

Quand je fais

sudo mount -a

Je reçois:

mount.nfs: access denied by server while mounting myserver:/home/me

Comment puis-je diagnostiquer ce problème? Le serveur nfs est également Ubuntu.

Détails supplémentaires: Je peux monter ce partage nfs à partir d'autres clients Ubuntu sur le même réseau sans problème. Cependant, le client problématique est différent en ce qu'il s'exécute dans VirtualBox sur un système Windows. Je peux cingler "myserver" très bien à partir du client problématique.

EDIT: / etc / exports sur "myserver":

/home/me *(rw,all_squash,async,no_subtree_check,anonuid=1000,anongid=1000)

/etc/hosts.allow et /etc/hosts.deny sur "myserver" sont tous les deux des commentaires. Et gardez à l'esprit que je peux me connecter correctement à partir d'autres clients sur le même réseau.

JoelFan
la source
avez-vous essayé de personnaliser les fichiers journaux sur le serveur distant ubuntu nfs? Vérifiez si une tentative de montage nfs est en cours depuis la machine virtuelle sur la boîte Windows.
Patrick R
quels fichiers journaux exactement?
JoelFan
Y a-t-il quelque chose qui apparaît dans / var / log / messages?
Matt Simmons

Réponses:

22

Je l'ai trouvé!

L'un des journaux avait la ligne:

refused mount request from 192.168.1.108 for /home/me (/home/me): illegal port 64112

J'ai cherché sur Google et j'ai constaté que le port étant supérieur à 1024, j'avais besoin d'ajouter l'option "non sécurisé" à la ligne appropriée dans / etc / exports sur le serveur. Une fois que j'ai fait cela (et exécuté exportfs -r), le montage -a sur le client a fonctionné.

JoelFan
la source
3
Bien que cela fonctionne, tout utilisateur non root peut désormais prétendre être une nouvelle instance de NFS et avoir accès à tous vos fichiers. Est-ce que quelqu'un sait s'il existe un moyen pour que le client nfs arrête d'utiliser ces numéros de port élevés?
semi
Merci beaucoup pour ça, j'ai sauvé mon cul. Était prêt à abandonner après des heures de recherche sur Google. Je ne l'ai pas vu dans les journaux parce que je cherchais pour "nfs", mais c'est en fait enregistré mon "mountd".
Cory J
1
@Cory J, merci d'avoir pris le temps de me le faire savoir! Votre commentaire m'a fait revoir cette question et je vois qu'elle a plus de 12K vues! Donc, cela a probablement aidé d'autres personnes à le faire, mais vous êtes le seul à avoir dit "merci"! :)
JoelFan
10

Cette question est liée à la configuration du réseau pour votre VM.

Par défaut avec VirtualBox, vous avez un réseau NAT . Ce qui entraîne une traduction de port .

Cela donne pas à pas:

  1. Le client NFS utilise un port réservé (<1024 ... qui ne peut être ouvert que par root -> sécurisé)
  2. Virtualbox fait la traduction de port (NAT) -> le port client est maintenant supérieur à 1024
  3. Le serveur NFS refuse la connexion pour ce port non sécurisé.

Comme mentionné par @JoelFan, une solution serait de définir l' insecureoption sur le serveur. C'est une solution rapide mais ... peu sûre;)

Ce qui a résolu le cas pour moi (de manière sécurisée) était de passer du réseau NAT au réseau Bridge pour cette VM. De cette façon, mon VM a sa propre adresse IP et aucune traduction de port n'est effectuée.

samb
la source
2

Devinez quoi ... pour moi, la source exactement de la même erreur était un décalage de version entre mon client NFS et le serveur.

Les journaux étaient silencieux comme si de rien n'était, et seul nfswatch s'exécutant côté serveur m'a aidé à clarifier la situation.

Le problème a été résolu en ajoutant l'option de montage nfsver côté client:

server:/path   /mount/point   nfs   nfsvers=3   0 0
revl
la source
C'était aussi mon problème. Debian 6 (Squeeze) avec le mountpaquet v2.17.2-9 installé. La solution a fonctionné.
Alastair Irvine
1

Avez-vous vérifié que la résolution de nom est correcte sur le serveur pour le client qui tente de se connecter (et est répertorié dans le fichier d'export)?

Matt Simmons
la source
voir mes modifications dans la question ... Je permet à tous
JoelFan
0

vérifier les fichiers hosts.allowet hosts.denyet si le client est entré correctement. lorsque cela n'aide pas, veuillez publier votre fichier d'exportation.

Christian
la source
voir mes modifications dans la question
JoelFan
0

Dans le cas où cela aiderait d'autres personnes, j'ai un Synology NAS et le point NFS a en fait ajouté un autre élément au chemin.

J'essayais de monter "xxx.xxx.xxx.xxx/folder" car c'est ce que je fais sous Windows. Mais pour Ubuntu avec NFS, j'ai dû utiliser "xxx.xxx.xxx.xxx/volume1/folder".

Webs
la source