Cómo Configurar un Servidor NFS en Ubuntu 24.04 para Compartición de Archivos de Alto Rendimiento

Cuando se trata de compartir archivos en entornos puramente Linux o Unix, el Network File System (NFS) es el estándar de oro. A diferencia de Samba, que prioriza la interoperabilidad con Windows, NFS está diseñado para ofrecer el máximo rendimiento y eficiencia, lo que lo hace ideal para montajes de directorios de inicio, clusters o cualquier tarea que requiera baja latencia.

En este tutorial, te guiaremos a través del proceso completo para configurar un Servidor NFS en Ubuntu 24.04 y montar el recurso compartido en un cliente, asegurando un flujo de trabajo rápido y seguro.

Paso 1: Instalación de los Paquetes del Servidor NFS

Comenzaremos en la máquina que actuará como Servidor (la que aloja los archivos). Necesitamos instalar el paquete que contiene el kernel server.

Actualizar e Instalar: Abre la terminal en el Servidor y ejecuta:

sudo apt update
sudo apt install nfs-kernel-server

Crear la Carpeta a Exportar: Crea el directorio que deseas compartir y ajusta sus propiedades. Para NFS, a menudo se usa la propiedad de nadie:nogroup para evitar problemas de mapeo de UID/GID iniciales:

sudo mkdir /nfs_compartido
sudo chown -R nobody:nogroup /nfs_compartido
sudo chmod 0777 /nfs_compartido

Paso 2: Definición de las Exportaciones en /etc/exports

El archivo /etc/exports es donde se define qué directorios se comparten, y lo más importante, qué clientes tienen permiso para acceder a ellos.

Editar el Archivo: Abre el archivo de configuración con nano o tu editor preferido:

sudo nano /etc/exports

Añadir la Línea de Exportación: Agrega la siguiente línea al final del archivo, reemplazando IP_DEL_CLIENTE con la dirección IP de la máquina cliente que accederá al recurso:

/nfs_compartido IP_DEL_CLIENTE(rw,sync,no_subtree_check)
  • rw: Permite acceso de lectura y escritura.
  • sync: Asegura que los cambios se escriban de forma inmediata en el disco.
  • no_subtree_check: Deshabilita la verificación de subárboles para mejorar el rendimiento.

Paso 3: Aplicar Cambios y Configurar el Firewall (UFW)

Una vez guardado el archivo /etc/exports, debemos aplicar la nueva configuración y abrir el firewall.

Aplicar Exportaciones: Ejecuta este comando para exportar el sistema de archivos sin necesidad de un reinicio completo del sistema:

sudo exportfs -a

Reiniciar el Servicio: Asegúrate de que el servicio NFS se reinicie correctamente:

sudo systemctl restart nfs-kernel-server

Configurar Firewall (Seguridad): Limita el acceso NFS estrictamente a la IP de tu cliente.

sudo ufw allow from IP_DEL_CLIENTE to any port nfs
sudo ufw reload

Paso 4: Instalación de Paquetes en el Cliente y Montaje

Ahora cambiamos a la máquina Cliente para configurar el acceso.

Instalar Paquetes de Cliente: Instala las utilidades necesarias para montar NFS:

sudo apt update
sudo apt install nfs-common

Verificar Exportaciones (Opcional): Confirma que el servidor está exportando el directorio correctamente:

showmount -e IP_DEL_SERVIDOR

Montaje Temporal: Crea un punto de montaje local y monta el recurso compartido:

sudo mkdir /mnt/nfs_server
sudo mount IP_DEL_SERVIDOR:/nfs_compartido /mnt/nfs_server

Verifica la conexión creando un archivo en /mnt/nfs_server. Debería aparecer inmediatamente en la carpeta /nfs_compartido del Servidor.

Paso 5: Montaje Persistente con /etc/fstab

Para que el montaje se mantenga después de cada reinicio, añade una línea al archivo /etc/fstab del cliente:

Editar fstab:

sudo nano /etc/fstab

Añadir la Línea de Montaje: Agrega la siguiente línea al final:

IP_DEL_SERVIDOR:/nfs_compartido /mnt/nfs_server nfs defaults 0 0

¡Listo! Has configurado un servidor NFS de alto rendimiento, optimizando la compartición de archivos en tus entornos Linux.