Cómo configurar el servidor NFS en CentOS

norteFS o Network File System es un protocolo de archivo distribuido que le permite compartir un archivo o incluso un directorio completo con otros a través de una red. Establece un entorno servidor-cliente, donde una máquina cliente puede acceder a los datos compartidos por el servidor NFS como si estuvieran montados localmente.

En este tutorial, repasaremos las instrucciones de instalación detalladas para configurar el servidor NFS en CentOS. La guía paso a paso cubrirá cómo configurar el servidor NFS en el lado del servidor y en el lado del cliente. Empecemos.

Índice

Configuración del servidor NFS en CentOS

Nuestro entorno de prueba
NFS Server IP address: 10.0.2.15 
NFS Client IP address: 10.0.2.16

Para comenzar, aquí hay una guía paso a paso sobre cómo configurar el servidor NFS en su sistema CentOS 8.

Paso 1: instale el servidor NFS

Primero, necesitaremos instalar nfs-utils en nuestro sistema. Es el paquete del servidor NFS que funciona como demonio NFS. Para instalarlo, debe ingresar el siguiente comando en la terminal:

$ sudo dnf install nfs-utils -y

imagen-mostrando-servidor-NFS-siendo-instalado-en-CentOS
Instalación del servidor NFS

Estamos ejecutando una instalación limpia de CentOS 8 y nfs-utils ya está instalado en nuestro sistema. También podría ser lo mismo en su máquina. De lo contrario, el paquete se instalará y, a continuación, pasaremos al siguiente paso.

Ahora que tiene nfs-utils instalado en su sistema, deberá iniciar el servicio nfs-server, configurarlo para que se inicie automáticamente al arrancar el sistema y, finalmente, verificar su estado para comprobar si todo funciona según lo previsto.

Para hacer esto, deberá ingresar los siguientes comandos en su terminal:

$ sudo systemctl start nfs-server.service
$ sudo systemctl enable nfs-server.service
$ sudo systemctl status nfs-server.service

La salida debe ser similar a, como se muestra en la imagen a continuación:

Imagen que muestra el servidor NFS activo en CentOS
Comprobación del estado del servidor NFS

los activo sign significa que el servidor NFS está funcionando perfectamente. Debe tener en cuenta que todos los servicios asociados que son necesarios para ejecutar un servidor NFS o montar recursos compartidos NFS también se activan mediante el comando anterior. Estos servicios incluyen nfsd, nfs-idmapd, rpcbind, rpc.mountd, bloqueado, rpc.statd, rpc.rquotad y rpc.idmapd.

Además, en caso de que esté interesado, aquí está la dirección de los archivos de configuración del servidor NFS:

  • /etc/nfs.conf: este es el archivo de configuración principal para el demonio y las herramientas de NFS.
  • /etc/nfsmount.conf: este es el archivo de configuración de montaje de NFS.

Paso 2: crear y exportar un sistema de archivos NFS

Ahora que ha configurado su servidor NFS, es hora de crear un sistema de archivos compartidos en el servidor que será accesible desde el sistema cliente. Para este tutorial, crearemos el directorio / mnt / nfs_share / docs usando el siguiente comando:

$ sudo mkdir -p /mnt/nfs_share/docs

A continuación, para evitar cualquier restricción de archivo en el directorio compartido de NFS, configuraremos la propiedad del directorio usando el siguiente comando:

$ sudo chown -R nobody: /mnt/nfs_share/docs

Esto permite que el sistema cliente cree cualquier archivo en el directorio compartido sin enfrentar problemas de permisos. Además, si desea habilitar todos los permisos: leer, escribir y ejecutar en la carpeta compartida de NFS, puede hacerlo usando el siguiente comando:

$ sudo chmod -R 777 /mnt/nfs_share/docs

Imagen que muestra comandos para otorgar todos los permisos al directorio de archivos compartidos de NFS
Carpeta compartida NFS

Para que se realicen los cambios, deberá reiniciar el demonio NFS con este comando:

$ sudo systemctl restart nfs-utils.service

Es hora de exportarlo para que el sistema cliente pueda tener acceso a él. Para hacer esto, necesitaremos editar el archivo / etc / export. Mientras edita el archivo, puede otorgar acceso a un solo cliente o a varios clientes, así como a toda la subred.

Si desea otorgar acceso a toda la subred, deberá utilizar la siguiente sintaxis:

/mnt/nfs_share/docs subnet (rw,sync,no_all_squash,root_squash)

Aquí "subred”Debe ser reemplazado por la subred del sistema. De lo contrario, puede especificar varios clientes de uno en uno, en una línea separada utilizando esta sintaxis:

/mnt/nfs_share/docs client_IP_1 (rw,sync,no_all_squash,root_squash)
/mnt/nfs_share/docs client_IP_1 (rw,sync,no_all_squash,root_squash)

Aquí hay un vistazo a los otros parámetros que se usan en el comando y lo que significan:

  • rw: este parámetro otorga permisos de lectura y escritura al archivo / carpeta compartida de NFS.
  • sync: este parámetro requiere que los cambios en el disco se realicen primero antes de que se apliquen.
  • no_all_squash: este parámetro mapeará todos los UID y GID de las solicitudes del cliente que son idénticos a los UIDS y GID en el servidor NFS.
  • root_squash: el parámetro mapeará las solicitudes del usuario raíz en el lado del cliente a un UID / GID anónimo.

