NFS (Network File System) es un protocolo de sistema de archivos que permite a los usuarios ver y acceder a archivos y carpetas en un sistema remoto como si estuvieran almacenados localmente. Es una configuración cliente-servidor en la que el sistema que comparte el almacenamiento se denomina servidor, mientras que el sistema que accede al almacenamiento almacenado en un servidor se denomina cliente. NFS permite a los usuarios o administradores de sistemas montar todo o parte del sistema de archivos de un servidor en el sistema del cliente. Luego, los clientes pueden acceder a los archivos montados según los permisos específicos (lectura, escritura) asignados a esos archivos.
Crear la configuración cliente-servidor de NFS es una tarea simple que se puede realizar en unos pocos pasos:instalación, exportación, montaje y acceso. En este artículo, explicaremos el proceso de configuración de un servidor y cliente NFS en un sistema Debian para que pueda compartir archivos entre sistemas remotos.
Hemos ejecutado los comandos y procedimientos mencionados en este artículo en un sistema Debian 10.
Servidor NFS
Para configurar un sistema host para compartir directorios, tendremos que instalar el servidor NFS Kernel en él. Siga los pasos a continuación para hacerlo:
Paso 1:Instale el servidor NFS Kernel
Antes de continuar con la instalación del servidor NFS, actualice el índice del repositorio de su sistema ejecutando el siguiente comando en la Terminal:
$ sudo apt-get update
Una vez actualizado, instale el servidor NFS Kernel ejecutando el siguiente comando en la Terminal:
$ sudo apt install nfs-kernel-system
El sistema podría proporcionarle un S/n opción para confirmar la instalación. Presiona y para confirmar y la instalación se iniciará en su sistema.
Paso 2:crear el directorio de exportación
Ahora tenemos que crear un directorio de exportación que se usará para compartir con los sistemas del cliente. Puede etiquetarlo según su preferencia. Aquí estamos creando un directorio de exportación con el nombre "carpeta compartida" en el directorio /mnt.
Ejecute el siguiente comando mencionando la ruta del directorio de exportación de la siguiente manera:
$ sudo mkdir –p /mnt/sharedfolder
Para permitir que todos los clientes accedan al directorio de exportación, deberá eliminar los permisos restrictivos. Ejecute el siguiente comando para hacerlo:
$ sudo chown nobody:nogroup /mnt/sharedfolder
Luego aplique un nuevo permiso que permita a todos leer, escribir y ejecutar acceso.
$ sudo chmod 755 /mnt/sharedfolder
Permitirá que todos los clientes accedan a la carpeta compartida.
Paso 3:Configurar el directorio de exportación
El archivo de configuración para el servidor NFS se encuentra en el directorio /etc/. Aquí puede especificar los directorios que desea compartir con sus clientes junto con el nombre de host de los clientes. Para editar el archivo /etc/exports usando el editor nano, ejecute el siguiente comando como sudo en la Terminal:
$ sudo nano /etc/exports
Utilice el siguiente formato para asignar acceso a los clientes:
directory hostname(options)
Para permitir el acceso a un solo cliente, agregue la siguiente línea:
/mnt/sharedfolder clientIP(rw,sync,no_subtree_check)
Para permitir el acceso a múltiples clientes, agregue la siguiente línea:
/mnt/sharedfolder client1IP(rw,sync,no_subtree_check) /mnt/sharedfolder client2IP(rw,sync,no_subtree_check)
Para permitir el acceso a múltiples clientes especificando una subred completa, agregue la siguiente línea:
/mnt/sharedfolder subnetIP/24(rw,sync,no_subtree_check)
Aquí, estamos especificando toda la subred para que los clientes puedan acceder a nuestro directorio compartido.
Una vez que termine de editar el archivo /etc/exports, presione ctrl+O para guardar y ctrl+X para salir del archivo.
Los parámetros (rw,sync,no_subtree_check) en el archivo anterior significan que el cliente tiene los siguientes permisos:
- rw :operaciones de lectura y escritura
- sincronizar :escriba cualquier cambio en el disco antes de aplicarlo
- no_subtree_check :sin comprobación de subárbol
Paso 4:exporte el directorio compartido
A continuación, en este paso, deberá exportar el directorio compartido que figura en /etc/exports. Para hacerlo, ejecute el siguiente comando en la Terminal:
$ sudo exportfs –a
Luego reinicie el servidor NFS Kernel para aplicar los cambios de configuración.
Paso 5:configurar el cortafuegos
Ahora es importante verificar que el servidor esté abierto para que los clientes accedan al contenido compartido. Debe agregar la regla que permite el tráfico de los clientes especificados al puerto NFS. Para hacerlo, utilice la siguiente sintaxis:
$ sudo ufw allow from [client-IP or client-Subnet] to any port nfs
En nuestro ejemplo, vamos a permitir la subred 192.168.72.0 completa al puerto NF:
$ sudo ufw allow from 192.168.72.0/24 to any port nfs
Ahora, para verificar si la regla se agregó correctamente, ejecute el siguiente comando en la Terminal:
$ sudo ufw status
Ahora nuestro servidor host NFS está configurado y listo para ser accedido por los clientes especificados.
Configuración de la máquina cliente
Ahora, configuraremos la máquina cliente para que acceda al directorio de exportación del servidor. Siga los pasos a continuación para hacerlo:
Paso 1:Instalar el cliente NFS
Primero, actualice el índice del repositorio de su máquina cliente ejecutando el siguiente comando en la Terminal:
$ sudo apt-get update
Luego instale la aplicación de cliente NFS conocida como NFS común ejecutando el siguiente comando en la Terminal:
$ sudo apt-get install nfs-common
El sistema podría proporcionarle un S/n opción para confirmar la instalación. Presiona y para confirmar y la instalación se iniciará en su sistema.
Paso 2:Cree un punto de montaje para la carpeta compartida del servidor NFS
Ahora cree un punto de montaje que se usará para acceder al contenido compartido del servidor. Aquí estamos creando el punto de montaje con el nombre "sharedfolder_clientr" en el directorio /mnt. Hemos utilizado el siguiente comando para hacerlo:
$ sudo mkdir -p /mnt/sharedfolder_client
Paso 3:Monte el directorio compartido del servidor en el cliente
En el paso anterior, hemos creado el punto de montaje. Ahora montaremos el directorio compartido del servidor NFS en el punto de montaje creado anteriormente. La siguiente sintaxis se puede utilizar para este propósito:
$ sudo mount serverIP:/exportFolder_server /mnt/mountfolder_client
Por ejemplo, en nuestro caso, montaremos el directorio compartido “/mnt/sharedfolder” desde el servidor NFS al punto de montaje “/mnt/mountfolder_client” en nuestra máquina cliente.
$ sudo mount 192.168.72.164:/mnt/sharedfolder /mnt/sharedfolder_client
Donde 192.168.72.164 es la IP de nuestro servidor NFS.
Ahora el directorio NFS compartido se ha montado en la máquina del cliente.
Paso 4:Pruebe la conexión
Ahora es el momento de probar nuestra configuración cliente-servidor NFS. Para hacerlo, cree un archivo o carpeta de prueba en el directorio compartido de su servidor NFS. Como en el siguiente ejemplo, puede ver que hemos creado dos carpetas llamadas "documentos" y "música" en nuestro directorio compartido del servidor NFS.
Ahora abra el punto de montaje en su máquina cliente. Verá aquí los mismos archivos y carpetas que se crearon en el directorio compartido del servidor.
¡Eso es todo! Espero que haya aprendido a instalar y configurar el servidor y el cliente NFS en un sistema Debian 10. Este artículo también cubre cómo acceder al host NFS para acceder a la información compartida.