GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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

Ubuntu 20.04 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 a instalar y configurar el servidor NFS y el cliente NFS en Ubuntu 20.04.

Publicaciones relacionadas:

  • Cómo configurar el servidor y el cliente NFS en Rocky/Alma Linux 8
  • Cómo instalar y configurar el uso compartido de archivos Samba en Ubuntu 20.04

Requisitos

  • Servidor Ubuntu 20.04 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 apt update
sudo apt upgrade -y

2. Instale los paquetes NFS

El paquete nfs-kernel-server proporciona servicios NFS para Ubuntu. El paquete del servidor NFS proporciona soporte de espacio de usuario necesario para ejecutar el servidor kernel NFS. Para instalar el paquete, ejecute:

sudo apt install -y nfs-kernel-server

En Ubuntu 20.04, la versión 2 de NFS está deshabilitada. Las versiones 3 y 4 están habilitadas. Verifique la versión instalada usando este comando:

$ sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2

3. Iniciar y habilitar el servidor NFS

Una vez que los paquetes NFS se hayan instalado correctamente, se iniciará el servidor NFS. Confirme el estado del servicio con este comando:

$ sudo systemctl status nfs-server
● nfs-server.service - NFS server and services
     Loaded: loaded (/lib/systemd/system/nfs-server.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2022-01-17 19:24:54 UTC; 1min 40s ago
   Main PID: 20614 (code=exited, status=0/SUCCESS)
      Tasks: 0 (limit: 4624)
     Memory: 0B
     CGroup: /system.slice/nfs-server.service

Jan 17 19:24:52 dev-ubuntusrv.inv.re systemd[1]: Starting NFS server and services...
Jan 17 19:24:54 dev-ubuntusrv.inv.re systemd[1]: Finished 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-idmapdrpcbindrpc.mountdlockdrpc.statdrpc.rquotadrpc.idmapd se iniciará automáticamente.

4. Habilitación del servicio NFS en Firewall

Si está instalando el servidor NFS en un servidor Ubuntu remoto que está protegido por un cortafuegos, deberá habilitar el tráfico en el puerto NFS:

sudo ufw allow nfs

Verifica el cambio:

sudo ufw status

5. Configuración de exportaciones en el servidor NFS

La configuración del servidor NFS se define en /etc/default/nfs-kernel-server/etc/default/nfs-common archivos La configuración predeterminada es suficiente para la mayoría de las situaciones.

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 exportaciones /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/ubuntu/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/ubuntu/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/ubuntu/backups  nfs     defaults 0 0" >> /etc/fstab
echo "10.70.5.221:/mnt/nfs_shares/files     /home/ubuntu/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 Ubuntu 20.04.


Ubuntu
  1. Cómo instalar y configurar un servidor NFS en Ubuntu 20.04

  2. Cómo configurar un servidor NFS y montar recursos compartidos NFS en Ubuntu 14.10

  3. Cómo instalar NFS Client y Server en Ubuntu 20.04

  4. Instalar UrBackup Server and Client en Ubuntu 20.04 - ¿Cómo hacerlo?

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

Cómo instalar el servidor y el cliente Telnet en Ubuntu

Cómo configurar el servidor y el cliente NFS en Debian 10

Instalar servidor y cliente NFS en Ubuntu

Cómo instalar el servidor NTP y los clientes en Ubuntu 20.04 LTS

Cómo configurar Quad 9 DNS en Ubuntu 16.04 y Ubuntu 17.10 Desktop

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