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 utilizado 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, las versiones NFS compatibles son NFSv3 y NFSv4 y la versión NFS predeterminada es 4.2 que ofrece soporte para Listas de control de acceso (ACLs), 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 Linux CentOS/RHEL 8.
Requisitos previos:
- Guía de instalación de CentOS 8
- RHEL 8 Instalación mínima
- Habilitar suscripción a RHEL en RHEL 8
- Establecer una dirección IP estática en CentOS/RHEL 8
Nuestro Entorno de Pruebas:
NFS Server IP:10.20.20.8NFS Client IP:10.20.20.9
Configurar el servidor NFS en CentOS 8
1. En primer lugar, comience instalando los paquetes necesarios en el servidor NFS. Los paquetes son nfs-utils que proporciona un demonio para el servidor NFS del núcleo y herramientas relacionadas, como el que contiene el programa showmount.
Ejecute el siguiente comando para instalar el paquete en el servidor NFS (use sudo si está administrando el sistema como usuario no root).
# dnf install nfs-utils
2. Una vez finalizada la instalación, inicie el servicio nfs-server, habilítelo para que se inicie automáticamente en el arranque del sistema y, a continuación, verifique su estado mediante los comandos systemctl.
# systemctl start nfs-server.service# systemctl enable nfs-server.service# systemctl status nfs-server.service
Tenga en cuenta que los demás 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á automáticamente.
Los archivos de configuración para el servidor NFS son:
- /etc / nfs.conf-archivo de configuración principal para los demonios y herramientas NFS.
- / etc / nfsmount.conf-un archivo de configuración de montaje NFS.
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. A continuación, exporte los sistemas de archivos anteriores en el archivo de configuración del servidor NFS /etc/exports para determinar los sistemas de archivos físicos locales a los que pueden acceder los clientes NFS.
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: permite el acceso de lectura y escritura en el sistema de archivos.
- sincronización: indica al servidor NFS que escriba operaciones (escribir información en el disco) cuando se le solicite (se aplica de forma predeterminada).
- all_squash-asigna todos los UID y GID de las solicitudes del cliente al usuario anónimo.
- no_all_squash: se utiliza para asignar todos los UID y GID de las solicitudes de cliente a UID y GID idénticos en el servidor NFS.
- root_squash-asigna solicitudes del usuario root o UID/GID 0 del cliente al UID/GID anónimo.
5. Para exportar el sistema de archivos anterior, ejecute el comando exportfs con el indicador -a
significa exportar o exportar todos los directorios, -r
significa reexportar todos los directorios, sincronizando / var/lib/nfs /etab con/etc /exports y archivos en/etc / exports.d y-v permiten una salida detallada.
# exportfs -arv
6. Para mostrar la lista de exportación actual, ejecute el siguiente comando. Tenga en cuenta que la tabla 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 y, a continuación, volver a cargar las reglas del firewall para aplicar los cambios, de la siguiente manera.
Configuración de Cliente NFS en Sistemas Cliente
8. Ahora, en los nodos cliente, instale los paquetes necesarios para acceder a recursos compartidos NFS en los sistemas cliente. Ejecute el comando apropiado para su distribución:
# dnf install nfs-utils nfs4-acl-tools $ sudo apt install nfs-common nfs4-acl-tools
9. A continuación, ejecute el comando showmount para mostrar la información de montaje del servidor NFS. El comando debe 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. A continuación, confirme que el sistema de archivos remoto se ha montado ejecutando el comando mount y filtre montajes nfs.
# mount | grep nfs
11. Para habilitar el montaje a persistente incluso después de un reinicio del sistema, ejecute el siguiente comando para introducir la entrada correspondiente 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 funciona bien creando un archivo en el servidor y compruebe si el archivo se puede ver en el cliente.
# touch /mnt/backups/file_created_on_server.text # ls -l /mnt/backups/file_created_on_server.text
Y luego haga lo contrario.
# touch /mnt/backups/file_created_on_client.text # ls -l /mnt/backups/file_created_on_client.text
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.