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 ejemplorw
(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.