Cómo instalar y configurar el servidor NFS en Debian 11

Instalación del servidor NFS Debian 11

NFS o Network File System es un protocolo de red que le permite montar un sistema de archivos remoto a través de la red. El protocolo NFS se utiliza en la arquitectura servidor-cliente, el servidor NFS que proporciona todos los directorios o particiones que están listos para acceder y montar, y los clientes que utilizan el protocolo rpcbind para acceder a todos los directorios y sistemas de archivos a través de la conexión de red interna.

El estado actual del protocolo del sistema de archivos de red se describe a continuación.

1. NFSv2 y NFSv3 todav√≠a son compatibles con los principales sistemas operativos, pero por motivos de seguridad, debe restringir el acceso del servidor NFS a la red local de confianza. NFSv2 y NFSv3 se recomiendan para los tipos de implementaci√≥n peque√Īos y medianos.
2. El protocolo NFSv4 proporciona funciones de seguridad básicas, como la autenticación y el cifrado, pero se basa en Kerberos para esas partes. Por lo tanto, debe agregar una configuración adicional para usar NFSv4 con funciones de seguridad básicas.

Para este tutorial, aprender√° c√≥mo instalar y configurar un servidor NFS en la √ļltima versi√≥n de Debian 11 Bullseye. Instalar√° el servidor NFS y asegurar√° el acceso limitando los hosts mediante el firewall ufw. Y luego aprender√° c√≥mo configurar el cliente para montar directorios y particiones proporcionados por el servidor NFS, y configurar el servidor NFS de montaje autom√°tico en el arranque del sistema a trav√©s de la configuraci√≥n ‘/etc/fstab’.

requisitos previos

1. Usaremos dos máquinas diferentes en la misma red como se muestra a continuación.
– debian64 – 192.168.1.25 – como servidor NFS
– cliente-debian – 192.168.1.30 – como cliente
2. Un usuario root o un usuario con privilegios de root. Este usuario se utilizar√° para instalar nuevos paquetes y editar configuraciones del sistema.

Instalación y configuración del servidor NFS

Al principio, instalar√° el paquete del servidor nfs y configurar√° el directorio compartido para los clientes.

1. Ejecute el siguiente comando para instalar los paquetes del servidor nfs.

apt install nfs-kernel-server rpcbind

Escribe ‘y‘ y presione ‘Ingresar‘ para continuar con la instalaci√≥n.

Instalación del servidor NFS Debian 11

2. Ahora cree un nuevo directorio que desee compartir con los clientes. Para este ejemplo, compartir√° dos directorios ‘/mnt/shared’ y ‘/srv/data’ con los clientes. Y no comparta el directorio ra√≠z predeterminado ‘/’ o el directorio ‘/etc’.

Cree un nuevo directorio compartido usando el comando mkdir a continuación.

mkdir -p /mnt/shared
mkdir -p /srv/data

Cree un nuevo archivo en cada directorio ejecutando el comando echo a continuación.

echo "test file nfs server" > /mnt/shared/test-file.txt
echo "test file nfs server" > /srv/data/test-file.txt

Ahora cambie la propiedad de ambos directorios compartidos a ‘nadie: ning√ļn grupo’ ejecutando el siguiente comando.

chown nobody:nogroup /mnt/shared /srv/data

Crear directorio compartido NFS

Y ya est√° listo para configurar el servidor NFS.

3. Para configurar el directorio compartido para nfs, edite la configuraci√≥n ‘/etc/exports’ usando el editor nano.

nano /etc/exports

A continuación se muestran algunas configuraciones de ejemplo para algunos escenarios.

Comparta el directorio para el cliente de host √ļnico con acceso de lectura y escritura.

/mnt/shared    192.168.1.30(rw,sync,no_subtree_check)

Compartir directorio para varios clientes, incluido un grupo de la red host.

/srv/data      172.16.1.0/24(rw,sync,no_root_squash,no_subtree_check) 10.11.12.0/24(rw,no_subtree_check)

Compartir directorio para un solo cliente con acceso de solo lectura.

/srv/data        192.168.1.30(ro)

A continuación se muestra la configuración de ejemplo final.

/mnt/shared    192.168.1.30(rw,sync,no_subtree_check)
/srv/data      172.16.1.0/24(rw,sync,no_root_squash,no_subtree_check) 10.11.12.0/24(rw,no_subtree_check)
/srv/data      192.168.1.30(ro,no_root_squash)

Guarde la configuraci√≥n presionando el bot√≥n ‘Control+x‘ bot√≥n, escriba ‘y‘, entonces presione ‘Ingresar‘ salir.

