GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Instalar servidor y cliente NFS en Ubuntu

NFS o Network File System es un protocolo de sistema de archivos distribuido desarrollado originalmente solo por Sun Microsystems. A través de NFS, puede permitir que un sistema comparta directorios y archivos con otros a través de una red. Al compartir archivos NFS, los usuarios e incluso los programas pueden acceder a la información en sistemas remotos casi como si estuvieran en una máquina local.

NFS opera en un entorno cliente-servidor donde el servidor es responsable de administrar la autenticación, autorización y administración de los clientes, así como también de todos los datos compartidos dentro de un sistema de archivos en particular. Después de la autorización, cualquier número de clientes puede acceder a los datos compartidos como si estuvieran en su almacenamiento interno. Configurar un servidor NFS en su sistema Ubuntu es muy fácil. Solo necesita realizar algunas instalaciones y configuraciones necesarias, tanto en el servidor como en las máquinas cliente, y estará listo para comenzar.

En este artículo explicaremos paso a paso cómo configurar un servidor y cliente NFS que le permita compartir archivos de un sistema Ubuntu a otro.

Ejecutamos los comandos y procedimientos descritos en este artículo en un sistema Ubuntu 18.04 LTS y recientemente los probamos con el nuevo Ubuntu 20.04. Dado que usamos la línea de comandos de Ubuntu, el terminal, para realizar todas las operaciones, puede abrirlo usando el tablero del sistema o la combinación de teclas Ctrl+Alt+T.

Configuración del servidor anfitrión

Para configurar el sistema host para compartir directorios, necesitaremos instalar el servidor NFS Kernel en él y luego crear y exportar los directorios a los que queremos que accedan los sistemas cliente. Siga estos pasos para configurar sin problemas el lado del host:

Paso 1:Instale el servidor NFS Kernel

Antes de instalar el servidor NFS Kernel, necesitamos actualizar el índice del repositorio de nuestro sistema con el de Internet a través del siguiente comando apt como sudo:

$ sudo apt-get update

El comando anterior nos permite instalar la última versión disponible de un software a través de los repositorios de Ubuntu.

Ahora, ejecute el siguiente comando para instalar NFS Kernel Server en su sistema:

$ sudo apt install nfs-kernel-server

El sistema le preguntará con una opción S/n para confirmar si desea continuar con la instalación. Ingrese Y y luego presione Enter para continuar, después de lo cual el software se instalará correctamente en su sistema.

Paso 2:crear el directorio de exportación

El directorio que queremos compartir con el sistema cliente se llama directorio de exportación. Puedes nombrarlo según tu elección; aquí, estamos creando un directorio de exportación con el nombre de "carpeta compartida" en el directorio mnt(mount) de nuestro sistema.

Utilice el siguiente comando, especificando un nombre de carpeta de montaje según sus necesidades, a través del siguiente comando como root:

$ sudo mkdir -p /mnt/sharedfolder

Como queremos que todos los clientes accedan al directorio, eliminaremos los permisos restrictivos de la carpeta de exportación a través de los siguientes comandos:

$ sudo chown nobody:nogroup /mnt/sharedfolder
$ sudo chmod 777 /mnt/sharedfolder

Ahora todos los usuarios de todos los grupos en el sistema del cliente podrán acceder a nuestra "carpeta compartida".

Puede crear tantas subcarpetas en la carpeta de exportación como desee para que el cliente acceda.

Paso 3:Asigne acceso al servidor a los clientes a través del archivo de exportación NFS

Después de crear la carpeta de exportación, necesitaremos proporcionar a los clientes el permiso para acceder a la máquina del servidor host. Este permiso se define a través del archivo de exportación ubicado en la carpeta /etc de su sistema. Utilice el siguiente comando para abrir este archivo a través del editor Nano:

$ sudo nano /etc/exports

La edición de este archivo necesita acceso de root; por lo tanto, deberá usar sudo con su comando. También puede abrir el archivo en cualquiera de sus editores de texto favoritos.

Una vez que haya abierto el archivo, puede permitir el acceso a:

  • Un solo cliente agregando la siguiente línea en el archivo:
/mnt/sharedfolder clientIP(rw,sync,no_subtree_check)
  • Múltiples clientes agregando las siguientes líneas en el archivo:
/mnt/sharedfolder client1IP(rw,sync,no_subtree_check)
/mnt/sharedfolder client2IP(rw,sync,no_subtree_check)
  • Múltiples clientes, especificando una subred completa a la que pertenecen los clientes:
/mnt/sharedfolder subnetIP/24(rw,sync,no_subtree_check)

En este ejemplo, especificamos una subred completa de todos los clientes a los que queremos conceder acceso a nuestra carpeta de exportación (carpeta compartida):

Agregue la(s) línea(s) requerida(s) a su archivo de exportación y luego guárdelo presionando Ctrl+X, ingresando Y, y luego presionando Enter.

Los permisos "rw,sync,no_subtree_check" definidos en este archivo significan que los clientes pueden realizar:

  • rw :operaciones de lectura y escritura
  • sincronizar :escriba cualquier cambio en el disco antes de aplicarlo
  • no_subtree_check :evitar la comprobación de subárboles

