mount.nfs: acceso denegado por el servidor durante el montaje

12

En mi sistema Ubuntu, tengo esta línea en / etc / fstab:

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

Cuando lo hago

sudo mount -a

Yo obtengo:

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

¿Cómo puedo diagnosticar este problema? El servidor nfs también es Ubuntu.

Detalles adicionales: Puedo montar este recurso compartido nfs desde otros clientes Ubuntu en la misma red sin ningún problema. Sin embargo, el cliente problemático es diferente porque se ejecuta dentro de VirtualBox en un sistema Windows. Puedo hacer ping a "myserver" bien desde el cliente problemático.

EDITAR: / etc / exportaciones en "myserver":

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

/etc/hosts.allow y /etc/hosts.deny en "myserver" son comentarios. Y tenga en cuenta que puedo conectarme bien desde otros clientes en la misma red.

JoelFan
fuente
¿Has intentado seguir los archivos de registro en el servidor remoto ubuntu nfs? Vea si se está intentando montar nfs desde la máquina virtual en el cuadro de Windows.
Patrick R
¿Qué archivos de registro exactamente?
JoelFan
¿Aparece algo en / var / log / messages?
Matt Simmons el

Respuestas:

22

¡Lo encontré!

Uno de los registros tenía la línea:

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

Busqué en Google y descubrí que, dado que el puerto es superior a 1024, necesitaba agregar la opción "insegura" a la línea correspondiente en / etc / exports en el servidor. Una vez que hice eso (y ejecuté exportfs -r), el montaje -a en el cliente funcionó.

JoelFan
fuente
3
Si bien eso funciona, ahora cualquier usuario no root puede pretender ser una nueva instancia de NFS y tener acceso a todos sus archivos. ¿Alguien sabe si hay una manera de hacer que el cliente nfs deje de usar estos números de puerto altos?
semi
Muchas gracias por esto, me salvó el culo. Estaba listo para rendirse después de HORAS de googlear. No lo vi en los registros porque estaba buscando "nfs", pero en realidad está registrado mi "mountd".
Cory J
1
@Cory J, ¡gracias por tomarse el tiempo para hacerme saber que ayudó! ¡Su comentario me hizo echar un vistazo a esta pregunta y veo que tiene más de 12 mil visitas! ¡Entonces probablemente ayudó a otras personas a hacerlo, pero usted es el único que dijo "gracias"! :)
JoelFan
10

Esta pregunta está relacionada con la configuración de la red para su VM.

De forma predeterminada con VirtualBox, tiene una red NAT . Lo que resulta en la traducción del puerto .

Paso a paso esto da:

  1. El cliente NFS está utilizando un puerto reservado (<1024 ... que solo puede abrirse por root -> protegido)
  2. Virtualbox realiza la traducción del puerto (NAT) -> el puerto del cliente ahora es mayor que 1024
  3. El servidor NFS rechaza la conexión para ese puerto inseguro.

Como mencionó @JoelFan, una solución sería establecer la insecureopción en el servidor. Esta es una solución rápida pero ... insegura;)

Lo que arregló el caso para mí (de manera segura) fue cambiar de NAT a la red Bridge para este vm. De esta manera, mi VM tiene su propia dirección IP y no se realiza ninguna traducción de puerto.

samb
fuente
2

Adivina qué ... para mí, la fuente de exactamente el mismo error fue un desajuste de versión entre mi cliente NFS y el servidor.

Los registros estaban en silencio como si nada hubiera pasado, y solo nfswatch ejecutándose en el lado del servidor me ayudó a aclarar la situación.

El problema se resolvió agregando la opción de montaje nfsver en el lado del cliente:

server:/path   /mount/point   nfs   nfsvers=3   0 0
revl
fuente
Este también fue mi problema. Debian 6 (Squeeze) con el mountpaquete v2.17.2-9 instalado. La solución funcionó.
Alastair Irvine
1

¿Ha verificado que la resolución de nombre es correcta en el servidor para el cliente que está intentando conectarse (y que figura en el archivo de exportaciones)?

Matt Simmons
fuente
ver mis ediciones en la pregunta ... Estoy permitiendo todo
JoelFan
0

verificar los archivos hosts.allowy hosts.denysi el cliente se ingresó correctamente cuando esto no ayuda, publique su archivo de exportación

cristiano
fuente
ver mis ediciones en la pregunta
JoelFan
0

En caso de que esto ayude a otras personas, tengo un Synology NAS y el punto NFS realmente agregó otro elemento a la ruta.

Estaba tratando de montar "xxx.xxx.xxx.xxx/folder" ya que esto es lo que hago en Windows. Pero para Ubuntu con NFS tuve que usar "xxx.xxx.xxx.xxx/volume1/folder".

Webs
fuente