Práctica 7: Implementación de un servidor de archivos con NFS y Samba#


Objetivo#

El alumno realizará la configuración de un servidor de archivos que comparte un directorio a los demás equipos de la red utilizando los protocolos NFS y SMB.

Elementos de apoyo#

Esta practica guiada está basada en los videos y material de clase que se muestran a continuación:


Otros sistemas operativos#

Se puede descargar un ISO de instalación de la versión de evaluación de Windows en caso de ser necesario:

Windows

Se puede utilizar Zentyal o ClearOS si el equipo decide utilizar un servidor appliance para elaborar la práctica en lugar de hacer la configuración en la máquina virtual Debian:

Zentyal Server Community

ClearOS Community Edition

Restricciones#

  • La fecha límite de entrega es el lunes 24 de abril de 2023 a las 23:59 horas ¹
  • Esta actividad debe ser entregada en equipo de acuerdo al flujo de trabajo para la entrega de tareas y prácticas
  • Crear una nueva rama llamada practica-6
  • Utilizar la carpeta docs/practicas/practica-6/Equipo-ABCD-EFGH-IJKL-MNOP para entregar la práctica
    • Donde Equipo-ABCD-EFGH-IJKL-MNOP representa el nombre del equipo que debió anotarse previamente en la lista del grupo
  • Crear un merge request en el repositorio de tareas para entregar la actividad

Warning

  • ¹: Se ajustó la fecha de entrega para compensar los días en los que la Facultad de Ciencias estuvo en paro activo 🟥⬛

Procedimiento#

Diagrama de red en VirtualBox

Warning

  • Restaura el snapshot de las máquinas virtuales Debian y CentOS que tomaste en la práctica anterior antes de elaborar esta práctica.

Configuración de red de VirtualBox#

Red LAN - host-only#

Regresar la configuración de red de la interfaz host-only de VirtualBox a los ajustes predeterminados:

Red Tipo Nombre Dirección IP / Máscara Servidor DHCP de VirtualBox
Red LAN Host-only vboxnet0 192.168.56.0/24 ☑️ Habilitado

Red NAT - NatNetwork#

Las redes NAT de VirtualBox están aisladas una de otra y no pueden verse entre sí

Dirección IP del servidor#

  • Configurar una dirección IP estática en la máquina virtual Debian para que los demás clientes puedan conectarse a los servicios de red

NFS#

Servidor NFS#

  • Instalar las utilerías de soporte para el servicio nfs-kernel-server en la máquina Debian

  • Exportar el directorio /srv vía NFS para el segmento de red de la interaz host-only

  • Establecer las opciones adecuadas para el directorio en el archivo /etc/exports.

  • Verificar que el directorio esté exportado en el servidor utilizando el comando showmount -e

Clientes NFS#

  • Todos los clientes NFS deben montar el directorio exportado en el servidor en modalidad de lectura-escitura en cada inicio del sistema.
Cliente CentOS GNU/Linux#
  • Instalar las utilerías de cliente NFS

  • Verificar que el sistema de archivos esté exportado con el comando showmount -e <IP-del-servidor>

  • Montar manualmente el sistema de archivos para verificar que funcione y después reiniciar el equipo

  • Configurar el punto de montaje en /etc/fstab especificando las opciones adecuadas para NFS

  • Reiniciar el equipo para verificar que el sistema de archivos se monta correctamente de manera automática al iniciar el sistema

Cliente Windows#
  • Habilitar el las siguientes características opcionales de Windows y reiniciar el equipo

    • Servicios de NFS
    • Herramientas Administrativas
    • Cliente de NFS
  • Verificar que el sistema de archivos esté exportado con el comando showmount -e <IP-del-servidor>

  • Utilizar el comando mount para instalar el punto de montaje del sistema de archivos compartido mount <opciones> <IP-del-servidor>:/<RUTA> *.

    • El último parámetro es para que el sistema asigne una letra de unidad al sistema de archivos.
  • Otra opción es montar el sistema de archivos compartido desde la interfaz gráfica del explorador de Windows y marcar la casilla que indica que esta configuración se aplicará de manera persistente.

  • Reiniciar el equipo para verificar que el sistema de archivos se monta correctamente de manera automática al iniciar el sistema

SAMBA#

