Cómo configurar el servidor y el cliente NFS en CentOS 8


El sistema de archivos de red (NFS), también conocido como sistema de archivos cliente/servidor, es un protocolo de sistema de archivos distribuido, multiplataforma y popular que se utiliza para exportar sistemas de archivos locales a través de la red para que los clientes puedan compartir directorios y archivos con otros a través de una red e interactuar. con ellos como si estuvieran montados localmente.

En CentOS/RHEL 8, la versión NFS admitida son NFSv3 y NFSv4 y la versión NFS predeterminada es 4.2, que cuenta con soporte para Listas de control de acceso (ACL), copia del lado del servidor, archivos dispersos, reserva de espacio, NFS etiquetado, mejoras de diseño y mucho más.

En este artículo, aprenderá a instalar y configurar el servidor NFS y el cliente NFS en distribuciones de Linux CentOS/RHEL 8.

  1. CentOS 8 Installation Guide
  2. RHEL 8 Minimal Installation
  3. Enable RHEL Subscription in RHEL 8
  4. Set a Static IP Address in CentOS/RHEL 8
NFS Server IP:	10.20.20.8
NFS Client IP:	10.20.20.9	

Configuración del servidor NFS en CentOS 8

1. Primero, comience instalando los paquetes necesarios en el servidor NFS. Los paquetes son nfs-utils, que proporcionan un demonio para el servidor NFS del kernel y herramientas relacionadas, como contiene el programa showmount.

Ejecute el siguiente comando para instalar el paquete en el servidor NFS (use sudo si está administrando el sistema como un usuario no root).

# dnf install nfs-utils

2. Una vez que se complete la instalación, inicie el servicio nfs-server, habilítelo para que se inicie automáticamente al arrancar el sistema y luego verifique su estado usando los comandos systemctl.

# systemctl start nfs-server.service
# systemctl enable nfs-server.service
# systemctl status nfs-server.service

Tenga en cuenta que los otros servicios necesarios para ejecutar un servidor NFS o montar recursos compartidos NFS, como nfsd, nfs-idmapd, rpcbind, rpc.mountd, lockd, rpc.statd, rpc.rquotad y rpc.idmapd, se iniciarán automáticamente.

Los archivos de configuración para el servidor NFS son:

  • /etc/nfs.conf – main configuration file for the NFS daemons and tools.
  • /etc/nfsmount.conf – an NFS mount configuration file.

3. A continuación, cree los sistemas de archivos para exportar o compartir en el servidor NFS. Para esta guía, crearemos cuatro sistemas de archivos, tres de los cuales son utilizados por el personal de tres departamentos: recursos humanos, finanzas y marketing para compartir archivos y uno es para copias de seguridad de usuarios raíz.

# mkdir -p  /mnt/nfs_shares/{Human_Resource,Finance,Marketing}
# mkdir  -p /mnt/backups
# ls -l /mnt/nfs_shares/

4. Luego exporte los sistemas de archivos anteriores en el archivo de configuración del servidor NFS/etc/export para determinar los sistemas de archivos físicos locales que son accesibles para los clientes NFS.

/mnt/nfs_shares/Human_Resource  	10.20.20.0/24(rw,sync)
/mnt/nfs_shares/Finance			10.20.10.0/24(rw,sync)
/mnt/nfs_shares/Marketing		10.20.30.0/24(rw,sync)
/mnt/backups				10.20.20.9/24(rw,sync,no_all_squash,root_squash)

Estas son algunas de las opciones de exportación (lea exportaciones de man para obtener más información y opciones de exportación):

  • rw – allows both read and write access on the file system.
  • sync – tells the NFS server to write operations (writing information to the disk) when requested (applies by default).
  • all_squash – maps all UIDs and GIDs from client requests to the anonymous user.
  • no_all_squash – used to map all UIDs and GIDs from client requests to identical UIDs and GIDs on the NFS server.
  • root_squash – maps requests from root user or UID/GID 0 from the client to the anonymous UID/GID.

5. Para exportar el sistema de archivos anterior, ejecute el comando exportfs con el indicador -a significa exportar o no exportar todos los directorios, -r significa reexportar todos los directorios, sincronizando/var/lib/nfs/etab con/etc/export y archivos en /etc/exports.d, y -v habilita la salida detallada.

# exportfs -arv

6. Para mostrar la lista de exportación actual, ejecute el siguiente comando. Tenga en cuenta que la tabla de exportaciones también aplica algunas de las opciones de exportación predeterminadas que no están definidas explícitamente como se muestra en la siguiente captura de pantalla.

# exportfs  -s

7. A continuación, si tiene el servicio firewalld en ejecución, debe permitir el tráfico a los servicios NFS necesarios (mountd, nfs, rpc-bind) a través del firewall, luego vuelva a cargar las reglas del firewall para aplicar los cambios, como se indica a continuación.

# firewall-cmd --permanent --add-service=nfs
# firewall-cmd --permanent --add-service=rpc-bind
# firewall-cmd --permanent --add-service=mountd
# firewall-cmd --reload

Configuración del cliente NFS en sistemas cliente

8. Ahora, en los nodos del cliente, instale los paquetes necesarios para acceder a los recursos compartidos de NFS en los sistemas del cliente. Ejecute el comando apropiado para su distribución:

# dnf install nfs-utils nfs4-acl-tools         [On CentOS/RHEL]
$ sudo apt install nfs-common nfs4-acl-tools   [On Debian/Ubuntu]

9. Luego, ejecute el comando showmount para mostrar la información de montaje del servidor NFS. El comando debería generar el sistema de archivos exportado en el cliente como se muestra en la captura de pantalla.

# showmount -e 10.20.20.8

9. A continuación, cree un directorio/sistema de archivos local para montar el sistema de archivos NFS remoto y móntelo como un sistema de archivos ntf.

# mkdir -p /mnt/backups
# mount -t nfs  10.20.20.8:/mnt/backups /mnt/backups

10. Luego, confirme que el sistema de archivos remoto se ha montado ejecutando el comando mount y filtre los montajes nfs.

# mount | grep nfs

11. Para permitir que el montaje sea persistente incluso después de reiniciar el sistema, ejecute el siguiente comando para ingresar la entrada apropiada en/etc/fstab.

# echo "10.20.20.8:/mnt/backups     /mnt/backups  nfs     defaults 0 0">>/etc/fstab
# cat /etc/fstab

12. Por último, pruebe si la configuración de NFS está funcionando bien creando un archivo en el servidor y verifique si el archivo se puede ver en el cliente.

# touch /mnt/backups/file_created_on_server.text     [On NFS Server]
# ls -l /mnt/backups/file_created_on_server.text     [On NFS client]

Luego haz lo contrario.

# touch /mnt/backups/file_created_on_client.text     [On NFS Client]
# ls -l /mnt/backups/file_created_on_client.text     [On NFS Server]

13. Para desmontar el sistema de archivos remoto en el lado del cliente.

# umount /mnt/backups

Tenga en cuenta que no puede desmontar el sistema de archivos remoto si está operando dentro de él como se muestra en la siguiente captura de pantalla.

¡Eso es! En esta guía, mostramos cómo instalar y configurar un servidor y un cliente NFS en CentOS/RHEL 8. Si tiene alguna idea que compartir o preguntas, utilice el formulario de comentarios a continuación para comunicarse con nosotros.