Configurar un servidor y un cliente NFS en CentOS 8

NFS significa «Sistema de Archivos en Red» y es un protocolo de sistema de archivos distribuido que se utiliza para compartir archivos y carpetas entre sistemas operativos basados en Linux. Con NFS puedes montar un sistema de archivos remoto localmente a través de una red. Con NFS, puedes compartir archivos y directorios con varias máquinas y actualizar los archivos a través del recurso compartido. NFS es la mejor opción si buscas una solución de almacenamiento centralizado.

En este tutorial te mostraremos cómo configurar un servidor y un cliente NFS en CentOS 8.

Requisitos

  • Dos servidores que ejecuten CentOS 8.
  • Se configura una dirección IP estática 172.20.10.4 en el servidor NFS y 172.20.10.3 en el cliente NFS.
  • Se ha configurado una contraseña de root en ambos servidores.

Cómo empezar

Por defecto, SELinux está activado en el servidor CentOS 8. Así que primero tendrás que desactivarlo.

Puedes hacerlo editando el archivo /etc/selinux/config:

nano /etc/selinux/config

Realiza los siguientes cambios:

SELINUX=disabled

Guarda y cierra el archivo. A continuación, reinicia el sistema para aplicar los cambios.

Instalar el servidor NFS

Por defecto, el paquete NFS está disponible en el repositorio por defecto de CentOS 8. Puedes instalarlo ejecutando el siguiente comando:

dnf install nfs-utils

Tras instalar el servidor NFS, inicia el servicio NFS y habilítalo para que se inicie tras reiniciar el sistema:

systemctl start nfs-server
systemctl enable --now nfs-server

También puedes comprobar el estado del servicio NFS con el siguiente comando:

systemctl status nfs-server

Deberías ver la siguiente salida:

? nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
   Active: active (exited) since Thu 2019-11-07 02:07:09 EST; 1s ago
  Process: 9721 ExecStart=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS)
  Process: 9699 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS)
  Process: 9698 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
 Main PID: 9721 (code=exited, status=0/SUCCESS)

Nov 07 02:07:09 centos8 systemd[1]: Starting NFS server and services...
Nov 07 02:07:09 centos8 systemd[1]: Started NFS server and services.

Crear recurso compartido NFS

En esta sección, crearemos dos directorios /nfsshare/data y /nfsshare/backup, y los compartiremos con NFS.

En primer lugar, crea los directorios necesarios con los siguientes comandos:

mkdir -p /nfsshare/data
mkdir -p /nfsshare/backup

A continuación, da permiso total al directorio con el siguiente comando:

chmod -R 777 /nfsshare

A continuación, tendrás que exportar los directorios creados editando el archivo /etc/exports:

nano /etc/exports

Añade las siguientes líneas:

/nfsshare/data  172.20.10.0/24(rw,sync,no_subtree_check)
/nfsshare/backup  172.20.10.0/24(ro,sync,no_subtree_check,no_root_squash)

Guarda y cierra el archivo. A continuación, ejecuta el siguiente comando para que tu directorio se pueda compartir en la red:

exportfs -ra

Tendrás que ejecutar el comando anterior cada vez que modifiques el archivo /etc/exports.

Puedes ver las exportaciones activas con el siguiente comando:

exportfs -v

Deberías ver la siguiente salida:

/nfsshare/data	172.20.10.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/nfsshare/backup
		172.20.10.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,no_root_squash,no_all_squash)

Configurar cortafuegos

A continuación, tendrás que permitir SSH (para fines de administración) y el servicio NFS a través de firewalld para acceder al recurso compartido NFS desde el sistema remoto. Ejecuta el siguiente comando para permitir SSH y el servicio NFS a través de firewalld:

firewall-cmd --permanent --zone=public --add-service=ssh
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --reload

Instalar Cliente NFS

Ahora, inicia sesión en el sistema Cliente NFS e instala el paquete cliente NFS con el siguiente comando:

dnf install nfs-utils

Una vez finalizada la instalación, puedes comprobar los recursos compartidos NFS disponibles en el servidor NFS con el siguiente comando:

showmount -e 172.20.10.4

Deberías ver la siguiente salida:

Export list for 172.20.10.4:
/nfsshare/backup 172.20.10.0/24
/nfsshare/data   172.20.10.0/24

Montar los recursos compartidos NFS en el cliente

A continuación, crea dos directorios en la máquina cliente donde quieras montar los recursos compartidos NFS.

mkdir /home/backup
mkdir /home/data

A continuación, monta los directorios compartidos en el servidor NFS con los siguientes comandos:

mount -t nfs4 172.20.10.4:/nfsshare/data /home/data
mount -t nfs4 172.20.10.4:/nfsshare/backup /home/backup

Ahora puedes comprobar los recursos compartidos NFS montados con el siguiente comando:

df -h

Deberías ver la siguiente salida:

Filesystem                    Size  Used Avail Use% Mounted on
/dev/sda1                      92G   36G   51G  42% /
none                          4.0K     0  4.0K   0% /sys/fs/cgroup
none                          5.0M     0  5.0M   0% /run/lock
none                          1.9G   65M  1.9G   4% /run/shm
none                          100M   44K  100M   1% /run/user
/dev/sda5                     184G  104G   71G  60% /home
172.20.10.4:/nfsshare/data     13G  1.8G   11G  14% /home/data
172.20.10.4:/nfsshare/backup   13G  1.8G   11G  14% /home/backup

Si quieres desmontar los recursos compartidos NFS ejecuta los siguientes comandos:

umount /home/data
umount /home/backup

Automontar recursos compartidos NFS

Si quieres montar los recursos compartidos NFS automáticamente en cada reinicio, edita el archivo /etc/fstab en la máquina cliente:

nano /etc/fstab

Añade las siguientes líneas:

172.20.10.4:/nfsshare/data /home/data nfs4    rw,sync,hard,intr  0     0
172.20.10.4:/nfsshare/backup /home/backup nfs4    rw,sync,hard,intr  0     0

Guarda y cierra el archivo cuando hayas terminado.

Ahora puedes reiniciar la máquina y los puntos de montaje serán permanentes incluso después del reinicio.

Conclusión

Enhorabuena! has instalado y configurado correctamente el servidor y el cliente NFS en CentOS 8. Tu servidor ya está listo para servir archivos. Recuerda que NFS no tiene mucha seguridad, por lo que se recomienda activar la autenticación Kerberos.

También te podría gustar...