Problema
Montar el recurso compartido nfs desde el servidor CentOS/RHEL NFS en un cliente NFS genera un error como se muestra a continuación:
# mount -t nfs x.x.x.x:/share /mnt mount.nfs: access denied by server while mounting x.x.x.x:/share
Puede intentar ejecutar el comando de montaje con la opción detallada para obtener un error detallado sobre el problema.
# mount -t nfs -vvvv server.example.com:/share /mnt mount.nfs: timeout set for Fri Mar 9 17:56:57 2018 mount.nfs: trying text-based options 'vers=4.1,addr=x.x.x.x,clientaddr=x.x.x.x' mount.nfs: mount(2): Protocol not supported mount.nfs: trying text-based options 'vers=4.0,addr=x.x.x.x,clientaddr=x.x.x.x' mount.nfs: mount(2): Protocol not supported mount.nfs: trying text-based options 'addr=x.x.x.x' mount.nfs: prog 100003, trying vers=3, prot=6 mount.nfs: trying x.x.x.x prog 100003 vers 3 prot TCP port 2049 mount.nfs: prog 100005, trying vers=3, prot=17 mount.nfs: trying x.x.x.x prog 100005 vers 3 prot UDP port 300 mount.nfs: mount(2): Permission denied mount.nfs: access denied by server while mounting server.example.com:/share
Solución
Este es un problema genérico con el montaje de NFS en el cliente y puede ocurrir debido a muchos problemas. A continuación se muestran algunos de los problemas que ocurren con mayor frecuencia.
1. Intenta montar con NFSv3
A veces, el servidor NFS solo admite conexiones NFSv3. De manera predeterminada, el comando de montaje usa NFSv4, lo que puede resultar en un error. Para evitar esto, especifique NFSv3 mientras monta el recurso compartido.
# mount -t nfs -o nfsvers=3 x.x.x.x:/share /mnt
2. Consulte /etc/exports para conocer las opciones correctas para compartir
Asegúrese de que /etc/exports se refiera correctamente a la información correcta del cliente NFS para proporcionar acceso. Algunos servidores NFS requieren que el nombre del cliente NFS se pueda resolver a IP, por lo que debería poder resolverse a través de DNS o especificarse en /etc/hosts del servidor NFS. El formato de /etc/exports el archivo es:
dir client1 (options) [client2(options)...]
Las opciones del cliente incluyen (los valores predeterminados se enumeran primero):
ro / rw :
a) ro:permite a los clientes acceso de solo lectura al recurso compartido.
b) rw:permite a los clientes acceso de lectura y escritura al recurso compartido.
sync / async :
a) sync:el servidor NFS responde a la solicitud solo después de que los cambios realizados por la solicitud anterior se escriben en el disco.
b) async:especifica que el servidor no tiene que esperar.
wdelay / no_wdelay
a) wdelay:el servidor NFS retrasa la confirmación de las solicitudes de escritura cuando sospecha que otra solicitud de escritura es inminente.
b) no_wdelay:use esta opción para desactivar la demora. La opción no_wdelay solo se puede habilitar si la sincronización predeterminada la opción está habilitada.
no_all_squash / all_squash :
a) no_all_squash :no cambia la asignación de usuarios remotos.
b) all_squash :para aplastar a todos los usuarios remotos, incluido el root.
root_squash / no_root_squash :
a) root_squash:evita que los usuarios root conectados de forma remota tengan acceso root. Eliminación efectiva de los privilegios de raíz remota.
b) no_root_squash:deshabilite la eliminación de raíz.
Ejemplo:
# vi /etc/exports /test nfs_client(rw)
3. Compruebe los permisos del servidor NFS
– Podría haber un problema con el servidor NFS que comparte el recurso compartido NFS. Intente montar el recurso compartido problemático en otro cliente NFS, para descartar la posibilidad de un problema en el servidor NFS.
– Establezca el permiso como (ro,no_root_squash,sync) para exportar nfs en el extremo del servidor y ejecute el comando:
# exportfs -r
A continuación, intente montar el directorio compartido de NFS. Si especifica el cliente NFS en /etc/exports por dominio o nombre de host, asegúrese de que el nombre de dominio se asigne a la IP correcta, una entrada incorrecta en /etc/hosts por ejemplo, podría provocar que se deniegue el acceso.
4. Usando tcpdump
En casos muy raros, es posible que deba usar tcpdump para capturar tcpdump de la operación de montaje. Ejecute primero el siguiente comando para comenzar a capturar los paquetes de red. En otra terminal, inicie la operación de montaje de NFS.
# tcpdump -s0 -i [eth#] host [nfs_server_ip] -w /tmp/tcpdump.pcapSolución de problemas comunes de NFS en Linux
CentOS/RHEL 7:Configuración de un servidor NFS y un cliente NFS