GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar y configurar el servidor NFS en 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 proporcionadas 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

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 clientes.

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

apt install nfs-kernel-server rpcbind

Escriba 'y ' y presione 'Entrar ' para continuar con la instalación.

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 '/' ni 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

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 'Ctrl+x botón ', escriba 'y ', luego presione 'Entrar ' para 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 de forma predeterminada.
  • asincrónico :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 de forma predeterminada.
  • no_subtree_check :deshabilita la verificación de subárboles, lo que tiene implicaciones leves de seguridad, pero puede mejorar la confiabilidad en algunas circunstancias.
  • raíz_calabaza :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. Luego, reinicie el servicio nfs-server para aplicar una nueva configuración usando 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.

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.

Asegurar 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

Escriba 'y ' y presione 'Entrar ' para confirmar y continuar con la instalación.

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

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

ufw enable

Escriba 'y ' y presione 'Entrar ' para iniciar y habilitar el firewall ufw.

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

ufw status

Y verá un resultado similar al siguiente.

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-common ' paquete usando el comando apt a continuación.

apt install nfs-common

Escriba 'y ' y presione 'Entrar ' para confirmar y continuar con la instalación.

2. Una vez completada 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'.

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 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á.

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.

Verificar 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)

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 que 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á.

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 el editor nano.

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 'Ctrl+x ' y escriba 'y ', luego presione 'Entrar ' para salir.

2. Luego, 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'.

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 puede estar interesado en el protocolo NFSv4, que proporciona mecanismos de seguridad como el cifrado y la autenticación a través del servidor Kerberos.


Debian
  1. Cómo instalar y configurar OpenVPN Server en Debian 10

  2. Cómo instalar y configurar el servidor VNC en Debian 10

  3. Cómo instalar y configurar docker en Debian 11

  4. Cómo instalar y configurar Mariadb 10 en Debian 11

  5. Cómo instalar y configurar Squid Proxy en Debian 11

Cómo instalar y configurar Monit en Debian 9

Cómo instalar y configurar el servidor web OpenLiteSpeed ​​en Debian 10

Cómo instalar y configurar el servidor VNC en Debian 9 Stretch

Cómo instalar y configurar el servidor web Apache en Debian 11

Cómo instalar y configurar Git en Debian 11

¿Cómo instalar y configurar Apache en Debian 11?