Usando nuestra configuración, otorgaremos acceso a nuestra máquina cliente con la IP 10.0.2.16. Para hacer esto, primero deberá abrir el archivo / etc / export usando este comando.

$ sudo vi /etc/exports

A continuación, deberá agregar la siguiente línea dentro del archivo:

/mnt/nfs_share/docs 10.0.2.16(rw,sync,no_all_squash,root_squash)

imagen-mostrando-modificado- / etc / export-file
Modificar el archivo / etc / export

Una vez hecho esto, guarde y salga del archivo. Ahora, usando el comando cat, confirme que la entrada fue registrada. Para hacer esto, ingrese el siguiente comando en su terminal:

cat /etc/exports

Debería ver algo similar a la siguiente imagen:

Imagen-mostrando-modificado- / etc / export-file
Confirmando cambios

Ahora es el momento de exportar la carpeta creada anteriormente, para que esté disponible para los sistemas cliente. Para hacer esto, necesitaremos usar el siguiente comando:

$ sudo exportfs -arv

Aquí, la opción -a significa que todos los directorios será exportado. La opción -r reexportar todos los directorios. Y finalmente, la opción -v mostrará una salida detallada.

Sin embargo, solo para asegurarnos de que la lista de exportación esté bien, también ejecutaremos este comando:

$ sudo exportfs -s

¡Y eso es! Hemos creado y exportado correctamente nuestros archivos compartidos NFS. Ahora es el momento de pasar al siguiente paso.

Paso 3: configurar reglas de firewall para el servidor NFS

La configuración de nuestro servidor NFS está completa. Lo único que queda por hacer es configurar las reglas del firewall de manera que permita los servicios NFS.

Esto incluye los siguientes tres servicios: nfs, rpc-bind y mountd. Y para permitir estos servicios a través del firewall, necesitamos ingresar los siguientes comandos en la terminal:

$ sudo firewall-cmd --permanent --add-service=nfs
$ sudo firewall-cmd --permanent --add-service=rpc-bind
$ sudo firewall-cmd --permanent --add-service=mountd

Una vez hecho esto, asegúrese de volver a cargar el firewall para que los cambios surtan efecto. Para recargar el firewall, use este comando:

$ sudo firewall-cmd --reload

Imagen-mostrando-permitiendo-servidor-NFS-para-pasar-a-cortafuegos-CentOS
Configurar el firewall de CentOS

Con el firewall configurado, es hora de configurar el sistema cliente NFS.

Cómo configurar el sistema cliente NFS en CentOS 8

Aquí hay un procedimiento paso a paso sobre cómo configurar el sistema cliente NFS en CentOS 8.

Paso 1: Instale los paquetes de cliente NFS

Primero, necesitaremos instalar los paquetes necesarios para acceder a la carpeta compartida NFS que se encuentra en el servidor NFS. Para hacer esto, ingrese el siguiente comando en la terminal:

$ sudo dnf install nfs-utils nfs4-acl-tools -y

A continuación, mostraremos la carpeta compartida NFS montada en el servidor usando este comando:

$ showmount -e 10.0.2.15

Imagen que muestra la carpeta NFS montada
La carpeta compartida NFS montada

Paso 2: monte el recurso compartido NFS remoto en el servidor

Necesitaremos crear un directorio que usaremos para montar el recurso compartido NFS. Para hacer esto, use el siguiente comando:

$ sudo mkdir p /mnt/client_share

Para montar el directorio compartido NFS remoto que está en el sistema cliente local, necesitaremos usar el siguiente comando.

$ sudo mount -t nfs 10.0.2.15 :/mnt/nfs_shares/docs /mnt/client_share

Donde 10.0.2.15 es la dirección IP del servidor NFS. Para verificar que se ha montado el recurso compartido NFS remoto, puede utilizar el siguiente comando:

$ sudo mount | grep -i nfs

Finalmente, para que el recurso compartido de montaje sea estable incluso después de un reinicio, necesitaremos editar el archivo / etc / fstab y luego agregar la siguiente entrada:

192.168.2.102:/mnt/nfs_shares/docs /mnt/client_share nfs defaults 0 0

Una vez hecho esto, guarde y cierre el archivo y estará listo para comenzar.

Paso 3: Pruebe la configuración del cliente y el servidor NFS

Después de seguir todos los pasos anteriores, hemos configurado con éxito una conexión cliente-servidor usando NFS. Sin embargo, necesitamos verificar si la configuración está funcionando antes de que podamos terminar.

Para hacer esto, primero necesitaremos crear un archivo de prueba en el directorio compartido del servidor NFS y luego verificar si está presente en el directorio montado NFS del cliente. Entonces, primero, creemos el archivo de prueba en el directorio del servidor NFS usando el siguiente comando:

$ sudo touch /mnt/nfs_shares/docs/server_nfs_file.txt

Dirígete al lado del cliente e ingresa este comando en la terminal para verificar si el archivo de prueba está disponible.

$ ls -l /mnt/client_share/

Si ve el archivo, significa que la conexión NFS está funcionando correctamente.

Conclusión

Esa fue nuestra guía detallada sobre cómo configurar el servidor NFS en CentOS 8. Esperamos que este tutorial le haya resultado útil y que le haya ayudado a compartir archivos y directorios con sus sistemas cliente. Quizás le interese configurar un servidor FTP en su máquina CentOS.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir