[TUTORIAL] Montaje manual de archivos remotos vía NFS y SSHFS

Spanish Forum

Moderators: JCSenar, tomeu

Post Reply
User avatar
Wibol
Level 4
Level 4
Posts: 365
Joined: Fri Nov 27, 2015 7:00 am
Location: España

[TUTORIAL] Montaje manual de archivos remotos vía NFS y SSHFS

Post by Wibol » Wed May 22, 2019 5:33 am

Montar sobre nuestro equipo local el contenido de una carpeta ubicada en una máquina remota, nos facilita enormemente el acceso y manipulación del mismo de igual modo que lo hacemos con los que residen en nuesto disco duro.

Vamos a compartir la carpeta /home/jose/Descargas de los equipos remotos "Servidor1" con IP fija privada 192.168.0.2 y "Servidor2" con IP fija pública 123.123.123.123 a las que deseamos acceder desde "Cliente1" conectado a nuestra red local, montando dicho recurso en el directorio local /media/juan/Servidor1/Multimedia/.
* Los valores en color rojo deben sustituirse por los adecuados a cada caso.
Protocolo NFS

Network File System tiene un rendimiento excelente aunque carece de encriptado en la conexión, lo que lo convierte en una opción ideal para el acceso remoto a servidores de nuestra red local, donde la seguridad ya está garantizada por otros medios.

En equipos servidor:

Instalamos desde el repositorio apt install nfs-kernel-server. A continuación especificamos qué carpeta queremos hacer accesible editando el archivo sudo nano /etc/exports y añadiendo la linea /home/jose/Descargas/ 192.168.0.0/24(rw,sync,no_subtree_check). Agregamos una por cada carpeta que queremos hacer accesible.

Code: Select all

# /etc/exports: the access control list for filesystems which may be exported
#		to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
#
/home/jose/Descargas/ 192.168.0.0/24(rw,sync,no_subtree_check)
De esta forma compartimos el directorio /home/jose/Descargas/ de "Servidor1" en modo lectura-escritura con todos los clientes de nuestra red local, y reiniciamos el servicio para que tome los nuevos valores con sudo service nfs-kernel-server restart para Mint 17.X e inferioes o sudo systemctl restart nfs-kernel-server para Mint 18.X y superiores. Tras configurar el firewall con sudo ufw allow nfs, estará disponible.
En cuanto a los permisos, siempre prevalecen los más restrictivos. Es decir, si compartimos un directorio con la opción "rw" pero éste sólo tiene permiso de lectura en su sistema de archivos local, el recurso será de sólo lectura para el resto de la red. Es necesario que la carpeta padre de la compartida tenga permisos de lectura para "Otros".
En equipos cliente:

Para que los clientes sean capaces de acceder a dicho directorio es necesaria la instalación desde el repositorio del paquete apt install nfs-common y crear la carpeta donde haremos el montaje con sudo mkdir /media/juan/Servidor1/Multimedia/.

Ahora ya podemos establecer la conexión:

Code: Select all

sudo mount 192.168.0.2:/home/jose/Descargas/ /media/juan/Servidor1/Multimedia/
Podemos simplificar el uso de comandos en la terminal con alias.
El uso del directorio /media/ permite que dicho recurso aparezca en el panel izquierdo del explorador de archivos automáticamente mientras esté montado.
Podemos comprobar que todo fue bien haciendo ls /media/juan/Servidor1/Multimedia/ o pegando dicha dirección en el explorador de archivos, y desmontarlo una vez hemos acabado con sudo umount /media/juan/Servidor1/Multimedia/.

Existe la posibilidad de realizar el Montaje bajo demanda de archivos remotos de manera que todo este proceso se lleve a cabo automáticamente cuando lo necesitemos y se desmonte al dejar de usarlo, optimizando así el uso de recursos.

Protocolo SSHFS

Secure Shell Filesystem establece conexiones encriptadas aunque ofrece peor rendimiento que el anterior. Por este motivo está especialmente recomendado para el acceso a máquinas que se encuentran fuera de nuestra red local, donde nuestros datos estarían más expuestos.

En equipos servidor:

Es necesaria la instalación del paquete apt install openssh-server, comprobar que está abierto el puerto 22 con sudo ufw allow ssh y que la máquina admite conexiones SSH usando ssh juan@123.123.123.123 desde un cliente.

En equipos cliente:

Linux Mint trae ya instalado y configurado el cliente SSH para su uso, así que sólo nos falta crear la carpeta donde haremos el montaje con sudo mkdir /media/juan/Servidor1/Multimedia/ y establecer la conexión:

Code: Select all

sudo sshfs -o allow_other jose@123.123.123.123:/home/jose/Descargas/ /media/juan/Servidor1/Multimedia/
Podemos simplificar el uso de comandos en la terminal con alias.
El uso del directorio /media/ permite que dicho recurso aparezca en el panel izquierdo del explorador de archivos automáticamente mientras esté montado.
Podemos comprobar que todo fue bien haciendo ls /media/juan/Servidor1/Multimedia/ o pegando dicha dirección en el explorador de archivos, y desmontarlo una vez hemos acabado con sudo fusermount -u /media/juan/Servidor1/Multimedia/.

Existe la posibilidad de realizar el Montaje bajo demanda de archivos remotos de manera que todo este proceso se lleve a cabo automáticamente cuando lo necesitemos y se desmonte al dejar de usarlo, optimizando así el uso de recursos.

Antes de realizar una consulta, no olvides:

Post Reply

Return to “Español (Spanish)”