Interadictos Blog Programación y sistemas Cómo instalar y configurar un NFS en Linux
Programación y sistemas

Cómo instalar y configurar un NFS en Linux

Instalar y configurar un NFS en linux

El sistema de archivos en red (NFS, por sus siglas en inglés: Network File System) es una herramienta poderosa que permite a los usuarios acceder a archivos de manera remota como si estuvieran almacenados localmente. Es una excelente opción para compartir directorios entre servidores o estaciones de trabajo en una red. En este artículo te explicaremos cómo instalar y configurar un servidor NFS en Linux, así como montar el sistema en un cliente.

Prerrequisitos

Antes de comenzar, asegúrate de cumplir con los siguientes requisitos:

  • Dos máquinas Linux (una actuará como servidor y la otra como cliente).
  • Privilegios de superusuario (root) o acceso a sudo.
  • Conexión de red entre ambos equipos.

Instalación del Servidor NFS

Paso 1: Instalar el paquete NFS

En el servidor, primero instala el paquete necesario para habilitar el NFS. En la mayoría de las distribuciones de Linux (Debian, Ubuntu, CentOS, Fedora), puedes usar el siguiente comando:

En Ubuntu/Debian:

sudo apt update
sudo apt install nfs-kernel-server

En CentOS/Fedora:

sudo yum install nfs-utils

Paso 2: Configurar los directorios compartidos

Debes elegir qué directorios deseas compartir con los clientes NFS. Edita el archivo /etc/exports para especificar los directorios y las máquinas que tendrán acceso a ellos.

Abre el archivo de configuración:

sudo nano /etc/exports

Agrega una línea por cada directorio que desees compartir. La sintaxis es la siguiente:

/ruta/a/compartir    IP_cliente(opciones)
  • /ruta/a/compartir: es el directorio que deseas compartir.
  • IP_cliente: es la dirección IP del cliente que tendrá acceso.
  • opciones: puedes definir permisos, por ejemplo rw (lectura/escritura), ro (solo lectura), entre otros.

Ejemplo:

/home/usuario/compartido    192.168.1.100(rw,sync,no_subtree_check)

En este ejemplo, el directorio /home/usuario/compartido se compartirá con la máquina cliente con IP 192.168.1.100, con permisos de lectura/escritura.

Opciones comunes:

  • rw: Permitir lectura y escritura.
  • ro: Solo lectura.
  • sync: Las escrituras se realizan de manera sincronizada.
  • no_subtree_check: Evita problemas si los directorios exportados son subdirectorios.

Paso 3: Aplicar la configuración

Después de editar el archivo /etc/exports, aplica la configuración ejecutando:

sudo exportfs -a

Reinicia el servicio NFS para asegurarte de que los cambios surtan efecto:

sudo systemctl restart nfs-kernel-server

Paso 4: Configurar el Firewall

Si tienes un firewall activo en tu servidor, necesitas abrir los puertos correspondientes para el servicio NFS. En Ubuntu/Debian, usa ufw de la siguiente manera:

sudo ufw allow from 192.168.1.0/24 to any port nfs

En CentOS/Fedora, usa firewalld:

sudo firewall-cmd --permanent --add-service=nfs
sudo firewall-cmd --reload

Instalación en el Cliente NFS

Paso 1: Instalar el paquete NFS en el cliente

En la máquina cliente, también es necesario instalar el paquete NFS para poder montar los directorios compartidos.

En Ubuntu/Debian:

sudo apt update
sudo apt install nfs-common

En CentOS/Fedora:

sudo yum install nfs-utils

Paso 2: Montar el directorio compartido

Una vez que el paquete esté instalado, puedes montar el directorio compartido desde el servidor. Primero, crea un punto de montaje en el cliente:

sudo mkdir -p /mnt/nfs/compartido

Luego, monta el sistema de archivos NFS:

sudo mount 192.168.1.1:/home/usuario/compartido /mnt/nfs/compartido

Donde 192.168.1.1 es la IP del servidor NFS y /home/usuario/compartido es el directorio compartido en el servidor.

Paso 3: Montaje automático en el arranque

Si deseas que el directorio NFS se monte automáticamente al inicio del sistema, agrega la siguiente línea al archivo /etc/fstab en el cliente:

192.168.1.1:/home/usuario/compartido  /mnt/nfs/compartido  nfs  defaults  0  0

Verificación y Solución de Problemas

  • Puedes verificar los directorios exportados en el servidor usando:
sudo exportfs -v
  • Si el montaje falla en el cliente, revisa los logs en /var/log/syslog (Ubuntu/Debian) o /var/log/messages (CentOS/Fedora) para obtener más detalles.
  • Asegúrate de que los servicios NFS estén en ejecución:
sudo systemctl status nfs-kernel-server  # En el servidor
sudo systemctl status nfs-client         # En el cliente

Conclusión

El sistema NFS es una forma eficiente de compartir archivos entre máquinas en una red local. Con los pasos descritos, puedes configurar y utilizar NFS tanto en el servidor como en el cliente. Asegúrate de proteger correctamente los directorios compartidos y el acceso a los mismos para evitar problemas de seguridad.

Salir de la versión móvil