Servidor SAMBA#

  • Instalar las herramientas del servicio Samba en la máquina Debian

  • Compartir el directorio /srv via SMB para el segmento de red de la interfaz host-only

  • Establecer las opciones adecuadas para el recurso compartido en el archivo smb.conf

  • El servicio Samba debe permitir únicamente el acceso a clientes que se autentiquen con usuario y contraseña, utilizar el programa smbpasswd para manipular la base de datos de usuarios Samba.

  • Verificar que el servidor tenga el recurso compartido utilizando el comando smbclient -L

Clientes SAMBA#

  • Todos los clientes Samba deben montar el recurso compartido del servidor en modalidad de lectura-escitura en cada inicio del sistema utilizando el usuario y contraseña.
Cliente CentOS GNU/Linux#
  • Instalar las utilerías de cliente Samba

  • Verificar que el sistema de archivos esté exportado con el comando smbclient -L <IP-del-servidor>

  • Montar manualmente el sistema de archivos para verificar que funcione y después reiniciar el equipo

  • Configurar el punto de montaje en /etc/fstab especificando las opciones adecuadas para Samba

  • Reiniciar el equipo para verificar que el sistema de archivos se monta correctamente de manera automática al iniciar el sistema

Cliente Windows#
  • Verificar que el cliente Windows tenga instalado y habilitado el soporte de Samba (normalmente viene instalado y habilitado de manera predeterminada)

  • Verificar que el servidor tenga el recurso compartido utilizando la línea de comandos y el Explorador de Windows

  • Utilizar el comando net use para montar el recurso compartido de manera persistente

  • Otra opción es montar el recurso compartido desde el Explorador de Windows y marcar la casilla que indica que esta configuración se aplicará de manera persistente.

  • Reiniciar el equipo para verificar que el sistema de archivos se monta correctamente de manera automática al iniciar el sistema


Entregables#

  • Archivo README.md

    • Explicación de la topología de red utilizada
    • Procedimiento de configuración de NFS y Samba en el servidor
      • Explicar como hacer la base de usuarios Samba y por qué no se puede utilizar /etc/passwd y /etc/shadow
    • Procedimiento de configuración de los clientes GNU/Linux y Windwows para utilizar NFS y Samba de manera persistente
    • Conclusiones sobre el uso de los protocolos NFS y Samba
  • Carpeta img

    • Imagenes ilustrativas del proceso, mismas que deben estar referenciadas en el archivo README.md
  • Carpeta files

    • Archivos de configuración para el servidor NFS y Samba
    • Bitácoras de conexión de NFS y Samba
    • Configuración de las redes de VirtualBox
      • Salida de VBoxManage list hostonlyifs
    • Configuración de todas las máquinas virtuales
      • Salida de VBoxManage showvminfo "<NAME>|<UUID>" --machinereadable
    • Salida de los comandos showmount y smbclient para listar los recursos compartidos (Desde el servidor y desde los clientes)
    • Diagnósticos de conexión a los servicios NFS y Samba
    • Archivo /etc/fstab con la configuración de montaje persistente de NFS y Samba (Cliente CentOS GNU/Linux)

Conclusiones#

  • Comparar las ventajas y desventajas de utilizar NFS y Samba en equipos con diferente sistema operativo (GNU/Linux y Windows)

  • Copiar un archivo de 1GB almacenado en el servidor a cada uno de los clientes utilizando NFS y Samba

    • ¿Hay alguna diferencia en la velocidad de transferencia utilizando NFS y Samba?
  • Utilizar cada cliente para crear una serie de archivos y directorios en el servidor utilizando NFS y Samba

    • Revisar los nombres de usuario, grupos asociados y permisos de los archivos y directorios
    • ¿Hay alguna diferencia en los usuarios, grupos y permisos que tienen los archivos y directorios entre un protocolo y otro?
  • Escribir cuales casos de uso se cubren mejor utilizando NFS y cuales utilizando Samba

Extra#

Elaboren un video donde expliquen cómo se instalaron los servicios de red, la comparación entre ellos y las pruebas de copiar los archivos de prueba para ver cuánto tarda en NFS y Samba.

  • Subir el video a YouTube
  • Agregar la referencia de este video al archivo README.md
- [Video de la topología de red utilizada 📼](https://youtu.be/0123456789ABCDEF)