GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo configurar el cliente y el servidor NFS en Linux

NFS fue desarrollado por Sun Microsystems para compartir archivos y directorios entre sus sistemas. NFS permite que los sistemas de una red compartan archivos a través de la red TCP/IP. Se opera de la manera cliente-servidor, donde el sistema que tiene el directorio compartido se conoce como servidor, mientras que el sistema que accede al directorio compartido se conoce como cliente. El cliente puede montar el directorio compartido mediante el servidor NFS en su propio sistema, que aparece como una partición de disco local. Luego, un cliente puede leer/escribir archivos en el servidor NFS remoto según los permisos asignados por el servidor NFS. Algunas de las características de NFS son las siguientes:

  • El usuario puede acceder a archivos remotos localmente
  • No es necesario que ambas máquinas tengan el mismo sistema operativo
  • Ofrece una solución de almacenamiento centralizado
  • El usuario puede almacenar sus datos en una ubicación central, por lo que permite ahorrar espacio de almacenamiento local.

En esta publicación, le mostraremos cómo instalar el servidor y el cliente NFS, exportar recursos compartidos y montar/desmontar el recurso compartido NFS en el cliente.

Nota:

Para la demostración, utilizaremos las dos máquinas con los siguientes detalles:

Host NFS (Debian 10)

  • Nombre de host:nfs
  • IP:192.168.72.158

Cliente NFS (Debian 10)

  • Nombre de host:cliente
  • IP:192.168.72.159

Nota:Los pasos mencionados aquí han sido probados en Debian 10 (sistema Buster).

Instalación y configuración del servidor NFS

En la siguiente sección, primero instalaremos el servidor NFS en nuestra máquina host. Luego configuraremos dos directorios compartidos que son /var/nfs-public y /var/nfs-docs para compartir con las máquinas cliente. Comencemos.

Paso 1:Instale el servidor NFS en la máquina host

Para que un sistema se configure como un servidor NFS, deberá instalar nfs-kernel-server paquete en él. En la máquina host NFS, primero, actualice el índice del repositorio local usando el siguiente comando en la Terminal:

$ sudo apt update

Luego instale nfs-kernel-server usando el siguiente comando:

$ sudo apt install nfs-kernel-server

Ahora se le puede proporcionar el y/n opción para continuar con la instalación. Presiona y para continuar, después de lo cual el sistema comenzará la instalación del nfs-kernel-server .

Una vez que el nfs-kernel-server está instalado, puede verificar la instalación usando el siguiente comando en la Terminal:

$ dpkg -l | grep nfs-kernel-server

Paso 2:Cree un directorio compartido en el host

Ahora, cree un directorio en el host que desea configurar para compartir con los clientes. Hemos creado dos directorios /var/nfsdocumentos y /var/nfs-public con diferentes ajustes de configuración.

$ sudo mkdir -p /var/nfs-docs
$ sudo mkdir -p /var/nfs-public

Para /var/nfs-public directorio, modificaremos su propiedad a nadie:nogroup usando el siguiente comando:

$ sudo chown nobody:nogroup /var/nfs-public

Para verificar si la propiedad ha cambiado, use el siguiente comando:

$ ls -la /var/nfs-public

Para /var/nfs-docs , no cambiaremos la propiedad.

Paso 3:Exportar los recursos compartidos

Ahora configuraremos el archivo de exportación del servidor NFS para compartir los recursos. El archivo de exportación NFS es /etc/exports que se puede editar de la siguiente manera:

$ sudo nano /etc/exports

Ahora en este archivo especificaremos los directorios que queremos compartir y el cliente que puede acceder a él. Puede agregar entradas en el archivo de exportación NFS usando la siguiente sintaxis:

directory host1(options) host2(options)...hostN(options)...

donde

  • directorio es el directorio que desea compartir con los clientes.
  • anfitrión es la dirección IP/dirección de subred del cliente/subred con la que desea compartir. Para encontrar la dirección IP de su máquina cliente, puede visitar nuestra guía sobre Cómo encontrar su dirección IP.
  • opciones son algunas de las opciones de configuración que especifican cómo se deben compartir los recursos.

Para nuestros dos directorios /var/nfs-docs y /var/nfs-public , hemos agregado las siguientes entradas en /etc/exports archivo:

