Laboratorio NFSv4 (Servidor)
Objetivos
- Configurar un servidor NFS en un sistema RHEL 9 para soportar exclusivamente NFSv4.2.
- Deshabilitar servicios relacionados con versiones anteriores de NFS para garantizar compatibilidad y seguridad.
- Compartir un directorio en el servidor NFS y configurarlo para acceso controlado desde un cliente específico.
- Configurar un cliente NFS en un sistema RHEL 9 para montar y acceder al recurso compartido del servidor.
- Validar la correcta configuración y funcionamiento del servidor y cliente NFS mediante pruebas de conectividad, montaje y uso del recurso compartido.
Entorno Inicial
- Usuario: student
- Máquina: servera
- Contraseña inicial: student
- Herramientas utilizadas: Shell Bash y utilidades básicas de Linux.
Pasos del Laboratorio
Prerequisitos
-
Inicio de sesión
-
Inicia sesión en la máquina
serveradesdebastioncomo el usuariostudentutilizando la llave privada proporcionada:ssh student-#-servera
-
Parte 1: Instalación del servidor NFS
- En el sistema (student-X-servera):
sudo dnf install nfs-utils - Habilitar únicamente NFS v4.2. Editar
/etc/nfs.conf, ubicar la sección[nfsd]. Configuración por defecto:Modificar:[nfsd] # debug=0 # threads=8 # host= # port=0 # grace-time=90 # lease-time=90 # udp=n # tcp=y # vers3=y # vers4=y # vers4.0=y # vers4.1=y # vers4.2=y rdma=y rdma-port=20049Con esta configuración el Servidor soporte únicamente NFS v4.2.vers3=n # vers4=y vers4.0=n vers4.1=n vers4.2=y - Desabilitar todos los sevicios relacionados a NFS v3.
sudo systemctl mask --now rpc-statd.service rpcbind.service rpcbind.socket - Crear directorio para drop-in file de systemd para nfs-mountd.
sudo mkdir /etc/systemd/system/nfs-mountd.service.d - Configurar
rpc.mountdpara no escuchar a solicitudes de NFSv3. Crear/etc/systemd/system/nfs-mountd.service.d/v4only.conf, con el contenido:[Service] ExecStart= ExecStart=/usr/sbin/rpc.mountd --no-tcp --no-udp - Recargar la configuración de
systemdpara que tome efecto la configuración del paso anterior y reiniciar el servicio denfs-mountd.sudo systemctl daemon-reload sudo systemctl restart nfs-mountd - Habilita e inicia el servicio:
sudo systemctl enable --now nfs-server - Habilita los puertos en
firewalld, si el servicio esta configurado.sudo firewall-cmd --permanent --add-service nfs sudo firewall-cmd --reload - Validar que únicamente esta soportado NFS 4.2 para NFSv4.
Salida:
sudo cat /proc/fs/nfsd/versions-3 +4 -4.0 -4.1 +4.2 # Notar +4 y +4.2
Parte 2: Configuración del servidor NFS (Export)
-
Crea el directorio a compartir en el sistema (student-X-servera):
sudo mkdir -p /nfs/compartido sudo chown -R nobody:nobody /nfs/compartido -
Edita el archivo de exportaciones
/etc/exports.sudo vi /etc/exports - Agrega una línea como:
Esta entrada comparte
/nfs/compartido student-X-bastion(rw)/nfs/compartidopara ser accedido con permisos de lectura y escritura(rw)únicamente al clientestudent-X-bastion - Aplica los cambios:
sudo exportfs -arv
Parte 3: Configuración del cliente NFS
-
En el cliente en el sistema (student-X-bastion):
sudo dnf install nfs-utils -
Crea un punto de montaje:
sudo mkdir -p /mnt/compartido -
Monta el recurso:
sudo mount -t nfs4 student-X-servera:/nfs/compartido /mnt/compartido -
Validar el montaje.
Salida similar:sudo mount |grep compartidoNotar:student-X-servera:/nfs/compartido on /mnt/compartido type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=X.X.X.X,local_lock=none,addr=X.X.X.X)vers=4.2 -
Validar espacio disponible.
Salida similar:sudo df -h /mnt/compartidoFilesystem Size Used Avail Use% Mounted on student-X-servera:/nfs/compartido 40G 4.8G 35G 13% /mnt/compartido -
Para montaje permanente, agregagar en el archivo
/etc/fstab, la siguiente linea:NOTA: NO REALIZAR EN ESTE AMBIENTE
student-X-servera:/nfs/compartido /mnt/nfs nfs4 defaults 0 0
Resultados Esperados
- El servidor NFS estará configurado para soportar únicamente NFSv4.2, con los servicios de versiones anteriores deshabilitados.
- El directorio compartido en el servidor será accesible desde el cliente especificado con permisos de lectura y escritura.
- El cliente NFS podrá montar correctamente el recurso compartido y validar su disponibilidad.
- Las pruebas de validación mostrarán que el recurso compartido está montado con la versión NFSv4.2 y que el espacio disponible es accesible desde el cliente.