|

Cómo configurar un servidor NFS en Raspberry Pi

 por Emmet  21 jun 2019  Actualizado 10 dic 2019  

En este tutorial de NFS para Raspberry Pi te mostraremos cómo puedes compartir archivos desde tu Raspberry Pi usando el protocolo Network File System (NFS).

Raspberry Pi NFS

El protocolo Network File System (NFS) fue desarrollado inicialmente por Sun Microsystems en 1983. Se diseñó como un método para permitir que una computadora cliente acceda a archivos a través de una red.

Gracias a que el protocolo NFS es un estándar abierto definido en un RFC, cualquiera puede implementarlo fácilmente. Se ha vuelto muy usado por los administradores de red al montar un NAS.

A lo largo de este tutorial te guiaremos por el proceso de instalar los paquetes necesarios para poner en marcha el protocolo NFS en tu Raspberry Pi.

Además de eso, te mostraremos cómo compartir directorios usando el protocolo NFS.

Por último, te mostraremos cómo conectarte al recurso compartido NFS de tu Raspberry Pi tanto desde Windows como desde Mac OS X.

Si ya estás listo para comenzar, puedes encontrar el tutorial completo justo abajo.

 Equipo

A continuación está todo el equipo que necesitarás para configurar NFS en tu Raspberry Pi.

Recomendado

 Raspberry Pi

 Tarjeta Micro SD (8GB o más) si usas una Raspberry Pi 2, 3 o B+

 Cable Ethernet o dongle WiFi

 Disco duro externo

Opcional

 Carcasa para Raspberry Pi

 Teclado USB

 Ratón USB

Nota: Es posible que los puertos USB de la Raspberry Pi no basten para alimentar un disco externo, así que tal vez necesites invertir en un hub USB con alimentación propia.

 Configurar el Network File System (NFS) en tu Raspberry Pi

1. Lo primero que debemos hacer antes de proceder con la configuración del protocolo Network File System (NFS) en nuestra Raspberry Pi es asegurarnos de que todos los paquetes estén actualizados.

Para hacerlo en el sistema operativo Raspbian, ejecuta el siguiente comando.

sudo apt-get update
sudo apt-get upgrade

2. Con la Raspberry Pi actualizada, podemos continuar e instalar los paquetes en los que nos apoyaremos para el recurso compartido NFS.

En esta guía necesitaremos usar el paquete “nfs-kernel-server”. Este paquete constituye la base para servir archivos a través del protocolo NFS desde nuestra Raspberry Pi.

El paquete “nfs-kernel-server” maneja el lado servidor del protocolo NFS y nos permite compartir unidades fácilmente.

Para instalar estos paquetes, ejecutamos el siguiente comando.

sudo apt-get install nfs-kernel-server -y

3. Ahora que hemos instalado el software del lado servidor de NFS, podemos proceder a configurar un recurso compartido NFS en la Raspberry Pi.

Para esta guía simplemente crearemos un directorio dentro del directorio “/mnt/” llamado “nfsshare“.

Si ya has montado una unidad o quieres compartir un directorio distinto, asegúrate de reemplazar “/mnt/nfsshare” en las siguientes secciones del tutorial por el directorio que desees usar.

sudo mkdir /mnt/nfsshare

4. Lo siguiente que debemos hacer es asignar los permisos correctos a la carpeta que queremos compartir en la red.

Para ello usaremos los tres comandos siguientes. Cada uno de estos comandos tiene un propósito particular.

El primer comando otorga la propiedad de todos los archivos y carpetas contenidos dentro del directorio al usuario “pi” y al grupo “pi”.

La segunda línea busca todos los directorios dentro de nuestra carpeta “/mnt/nfsshare” y ejecuta el comando chmod para darle a cada directorio permisos “755” (Lectura/Escritura/Ejecución para el propietarioLectura/Ejecución para el grupo y otros).

La tercera línea hace algo similar, pero en su lugar busca todos los archivos dentro del directorio y les aplica permisos “644” (Lectura/Escritura para el propietarioLectura para el grupo y otros).

Para entender mejor los permisos, no dejes de revisar el tutorial de permisos en Linux.