Paso 4:exporte el directorio compartido

Después de realizar todas las configuraciones anteriores en el sistema host, ahora es el momento de exportar el directorio compartido a través del siguiente comando como sudo:

$ sudo exportfs -a

Finalmente, para que todas las configuraciones surtan efecto, reinicie el servidor NFS Kernel de la siguiente manera:

$sudo systemctl restart nfs-kernel-server

Paso 5:Abra el firewall para el (los) cliente(s)

Un paso importante es verificar que el firewall del servidor esté abierto a los clientes para que puedan acceder al contenido compartido. El siguiente comando configurará el firewall para dar acceso a los clientes a través de NFS:

$ sudo ufw allow from [clientIP or clientSubnetIP] to any port nfs

En nuestro ejemplo, damos acceso a una subred completa de máquinas de clientes a través del siguiente comando:

$ sudo ufw allow from 192.168.100/24 to any port nfs

Ahora, cuando verifique el estado de su firewall de Ubuntu a través del siguiente comando, podrá ver el estado de la Acción como "Permitir" para la IP del cliente.

$ sudo ufw status

Su servidor host ahora está listo para exportar la carpeta compartida a los clientes especificados a través del servidor NFS Kernel.

Configuración de la máquina cliente

Ahora es el momento de realizar algunas configuraciones simples en la máquina del cliente, de modo que la carpeta compartida del host se pueda montar en el cliente y luego acceder a ella sin problemas.

Paso 1:instalar NFS común

Antes de instalar la aplicación NFS Common, necesitamos actualizar el índice del repositorio de nuestro sistema con el de Internet a través del siguiente comando apt como sudo:

$ sudo apt-get update

El comando anterior nos permite instalar la última versión disponible de un software a través de los repositorios de Ubuntu.

Ahora, ejecute el siguiente comando para instalar el cliente NFS Common en su sistema:

$ sudo apt-get install nfs-common

El sistema le preguntará con una opción S/n para confirmar si desea continuar con la instalación. Ingrese Y y luego presione Enter para continuar, después de lo cual el software se instalará correctamente en su sistema.

Paso 2:Cree un punto de montaje para la carpeta compartida del host NFS

El sistema de su cliente necesita un directorio donde se pueda acceder a todo el contenido compartido por el servidor host en la carpeta de exportación. Puede crear esta carpeta en cualquier parte de su sistema. Estamos creando una carpeta de montaje en el directorio mnt de la máquina de nuestro cliente:

$ sudo mkdir -p /mnt/sharedfolder_client

Paso 3:Monte el directorio compartido en el cliente

La carpeta que creó en el paso anterior es como cualquier otra carpeta en su sistema, a menos que monte el directorio compartido de su host en esta carpeta recién creada.

Utilice el siguiente comando para montar la carpeta compartida desde el host a una carpeta de montaje en el cliente:

$ sudo mount serverIP:/exportFolder_server /mnt/mountfolder_client

En nuestro ejemplo, estamos ejecutando el siguiente comando para exportar nuestra "carpeta compartida" del servidor a la carpeta de montaje "sharedfolder_client" en la máquina cliente:

$ sudo mount 192.168.100.5:/mnt/sharedfolder /mnt/sharedfolder_client

Paso 4:Pruebe la conexión

Cree o guarde un archivo en la carpeta de exportación del servidor host NFS. Ahora, abra la carpeta de montaje en la máquina cliente; debería poder ver el mismo archivo compartido y accesible en esta carpeta.

Conclusión

Configurar un entorno cliente-servidor NFS en sistemas Ubuntu es una tarea sencilla. A través de este artículo, aprendió cómo instalar los paquetes NFS necesarios tanto en el servidor como en los clientes. También aprendió cómo configurar el servidor NFS y las máquinas cliente para que las carpetas se puedan compartir y luego acceder sin problemas sin ningún firewall o falla relacionada con los permisos. Ahora puede compartir fácilmente contenido de un sistema Ubuntu a otro utilizando el protocolo NFS.


Ubuntu
  1. Cómo instalar el servidor y el cliente NTP en Ubuntu 18.04 LTS

  2. Cómo instalar NFS Client y Server en Ubuntu 20.04

  3. Instalar servidor y cliente Telnet en Ubuntu 20.04 LTS - ¿Guía paso a paso?

  4. Instalar UrBackup Server and Client en Ubuntu 20.04 - ¿Cómo hacerlo?

  5. Cómo configurar el servidor y el cliente NFS en Ubuntu 20.04

Cómo instalar servidor y cliente NTP en Ubuntu

Cómo instalar UrBackup Server and Client en Ubuntu 20.04

Cómo instalar el servidor y el cliente Telnet en Ubuntu

Cómo instalar el servidor NTP y los clientes en Ubuntu 20.04 LTS

Cómo instalar y configurar NFS en Ubuntu 22.04/20.04

Instale y use Glances para monitorear Ubuntu 20.04 Servidor o escritorio