Opciones que debes conocer:

  • rw : permite el acceso de lectura y escritura tanto para el servidor NFS como para el cliente al volumen/directorio.
  • Ro : permite el acceso de solo lectura para los clientes.
  • sincronizar : responda a las solicitudes solo despu√©s de que los cambios se hayan confirmado en un almacenamiento estable. Esta opci√≥n est√° habilitada por defecto.
  • as√≠ncrono : permite que el servidor NFS infrinja el protocolo NFS y responda a las solicitudes antes de que los cambios realizados por esa solicitud se hayan confirmado en un almacenamiento estable.
  • subtree_check : permitir y habilitar la comprobaci√≥n de sub√°rboles. Esta opci√≥n est√° habilitada por defecto.
  • no_subtree_check : deshabilita la verificaci√≥n de sub√°rboles, lo que tiene implicaciones de seguridad leves, pero puede mejorar la confiabilidad en algunas circunstancias.
  • root_squash : asigna solicitudes de uid/gid 0 a uid/gid an√≥nimo. Tenga en cuenta que esto no se aplica a ning√ļn otro uid o gid que pueda ser igualmente confidencial, como el contenedor de usuarios o el personal del grupo.
  • no_root_sqash : deshabilita el aplastamiento de ra√≠ces. Esta opci√≥n es principalmente √ļtil para clientes sin disco.

4. A continuación, reinicie el servicio nfs-server para aplicar una nueva configuración mediante el siguiente comando.

systemctl restart nfs-server

Ahora verifique y verifique el servicio del servidor nfs con el siguiente comando.

systemctl is-enabled nfs-server
systemctl status nfs-server

Y obtendr√° un resultado similar al siguiente.

Configurar y verificar el servidor NFS

Como se puede ver, el servicio del servidor nfs est√° ‘habilitado’ y se ejecutar√° autom√°ticamente al iniciar el sistema. Y el estado actual de nfs-service es ‘activo (salido)’, lo que significa que el servicio se est√° ejecutando, pero systemd no puede encontrar el demonio para monitorear.

Protección del servidor NFS con UFW Firewall

Para esta etapa, instalará el firewall ufw y restringirá el acceso al servidor NFS solo para hosts y redes específicos.

1. Ejecute el siguiente comando apt para instalar el paquete ufw.

apt install ufw

Escribe ‘y‘ y presione ‘Ingresar‘ para confirmar y continuar con la instalaci√≥n.

Instalación de cortafuegos ufw

2. Si se completó toda la instalación, agregue el servicio SSH a las reglas del firewall ufw usando el siguiente comando.

ufw allow ssh

3. Luego, ejecute los comandos ufw a continuación para agregar hosts o redes a su firewall ufw.

Permitir host con direcci√≥n IP ‘192.168.1.30‘ para acceder al servidor NFS.

ufw allow from 192.168.1.30 to any port nfs

Permitir que el bloque de una red acceda al servidor NFS.

ufw allow from 172.16.1.0/24 to any port nfs
ufw allow from 10.11.12.0/24 to any port nfs

asegurar nfs con ufw firewall

4. Después de eso, habilite el firewall ufw usando el siguiente comando.

ufw enable

Escribe ‘y‘ y presione ‘Ingresar‘ para iniciar y habilitar el firewall ufw.

Ahora verifique el estado del firewall ufw usando el siguiente comando.

ufw status

Y ver√° una salida similar a la siguiente.

habilitar y verificar el firewall ufw

Como se puede ver, el estado del firewall ufw es ‘activo’ y el servicio NFS en el puerto predeterminado ‘2049’ est√° disponible en la lista de reglas.

Configuración del cliente NFS

Para este paso, configurará clientes para acceder al directorio compartido y la partición en el servidor NFS.

1. Primero, instale el ‘nfs-com√ļn‘ paquete usando el comando apt a continuaci√≥n.

apt install nfs-common

Escribe ‘y‘ y presione ‘Ingresar‘ para confirmar y continuar con la instalaci√≥n.

Instalación de paquetes de cliente nfs

2. Una vez finalizada la instalación, cree un nuevo directorio para el directorio de montaje.

mkdir -p /nfs/shared; mkdir -p /nfs/data

3. Para montar el directorio o partición nfs desde el servidor NFS, ejecute el siguiente comando de montaje.

mount 192.168.1.25:/mnt/shared /nfs/shared
mount 192.168.1.25:/srv/data /nfs/data

El comando de montaje b√°sico para acceder a NFS es especificar la direcci√≥n IP del servidor NFS ‘192.168.1.25’ con el directorio de montaje de ruta ‘/mnt/shared’ y ‘/srv/data’ y la ruta de destino en el lado del cliente ‘/nfs directorio /shared’ y ‘/nfs/data’.

Montar servidor NFS

4. Luego, ejecute el siguiente comando para verificar que el montaje de NFS sea exitoso.

df -h

Adem√°s, puede verificar los archivos que acaba de crear en la parte superior ejecutando los siguientes comandos.

