GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar el servidor y el cliente NFS en Rocky/Alma Linux 8

Rocky Linux 8 es compatible con NFS versión 3 (NFSv3) y 4 (NFSv4). La versión predeterminada de NFS es 4.2, que incluye compatibilidad con 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 esta guía, aprenderemos cómo instalar y configurar el servidor NFS y el cliente NFS en Rocky Linux 8.

Requisitos

  • Servidor Rocky Linux actualizado para ser utilizado como servidor y otro para el cliente
  • Conectividad desde los servidores
  • Acceso a Sudo desde los servidores

Tabla de contenido

  1. Asegúrese de que el servidor esté actualizado
  2. Instalar los paquetes NFS
  3. Inicio y activación del servidor NFS
  4. Habilitación del servicio NFS en Firewall
  5. Configuración de exportaciones en el servidor NFS
  6. Configuración de sistemas cliente NFS

1. Asegurarse de que el servidor esté actualizado

Antes de continuar, asegurémonos de que el servidor esté actualizado. Use este comando para lograr esto:

sudo dnf -y update

2. Instale los paquetes NFS

El paquete nfs-utils proporciona un demonio para el servidor kernel NFS y herramientas relacionadas, como contiene el showmount programa. Use este comando para instalar el paquete:

sudo dnf install -y nfs-utils

3. Iniciar y habilitar el servidor NFS

Una vez que los paquetes NFS se hayan instalado correctamente, podemos iniciar y habilitar el servidor NFS. Utilice este comando systemctl para iniciar el servidor:

sudo systemctl start nfs-server

Confirme el estado del servicio con este comando:

$ sudo systemctl status nfs-server
● 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 2022-01-13 17:54:19 UTC; 36s ago
  Process: 59320 ExecStart=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS)
  Process: 59308 ExecStart=/usr/sbin/rpc.nfsd (code=exited, status=0/SUCCESS)
  Process: 59305 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
 Main PID: 59320 (code=exited, status=0/SUCCESS)

Jan 13 17:54:18 dev-rockysrv.inv.re systemd[1]: Starting NFS server and services...
Jan 13 17:54:19 dev-rockysrv.inv.re systemd[1]: Started NFS server and services.

El resultado anterior muestra que el servicio se inició correctamente. Para permitir que el servicio se inicie en el arranque del sistema, use este comando:

sudo systemctl enable nfs-server

Tenga en cuenta que los demás servicios necesarios para ejecutar un servidor NFS o montar recursos compartidos NFS, como nfsdnfs-idmapd , rpcbind , rpc.mountd , lockd , rpc.statd , rpc.rquotadrpc.idmapd se iniciará automáticamente.

4. Habilitación del servicio NFS en Firewall

Si tiene firewalld instalado y habilitado, debe habilitar los servicios NFS. Debe permitir el tráfico a los servicios NFS necesarios (mountdnfsrpc-bind ) a través del cortafuegos, luego vuelva a cargar las reglas del cortafuegos para aplicar los cambios, de la siguiente manera.

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

5. Configuración de exportaciones en el servidor NFS

Los archivos de configuración para el servidor NFS se encuentran en estas rutas:

  • /etc/nfs.conf – este es el archivo de configuración principal para los demonios y herramientas NFS
  • /etc/nfsmount.conf – este es el archivo de configuración de montaje NFS

Vamos a crear sistemas de archivos para exportar o compartir en el servidor NFS. Crearemos dos sistemas de archivos para mirar, /mnt/nfs_shares/files para archivos compartidos y /mnt/nfs_shares/backup para copias de seguridad.

Vamos a crear los directorios en el servidor

sudo mkdir -p /mnt/nfs_shares/files
sudo mkdir -p /mnt/nfs_shares/backup

Confirmar

$ sudo ls /mnt/nfs_shares
backup	files

Luego agregue los sistemas de archivos anteriores en el archivo de exportación /etc/exports en el servidor NFS para determinar los sistemas de archivos locales que se exportan a los clientes NFS.

Abra el archivo de exportación con su editor de texto

sudo vim /etc/exports

Luego agrega este contenido:

/mnt/nfs_shares/files  	10.70.5.170(rw,sync)
/mnt/nfs_shares/backup  10.70.5.0/24(rw,sync,no_all_squash,root_squash)

Estas son las opciones de exportación que se pueden utilizar:

  • rw – permite el acceso de lectura y escritura en el sistema de archivos.
  • sincronizar – le dice 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 los clientes a UID y GID idénticos en el servidor NFS.
  • raíz_calabaza – asigna solicitudes del usuario raíz o UID/GID 0 del cliente al UID/GID anónimo.

Una vez que los sistemas de archivos están definidos en el archivo de exportaciones, debemos ejecutar exportfs comando para que sean exportados. El exportfs se puede ejecutar con -a bandera que significa exportar o anular la exportación de todos los directorios, -r lo que significa volver a exportar todos los directorios, sincronizando /var/lib/nfs/etab con /etc/exportaciones y archivos en /etc/exports.d-v habilita la salida detallada.

sudo exportfs -arv

Esta es la salida en mi servidor

$ sudo exportfs -arv
exporting 10.70.5.170:/mnt/nfs_shares/files
exporting 10.70.5.0/24:/mnt/nfs_shares/backup

Para mostrar la lista de exportación actual, ejecute el siguiente comando. Tenga en cuenta que la tabla exportfs también aplica algunas opciones predeterminadas que no están definidas explícitamente:

$ sudo exportfs  -s
/mnt/nfs_shares/files  10.70.5.170(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/mnt/nfs_shares/backup  10.70.5.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

6. Configuración de sistemas cliente NFS

Ahora que hemos configurado las exportaciones en el servidor, podemos acceder a ellas desde el sistema cliente. Inicie sesión en el sistema cliente e instale los paquetes necesarios para permitir el acceso a los recursos compartidos de NFS.

En sistemas basados ​​en RHEL:

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

En distribuciones basadas en Debian/Ubuntu:

sudo apt install nfs-common nfs4-acl-tools

Luego podemos ejecutar el comando showmount para mostrar la información de montaje para el servidor NFS. El comando genera sistemas de archivos exportados en el servidor

showmount -e 10.70.5.221

Salida

$ showmount -e 10.70.5.221
Export list for 10.70.5.221:
/mnt/nfs_shares/backup 10.70.5.0/24
/mnt/nfs_shares/files  10.70.5.170

Cree un directorio de sistema de archivos local para montar los sistemas de archivos NFS remotos y móntelo como un sistema de archivos nfs

mkdir -p ~/backups
mkdir -p ~/nfs_files
sudo mount -t nfs  10.70.5.221:/mnt/nfs_shares/backup ~/backups
sudo mount -t nfs  10.70.5.221:/mnt/nfs_shares/files ~/nfs_files

Entonces podemos confirmar que el sistema de archivos remoto se ha montado ejecutando el mount comando y filtro nfs monturas.

sudo mount | grep nfs

Salida en mi máquina

$ sudo mount | grep nfs
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
10.70.5.221:/mnt/nfs_shares/backup on /home/rocky/backups type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)
10.70.5.221:/mnt/nfs_shares/files on /home/rocky/nfs_files type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.70.5.170,local_lock=none,addr=10.70.5.221)

Para permitir que el montaje sea persistente incluso después de reiniciar el sistema, agregue las entradas a /etc/fstab expediente. Use estos comandos (como root) para lograr eso:

echo "10.70.5.221:/mnt/nfs_shares/backup     /home/rocky/backups  nfs     defaults 0 0" >> /etc/fstab
echo "10.70.5.221:/mnt/nfs_shares/files     /home/rocky/nfs_files  nfs     defaults 0 0" >> /etc/fstab

Por último, prueba si NFS la configuración funciona bien al crear un archivo en el servidor y verificar si el archivo se puede ver en el cliente.

En el servidor:

sudo touch /mnt/nfs_shares/files/file_on_server.txt

Luego, en la máquina cliente, confirme

$ ls ~/nfs_files/
file_on_server.txt

También puedes hacer lo contrario. En el cliente:

touch ~/nfs_files/file_on_client.txt

Luego en el servidor confirme:

$ ls /mnt/nfs_shares/files/
file_on_client.txt  file_on_server.txt

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

sudo umount /mnt/nfs_shares/files
sudo umount /mnt/nfs_shares/backup

Tenga en cuenta que no puede unmount el sistema de archivos remoto si está operando dentro de él.

Conclusión

En esta guía logramos instalar y configurar un servidor y cliente NFS en Rocky Linux 8.


Linux
  1. Configuración de un servidor y cliente NFS en Scientific Linux 6.3

  2. Cómo configurar un montaje NFS en Rocky Linux 8

  3. Cómo instalar el cliente FreeIPA en Rocky Linux/Alma Linux/CentOS 8

  4. Cómo instalar y configurar PHP y Nginx (LEMP) en Rocky Linux/Alma Linux 8

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

Cómo configurar la replicación FreeIPA en Rocky Linux/Alma Linux/Centos 8

Cómo instalar Webmin en Rocky Linux/Alma Linux 8

Cómo configurar la fecha y la hora en el escritorio y el servidor Rocky Linux 8

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

Cómo instalar y configurar un servidor NFS en un sistema Linux

Cómo instalar y configurar un servidor Linux Ubuntu NFS