sudo chown -R pi:pi /mnt/nfsshare
sudo find /mnt/nfsshare/ -type d -exec chmod 755 {} \;
sudo find /mnt/nfsshare/ -type f -exec chmod 644 {} \;

5. A continuación necesitaremos obtener tanto el “gid” (id de grupo) como el “uid” (id de usuario) del usuario que quieras utilizar para acceder a los archivos. Puedes hacerlo ejecutando el comando de abajo.

Para este tutorial usaremos simplemente el usuario “pi”, pero puedes aprovechar esto para cualquier usuario que desees.

id pi

6. Del comando anterior deberías obtener un resultado como el que mostramos abajo.

Anota los valores de gid y uid ya que los necesitarás en un paso posterior.

uid=1000(pi) gid=1000(pi) 

7. Ahora que tenemos todo lo necesario y hemos preparado una carpeta para compartir, debemos modificar el archivo “exports” ejecutando el comando de abajo.

El software del servidor NFS de la Raspberry Pi que instalamos antes lee de este archivo para saber qué directorios compartir a través del protocolo NFS.

sudo nano /etc/exports

8. Aquí es donde las cosas se vuelven un poco más complicadas.

Si quieres compartir la carpeta de modo que cualquiera pueda acceder a ella y leer y escribir en ella, puedes insertar la siguiente línea sin preocupaciones.

Desglosaremos esta línea con más detalle para que entiendas lo que hace; no obstante, puedes leer la documentación sobre el archivo “exports” de NFS.

Asegúrate de reemplazar el “anonuid” con el valor de “uid” que obtuviste en el paso 6, y de reemplazar el “anongid” con el valor de “gid” que también obtuviste en el paso 6.

/mnt/nfsshare *(rw,all_squash,insecure,async,no_subtree_check,anonuid=1000,anongid=1000)

A continuación está nuestro desglose de la línea para que entiendas lo que hace.

/mnt/nfsshare

Esta parte de la línea define el directorio que queremos compartir. En nuestro caso, es la carpeta “/mnt/nfsshare” que creamos antes.

*(NTFS Options)

Este asterisco define que se debe permitir el acceso a este recurso compartido a todas las direcciones IP que se conecten. Puedes cambiarlo para permitir IP específicas o un rango de IP reemplazando el “*” por la IP.

Para permitir todas las IP desde “192.168.0.0” hasta “192.168.0.256“, podemos reemplazar el asterisco por “192.168.0.0/24“.

Todas las opciones contenidas entre los paréntesis se aplican solo a esa dirección IP; puedes definir múltiples IP distintas, cada una con su propio conjunto de opciones.

(rw,all_squash,insecure,async,no_subtree_check,anonuid=1000,anongid=1000)

rw – Esta opción permite solicitudes tanto de lectura como de escritura en el volumen NFS.

all_squash – Esta opción mapea todos los uid y gid al usuario anónimo.

insecure – Esta opción permite clientes cuya implementación de NFS no usa un puerto NFS reservado.

async – Esta opción permite al servidor NFS romper el protocolo NFS para mejorar el rendimiento, a costa de que los datos puedan corromperse si el servidor se cae.

no_subtree_check – Esto deshabilita la comprobación de subárbol; aunque tiene un costo en seguridad, puede mejorar la fiabilidad del servidor NFS. Puedes leer más sobre esto en la página de documentación de exports que enlazamos antes.

anonuid – Es el UID que se utiliza para un usuario que se conecta de forma anónima.

anongid – Es el GID que se utiliza para un usuario que se conecta de forma anónima.

9. Una vez que hayas introducido la línea, puedes guardar el archivo presionando CTRL + X luego Y seguido de ENTER.

10. Ahora, para que nuestra carpeta recién añadida sea accesible a través del protocolo NFS, debemos ejecutar el paquete “exportfs” con el comando de abajo.

Esta aplicación actualiza la tabla actual de recursos exportados disponibles para el servidor NFS.

sudo exportfs -ra

11. Lo último que debemos hacer es obtener la dirección IP local de nuestra Raspberry Pi ejecutando el comando de abajo.

Deberás asegurarte de que tu Pi esté conectada a la red, ya sea configurando el WiFi o usando un cable Ethernet.

Necesitamos esta dirección IP para poder conectarnos correctamente al servidor NFS de la Raspberry Pi.

hostname -I

 Conectarte al recurso compartido NFS de tu Raspberry Pi en Windows

1. Para interactuar con recursos compartidos NFS en Windows, primero necesitamos habilitar el cliente NFS. De forma predeterminada, esta función está deshabilitada en las instalaciones de Windows.

Para hacerlo, debes buscar “activar o desactivar las características de Windows” dentro de Windows y hacer clic en la opción “Activar o desactivar las características de Windows” que aparece, como se muestra abajo.

Search Turn Windows Features on and off

2. Dentro de este menú, busca la carpeta “Servicios para NFS” (1.) y marca la casilla para habilitar todas las características disponibles.

Una vez hecho, haz clic en el botón “Aceptar” (2.) para finalizar la configuración. Tu instalación de Windows procederá a configurar todo lo necesario para conectarse con un recurso compartido NFS.

Windows Turn on services for NFS

3. Ahora abre el explorador de archivos y deberías poder ver la opción “Conectar a unidad de red”.

Haz clic en esta opción para continuar con el proceso de conectar el recurso compartido NFS de tu Raspberry Pi a tu computadora.

Windows File Explorer Map Network Drive

4. En esta pantalla necesitas introducir la dirección IP de tu Raspberry Pi seguida de la carpeta que montamos en el recurso compartido NFS (1.).

Por ejemplo, si la dirección IP de nuestra Raspberry Pi es “192.168.0.159” y la carpeta que configuramos está en “\mnt\nfsshare“, la “carpeta” que deberíamos introducir sería “\\192.168.0.159\mnt\nfsshare“.

Una vez introducida, haz clic en el botón “Finalizar” (2.) para completar la conexión.

Windows Map Network Drive NFS Details

5. Ahora deberías poder ver tu carpeta compartida NFS de la Raspberry Pi bajo “Ubicaciones de red” o “Red” en tu dispositivo Windows.

Windows View NFS Networked Drives

 Conectarte al recurso compartido NFS de tu Pi en Mac OS X

1. Ahora es momento de conectarte al recurso compartido NFS de tu Raspberry Pi en Mac OS X, y tendrás que empezar abriendo la aplicación Finder.

Mac OS X Opening Finder

2. Con la aplicación “Finder” abierta, haz clic en “Ir” (1.) en la barra de herramientas en la parte superior de la pantalla y luego haz clic en la opción “Conectarse al servidor...” (2.).

MAC OS X Connect to NFS protocol

3. A continuación se te pedirá que introduzcas la dirección a la que quieres conectarte (1.).

La dirección que debes introducir es una combinación del protocolo “nfs:\\”, seguido de la dirección IP de tu Raspberry Pi. Por último, termina con el directorio al que intentas acceder.

Por ejemplo, con la IP “192.168.0.159” y la carpeta que compartimos en la Pi siendo “\mnt\nfsshare”, la dirección que introduciríamos es “nfs:\\192.168.0.159\mnt\nfsshare

Una vez hecho, haz clic en el botón “Conectar” (2.) para enlazar el volumen compartido.

MAC OS X Connect to NFS Server

4. Si la conexión es exitosa, verás una nueva ventana que te muestra el interior de la carpeta que compartiste usando el protocolo NFS en tu Raspberry Pi.

MAC OS X Raspberry Pi NFS Connected

También puedes encontrar la carpeta de nuevo revisando la sección “Ubicaciones” en la barra lateral del Finder.

A estas alturas ya deberías tener tu servidor NFS de Raspberry Pi configurado y accesible en la red. Con suerte, podrás conectarte a él fácilmente usando una PC con Windows o una computadora con Mac OS X.

Si tienes algún comentario, consejo o cualquier otra cosa, no dudes en dejar un comentario abajo.

Artículo traducido al español. Fuente original: Pi My Life Up

Similar Posts

Deja un comentario