cat /nfs/shared/test-file.txt
cat /nfs/data/test-file.txt

A continuación se muestra el resultado que obtendrá.

Comprobación del estado del montaje

Como se puede ver, mont√≥ con √©xito el servidor NFS en el directorio ‘/nfs/shared’ y ‘/nfs/data’, y podr√° leer los archivos que acaba de crear en la parte superior.

Verifique el acceso de lectura y escritura al servidor NFS

Para esta etapa, verificar√° el acceso de lectura y escritura al directorio del servidor NFS.

1. cambie el directorio de trabajo a ‘/nfs/shared’, verifique los archivos disponibles en ese directorio y muestre el contenido de ese archivo usando el siguiente comando.

cd /nfs/shared
ls

cat test-file.txt


A continuación, cree un nuevo archivo usando el comando de eco a continuación.

echo "This file from nfs-client" > client.txt
cat client.txt

Si puede crear el archivo ‘client.txt’, el acceso de escritura al directorio NFS ‘/nfs/share’ es exitoso, como se describe en la configuraci√≥n a continuaci√≥n.

/mnt/shared    192.168.1.30(rw,sync,no_subtree_check)

Prueba de acceso de escritura Servidor NFS

2. A continuaci√≥n, en la configuraci√≥n que ha creado en la parte superior, la l√≠nea solo tiene acceso para leer el directorio NFS ‘/nfs/data’, como puede ver en la configuraci√≥n a continuaci√≥n.

/srv/data        192.168.1.30(ro,no_root_squash)

Cambie el directorio de trabajo a ‘/nfs/data’, verifique los archivos en √©l, verifique los archivos disponibles en ese directorio y muestre el contenido de ese archivo usando el comando como se muestra a continuaci√≥n.

cd /nfs/data
ls

cat test-file.txt


A continuaci√≥n, si desea crear un nuevo archivo, obtendr√° un error ‘Sistema de archivos de solo lectura’. Porque solo tiene el permiso de ‘solo lectura’ como se describe en la configuraci√≥n superior.

echo "This is a file from client to data" > client-data.txt

A continuación se muestra el resultado similar que obtendrá.

Prueba de escritura en el servidor NFS de solo lectura

El permiso de lectura y escritura coincide con la configuración actual del servidor NFS.

Montar NFS en el arranque

Para esta etapa, aprender√° c√≥mo montar el directorio/partici√≥n NFS en el arranque/arranque del sistema a trav√©s de la configuraci√≥n ‘/etc/fstab’.

1. Edite el ‘/etc/fstab’ configuraci√≥n usando nano editor.

nano /etc/fstab

Cambie los detalles de las direcciones IP, el directorio compartido y el directorio de montaje de la ruta con los suyos propios, luego pegue la configuración.

192.168.1.25:/mnt/shared        /nfs/shared   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
192.168.1.25:/srv/data          /nfs/data     nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Guarde la configuraci√≥n presionando el bot√≥n ‘Control+x‘ y escriba ‘y‘, entonces presione ‘Ingresar‘ salir.

2. A continuaci√≥n, verifique el ‘/etc/fstab‘ la configuraci√≥n es correcta usando los siguientes comandos.

Desmonte todo el directorio de montaje usando el siguiente comando.

umount -R /nfs/shared
umount -R /nfs/data

Ejecute el siguiente comando para montar todo el sistema de archivos disponible en el archivo de configuraci√≥n ‘/etc/fstab’.

mount -a

Aseg√ļrate de no tener ning√ļn error.

Ahora ejecute el siguiente comando para mostrar todos los sistemas de archivos montados.

df -h

Si su configuraci√≥n es correcta, ver√° que el servidor NFS est√° montado en el directorio de destino como se describe en la configuraci√≥n ‘/etc/fstab’.

Configuración del montaje automático del servidor NFS con /etc/fstab

3. Puede reiniciar la máquina cliente e iniciar sesión nuevamente, luego verificar nuevamente usando el comando como se muestra a continuación.

df -h

Y ver√° que el servidor NFS se activa autom√°ticamente al arrancar el sistema en la m√°quina cliente a trav√©s del archivo ‘/etc/fstab’.

Conclusión

¬°Felicidades! Ha instalado correctamente el servidor NFS en la versi√≥n m√°s reciente de Debian 11 Bullseye. Adem√°s, asegur√≥ con √©xito la implementaci√≥n del servidor NFS usando el firewall ufw, configurando m√°quinas cliente NFS y configurando el montaje autom√°tico usando la configuraci√≥n ‘/etc/fstab’. Para el siguiente paso, tambi√©n te puede interesar el protocolo NFSv4, que proporciona mecanismos de seguridad como el cifrado y la autenticaci√≥n a trav√©s del servidor Kerberos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *