Compartir archivos con NFS en servidor Ubuntu y cliente Windows 10

En esta breve guía les hablare sobre como montar una unidad compartida que se encuentre en una instalación de Ubuntu o Debian que será el servidor con la unidad NFS (Network File System), en una unidad de red accesible desde Windows 10 quien jugará el rol de cliente.

Instalación y configuración en Ubuntu o Debian como servidor

En el caso de Debian remover sudo en cada comando (incluso se puede ejecutar igual).

Instalamos el paquete "nfs-kernel-server":

sudo apt install nfs-kernel-server

Opciones de la unidad

Luego editamos el archivo "/etc/exports" con nano o con el editor de nuestra preferencia:

sudo nano /etc/exports

El archivo contiene comentarios como los siguientes:

# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).

Agregamos una línea al final con lo siguiente:

/home/user/folder 192.168.0.10(rw,sync,all_squash,anonuid=1000,anongid=1000)

En el ejemplo anterior:

/home/user/folder es la carpeta que será compartida por la red.

192.168.0.10 es la IP del cliente o clientes que accederán al recurso de red. Se muestra solo una IP estática pero podemos usar 192.168.0.1/24 que abarca desde la IP 192.168.0.1 hasta 192.168.0.254.

Las opciones de montaje están entre paréntesis.

  • rw: Es para permitir lectura y escritura.
  • sync: Es opcional en caso de que queramos un poco mas de integridad de archivos y evitar pérdida de datos, sacrificando un poco de rendimiento.
  • all_squash: Esta opción degrada los permisos de los archivos creados desde el cliente al usuario nobody. Por ejemplo si en Windows 10 estoy como Administrador y creó un nuevo archivo, este pertenecerá al usuario nobody.
  • anonuid: El ID del usuario nobody, o en un caso específico el de cualquier usuario.
  • anongid: El ID del grupo del usuario nobody.

En este caso establecí anonuid y anongid a 1000, que viene siendo el usuario que es dueño de la carpeta /home/user/folder para conservar permisos de ejecución y escritura.

Con los cambios realizados guardamos el archivo CTRL + O, luego Enter, y entonces cerramos con CTRL + X, esto solo si usamos el editor nano desde la terminal.

Reiniciamos el servidor NFS:

sudo service nfs-kernel-server restart

Con esto quedará lista la configuración en el servidor, cualquier error que aparezca al reiniciar hay que revisar bien la configuración y obviamente la descripción del error.

Instalación y configuración del cliente en Windows 10

Windows viene con un cliente por defecto pero necesita ser instalado, el único detalle es que no recuerdo si esta disponible en la versión Windows 10 Home.

La forma más sencilla de instalarlo es usar el buscador y escribir ‘Panel de control’, ya que Windows 10 tiene varios paneles modernos que solo ocultan las opciones más antiguas. Abrimos ‘Programas’ > ‘Programas y características’ y en el panel izquierdo abrimos ‘Activar o desactivar las características de Windows’.

Marcamos la casilla ‘Servicios para NFS’ con sus dos descendientes ‘Cliente para NFS’ y ‘Herramientas administrativas’. Hacemos clic en "Aceptar" y después de un tiempo el cliente quedará instalado.

Montando la unidad de red

Para montar la unidad abrimos el ‘símbolo del sistema’ (no usar PowerShell). Usamos el comando:

mount -o anon \\192.168.0.20\home\user\folder k:

La IP 192.168.0.20 es la del servidor, seguida del recurso compartido y luego una letra de unidad que se usará. Es importante usar la ruta completa real del recurso como si estuviéramos personalmente en el ordenador con la carpeta '/home/user/folder', de lo contrario no funcionara. He intentado tratar de ocultar parte de la ruta al montar la unidad pero es un proceso complicado y no vale el esfuerzo extra.

El mensaje El comando se completó correctamente. indicará que todo funcionó correctamente.

Permisos de escritura para el usuario anónimo

Normalmente y de manera predeterminada Windows no permite la escritura en este tipo de unidades con el usuario anónimo. Para habilitar la escritura tenemos que abrir el registro de Windows "Regedit", y nos dirigimos hacia: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default

Ahí crearemos un valor de DWORD (32-bits) con el nombre AnonymousUid con el valor 0 con base ‘Decimal’. Luego creamos otro valor de DWORD (32-bits) con el nombre AnonymousGid con el valor 0 con base ‘Decimal’.

Tenemos que reiniciar el equipo o el servicio ‘Cliente para NFS’ (lo podemos encontrar en el administrador de tareas en la pestaña "Servicios").

Si seguimos todos los pasos anteriores y ya tenemos la unidad montada, abrimos el símbolo del sistema y ejecutamos el comando mount, aparecerá el montaje y en propiedades saldrá UID=0 y GID=0. Si aparece cualquier otro numero verificar todo el procedimiento anterior.

Notas: El procedimiento es prácticamente el mismo tanto en Ubuntu como en Debian, o cualquier otra variación como Kubuntu. No es necesario usar Ubuntu Server. La versión de NFS que se usará es la 3 con Ubuntu 18.04 - 64-bits y Windows 10.

Categorías

Comentarios

No hay comentarios, se el primero!

© 2020 ImperioWeb.net Todos los derechos reservados.