NFS permite que un cliente acceda a un directorio exportado por otro equipo como si fuera parte de su propio árbol de archivos. Para configurarlo hacen falta una exportación restringida en el servidor, conectividad entre los equipos y permisos compatibles en ambos extremos [1][2].
Seguridad: limita la exportación a las direcciones de los clientes que deban acceder y evita
no_root_squash. NFS con autenticación de sistema confía en las identidades UID y GID que presenta el cliente; úsalo dentro de una red controlada y configura seguridad adicional si el entorno la requiere [1].
Configurar el servidor NFS en Linux
En Debian o Ubuntu, instala el servidor:
sudo apt install nfs-kernel-server
Crea una carpeta dedicada a la exportación y asígnale los permisos que necesiten los usuarios:
sudo mkdir -p /srv/nfs/shared
Edita /etc/exports y añade una regla para la dirección del cliente. 192.0.2.25 es una dirección de ejemplo reservada para documentación; sustitúyela por la dirección real del cliente:
/srv/nfs/shared 192.0.2.25(rw,sync,root_squash,no_subtree_check,fsid=0)
rwpermite lectura y escritura; usarosi el cliente solo debe leer.syncconfirma las escrituras de forma síncrona.root_squashevita que root del cliente tenga privilegios de root sobre la exportación. Es el comportamiento predeterminado de Linux NFS, pero aquí se deja explícito [1].no_subtree_checkdesactiva la comprobación de subárbol. Evalúa esta opción según tu configuración de exportaciones [1].
fsid=0 marca esta única exportación como raíz del espacio NFSv4 del servidor; por eso los ejemplos de cliente montan servidor:/. Si exportas varios directorios, define y documenta una raíz NFSv4 y sus rutas antes de montar.
Aplica y revisa la configuración:
sudo exportfs -ra
sudo exportfs -v
Permite el tráfico NFS necesario desde los clientes autorizados en el firewall del servidor. No abras los servicios NFS a redes no confiables.
Montar la exportación desde Linux
En el cliente Debian o Ubuntu, instala las utilidades NFS y crea el punto de montaje:
sudo apt install nfs-common
sudo mkdir -p /mnt/shared
Monta la ruta exportada:
sudo mount -t nfs -o rw servidor:/ /mnt/shared
El cliente Linux negocia una versión compatible si no se especifica nfsvers=. Si hace falta fijar una versión por compatibilidad, consulta primero qué versiones ofrece el servidor [2].
Montar desde macOS
Crea un punto de montaje y usa mount_nfs desde Terminal:
sudo mkdir -p /Volumes/shared
sudo mount_nfs -o vers=4,tcp servidor:/ /Volumes/shared
macOS incluye mount_nfs; sus opciones pueden diferir de las del cliente Linux. Comprueba man mount_nfs en la versión instalada y utiliza una versión NFS admitida por ambos equipos [3].
Comprobar y desmontar
En Linux, confirma que el recurso aparece montado:
findmnt /mnt/shared
En macOS, consulta los montajes activos:
mount | grep nfs
Prueba lectura y escritura con un archivo temporal y confirma que los permisos corresponden a la identidad de usuario esperada. Para desmontar:
sudo umount /mnt/shared
En macOS, sustituye la ruta por /Volumes/shared.
Solucionar problemas habituales
- Acceso denegado: comprueba que la dirección del cliente coincide con
/etc/exports, que los permisos del directorio permiten la operación y que UID/GID son coherentes. - El servidor no responde: confirma conectividad y reglas de firewall entre cliente y servidor.
- Error de versión: acuerda una versión soportada por ambos equipos y especifícala solo si la negociación automática no funciona.
- Errores de E/S cuando la red falla: evita añadir
softsin evaluar las consecuencias; las solicitudes pueden devolverse a la aplicación como errores en lugar de reintentarse indefinidamente [2].
Fuentes consultadas
- Manual de Linux NFS: exportaciones, opciones y root squashing
- Manual de Linux NFS: montaje y opciones del cliente
- Manual de macOS
mount_nfs