Buscar este blog

martes, 14 de noviembre de 2017

NAS4FREE smb y Debian Linux

Hay veces que aparecen errores que te dejan sorprendido, en mi caso, al intentar acceder a una carpeta comparida en un servidor con Nas4Free desde mi Debian GNU/Linux 9 recien instalado. El caso era que no podia acceder usando el gestor de archivos Dolphin.



La configuración en el servidor era la siguiente:


Y la clave de todo estaba en que se utilizaba la versión 3 de smb.
Tener en cuenta los siguientes datos:
  • IP del servidor: 192.168.1.3
  • Nombre del rescurso compartido: COMPARTIDA. Este nombre no tiene nada que ver con la ruta en que se encuentra físicamente la carpeta dentro del servidor (/mnt/discoZ)

La solución
Primero vamos a ver como montar la carpeta compartida desde la línea de comandos:

$ sudo mount -t cifs //192.168.1.3/COMPARTIDA /media/nascompartida    -o username=miguel,vers=3.0,uid=1000,gid=1000

En este comando se indica lo siguiente:
  1. Montar un sistema de ficheros tipo cifs (-t cifs) o lo que es lo mismo usando el protocolo smb. Server Message Block (SMB)​ es un protocolo de red que permite compartir recursos en una red Windows, más tarde se renombró como Common Internet File System (CIFS).
  2. El recurso compartido, en este caso una carpeta, se encuentra en la siguiente ruta: 192.168.1.3/COMPARTIDA
  3. El recurso se montará en una carpeta del equipo local (Debian), en la siguiente ruta: /media/nascompartida
  4. El nombre del usuario con el que se realiza la conexión al servidor es: miguel. Se pedirá la contraseña. Se supone que ese usuario existe en el servidor.
  5. La versión de smb a utilizar es la: 3.0 aquí está la clave.
  6. El usario y grupo (uid, gid) al que va pertenecer la carpeta compartida, de esta forma podremos realizar operaciones de lectura, escritura y borrado de ficheros.
Para desmontar el recurso:
$ sudo  umount /media/nascompartida



Si desemos que este recuso se monte automáticamente siempre que iniciamos el equipo hay que añadir el montaje al fichero: /etc/fstab
$ sudo  vi /etc/fstab

Al final del fichero añadimos lo siguiente:
//192.168.1.3/COMPARTIDA /media/nascompartida cifs credentials=/usr/local/etc/usuario_clave,vers=3.0
,uid=1000,gid=1000,iocharset=utf8 0 0

Fijarse en el uso de "credentials" que apunta a un fichero de nombre "usuario_clave" (protegido para que sólo root pueda leerlo, vale cualquier fichero en texto plano y en cualquier ruta) donde se guarda el nombre del usuario y la contraseña necesarios si así se definió para conectarse a la carpeta compartida. De esta forma se evita poner estos datos en el fichero "fstab" (user=usuario,password=contraseña) que puede ser leido por cualquiera. El formato del fichero sería:
username=usuario
password=contraseña



Para probar montamos todas las unidades definidas en "fstab":
$ sudo mount -a

De esta forma ya tenemos acceso total a la carpeta compartida, tanto desde la línea de comandos como desde un gestor de archivos como Dolphin.


Si no hiciésemos nada de lo anterior, todavía podríamos intentar acceder a un recurso compartido desde un gestor de archivos como Dolphin escribiendo la ruta al recuso, por ejemplo: smb://192.168.1.3


El problema está en que unas veces funciona y otras no, depende del protocolo smb utilizado por el servidor que comparte. Las aplicaciones gráficas como Dolphin hacen uso de la configuración de samba que se encuentra en el archivo:  /etc/samba/smb.conf

Vamos a editar este archivo y realizar unos cambios:
$ sudo vi /etc/samba/smb.conf

Buscamos la sección [global] y añadimos estas 2 líneas:
     client min protocol = SMB2
    client max protocol = SMB3  


PERO no me funciona :-( aparecen las carpetas compartidas, pero no puedo navegar por ellas. Si lo quito tengo otro servidor al que si me permite acceder (QNAP), en cambio en otro (Nas4free) se agota el tiempo de espera. Así que me queda pendiente de investigar...


En caso de problemas, una forma de comprobar la conexión con el servidor:
$ smbclient -U miguel -L 192.168.1.3 -m SMB3
$ testparm

Para conectarse al servidor como si fuera un servicio FTP y poder realizar acciónes (por ejemplo un "dir"):
$ smbclient -U miguel //192.168.1.3/carpeta 
smb \> dir



No hay comentarios:

Publicar un comentario