/var/nfs-public 192.168.72.159(rw,sync,no_subtree_check)

/var/nfs-docs 192.168.72.159(rw,sync, no_root_squash,no_subtree_check)


En el archivo de configuración anterior, ambas entradas le indican al servidor NFS que comparta el /var/nfs-public y /var/nfs-docs directorios con el cliente NFS 192.168.72.159 con rw (leer y escribir) permiso. En la segunda entrada, hemos añadido el no_root_squash eso le permite al cliente tener permisos de root en el servidor NFS también. Una vez que haya terminado con las configuraciones de exportación, guarde y cierre /etc/exports archivo.

Ahora, para exportar los recursos compartidos, deberá reiniciar el servidor NFS. Aquí está el comando para hacerlo:

$ sudo systemctl restart nfs-kernel-server

Siempre que realice algún cambio en /etc/exports archivo, asegúrese de reiniciar el servicio para aplicar los cambios de configuración.

Alternativamente, puede usar este comando para exportar los recursos compartidos:

$ sudo exportfs -a

Para verificar si el servidor NFS se está ejecutando sin ningún problema, verifique su estado usando el siguiente comando en la Terminal:

$ sudo systemctl status nfs-kernel-server

Paso 4:configurar el cortafuegos en el servidor NFS

Si un firewall está habilitado en el servidor NFS, deberá configurarlo para permitir que los clientes se conecten al puerto NFS 2049 . Para verificar si el firewall está habilitado en el servidor NFS, emita el siguiente comando en la Terminal:

$ sudo ufw status

En el siguiente resultado, puede ver el activo estado que muestra que el cortafuegos está activado.

Ahora para permitir a los clientes el puerto NFS 2049 , deberá agregar una regla en el firewall. Ejecute el siguiente comando en la Terminal para hacerlo:

$ sudo ufw allow from client_ip/subnet_ID to any port nfs

Por ejemplo, para permitir la subred completa 192.168.72.0/24 acceso al puerto NF 2049 , el comando sería:

$ sudo ufw allow from 192.168.72.0/24 to any port nfs

Luego, para verificar si la regla se agregó correctamente, verifique el estado del firewall:

$ sudo ufw status

La entrada resaltada en el siguiente resultado muestra la conexión desde 192.168.72.0/24 está permitido al puerto 2049 .

Ahora hemos completado las configuraciones en el servidor NFS. Pasemos a la instalación y configuración del cliente NFS.

Instalación y configuración del cliente NFS

En la siguiente sección, primero instalaremos el cliente NFS en nuestra máquina cliente. Luego configuraremos dos puntos de montaje que son /media/public y /media/docs para montar los recursos compartidos NFS remotos /var/nfs-public y /var/nfs-docs . Comencemos.

Paso 1:Instale el paquete de cliente NFS en la máquina cliente

Para que un sistema se configure como un cliente NFS, deberá instalar el nfs-common paquete en él. En la máquina del cliente NFS, primero, actualice el índice del repositorio local usando el siguiente comando en la Terminal:

$ sudo apt update

Luego instale nfs-common usando el siguiente comando:

$ sudo apt install nfs-common

Ahora se le puede proporcionar el y/n opción para continuar con la instalación. Presiona y para continuar, después de lo cual el sistema comenzará la instalación de nfs-common paquete.

Paso 2:crear puntos de montaje

En el sistema cliente, deberá crear un punto de montaje para montar los recursos compartidos ubicados en el servidor NFS. En nuestro cliente, hemos creado los dos directorios en /media para nuestros puntos de montaje:

$ sudo mkdir -p /media/docs

$ sudo mkdir -p /media/public

Paso 3:Monte recursos compartidos NFS en el cliente manualmente

Ahora montaremos los recursos compartidos de NFS en los puntos de montaje que creamos en el paso anterior. Esta es la sintaxis para hacerlo:

$ sudo mount NFS_server_IP:NFS_share client_mountpoint

donde:

IP_del_servidor_NFS es la dirección IP del servidor NFS

NFS_share es el recurso compartido ubicado en el servidor NFS

punto_de_montaje_del_cliente es el punto de montaje donde desea montar el recurso compartido.

Desde nuestro servidor NFS, exportamos dos directorios compartidos que eran :/var/nfs-docs y /var/nfs-public . En nuestra máquina cliente, montaremos un recurso compartido /var/nfs-docs a un punto de montaje /media/docs mientras que el otro comparte /var/nfs-public en el segundo punto de montaje /media/public .

Hemos utilizado los siguientes comandos para montar los recursos compartidos de NFS en el cliente de NFS.

$ sudo mount 192.168.72.158:/var/nfs-docs /media/docs

$ sudo mount 192.168.72.158:/var/nfs-public /media/public

Ahora, para verificar si los directorios compartidos de NFS se han montado correctamente, emita el comando "df –h" en la Terminal:

$ df -h

Aquí está el resultado del comando "df -h" que muestra dos recursos compartidos de NFS en la parte inferior.

Como hemos montado los recursos compartidos en /media directorio, también puede acceder a los directorios montados desde el Administrador de archivos.

Paso 4:Montar los recursos compartidos de NFS en el cliente automáticamente en el arranque

Cada vez que reinicie el sistema cliente, deberá montar el recurso compartido NFS manualmente mediante el comando de montaje. Esto está bien para una sola vez o para uso ocasional. Sin embargo, si desea que los recursos compartidos de NFS accedan todo el tiempo, deberá hacer que el montaje sea permanente mediante /etc/fstab archivo.

Edite el /etc/fstab archivo:

$ sudo nano /etc/fstab

Ahora agregue entradas para su recurso compartido NFS que desee montar automáticamente:

192.168.72.158:/var/nfs-docs /media/docs nfs rw,sync,hard,intr 0 0

192.168.72.158:/nfs-public /media/public nfs rw,sync,hard,intr 0 0

Luego guarde y cierre el /etc/fstab archivo.

La próxima vez, cuando reinicie el sistema, el cliente montará automáticamente los recursos compartidos de NFS.

Probar acceso NFS

Ahora probaremos el acceso a los directorios compartidos de NFS creando un nuevo archivo en cada directorio.

En la máquina cliente, primero, cree una prueba1 archivo como sudo en el punto de montaje local /media/public :

$ sudo touch /media/public/test1

Ahora verifique la propiedad del nuevo archivo:

$ ls -l /media/public/test1

Verá que el propietario del archivo es nadie usuario y ningún grupo grupo. Aunque creamos el archivo como sudo en la máquina del cliente, pero el servidor NFS lo ha traducido a la propiedad del host nadie:ningún grupo . Esto significa que un usuario raíz en el cliente no puede realizar la tarea administrativa en el directorio compartido del servidor.

Ahora crea una prueba1 archivo como sudo en el segundo punto de montaje local /media/docs :

$ sudo touch /media/docs/test1

Si verificamos la propiedad de este archivo, verá que es propiedad del usuario raíz y del grupo raíz. Esto se debe a que hemos configurado no_root_squash opción que permite que el usuario root en la máquina cliente actúe como root en el directorio del servidor y pueda realizar tareas administrativas.

Ahora, en la máquina del servidor NFS, compruebe si puede ver ambos archivos.

Desmontar el recurso compartido NFS de la máquina cliente

Si ya no necesita el recurso compartido NFS, puede desmontarlo del sistema cliente. Para desmontar los recursos compartidos de NFS, escriba umount seguido del nombre del directorio donde está montado el recurso compartido de NFS.

$ umount /media/docs

$ umount /media/public

Así es como puede configurar el servidor y el cliente NFS en el sistema Debian 10. En este artículo, hemos cubierto cómo instalar el servidor y el cliente NFS, configurar directorios compartidos NFS y montar/desmontar los recursos compartidos NFS en el sistema cliente. Es posible que desee visitar nuestra publicación sobre cómo configurar el servidor y el cliente NFS en Linux Mint 20.


Debian
  1. Cómo configurar el servidor y el cliente NTP en Debian 9 Stretch Linux

  2. Configuración de un servidor y cliente NFS en Scientific Linux 6.3

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

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

  5. Cómo instalar y configurar el servidor y cliente YPServ Linux NIS

Cómo instalar y configurar el servidor DHCP en Linux

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

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

Cómo instalar y configurar un servidor NFS en un sistema Linux

Cómo instalar y configurar un servidor Linux Ubuntu NFS

Cómo instalar y configurar el servidor DNS en Linux