Navegar por una red SMB/CIFS sin Samba

¡Hola Amigos!. Como recomendamos en nuestro artículo anterior, debemos ir de lo sencillo a lo complejo. Por tanto, continuamos la serie aprendiendo a Navegar y Utilizar los recursos que encontramos en una red SMB/CIFS.

Las imágenes mostradas corresponden a una estación de trabajo con Debian Wheezy con el GNOME-Shell. Pienso que todo lo que explicaremos a continuación sea válido también para Ubuntu.

Debian instala por defecto la librería libsmbclient, paquete que permite a las aplicaciones de nuestro equipo conversar con servidores Samba y Microsoft Windows.

Lo cual indica que NO es necesario tener instalado Samba para acceder a redes SMB/CIFS. Este soporte está presente en el núcleo de nuestro sistema operativo. Por supuesto sus funciones son básicas pero suficientes para navegar.

Si abrimos el Nautilus y hacemos clic sobre el botón «Examinar la red», y tenemos habilitada en las preferencias que se nos muestre el «Lugar:», veremos como cambia de /home/usuario al lugar network:///. Si continuamos navegando, veremos lo siguiente:

samba-ii-01

Al hacer doble clic sobre el icono «Red de Windows», se nos mostrarán todos los Grupos de Trabajo o «Workgroup» de nuestra LAN. En nuestro caso se muestra solamente el grupo «DCH». Ahora, observen como cambió el «Lugar:» de network:/// a smb:///:

samba-ii-02

Observen el cambio a smb://dch/ al hacer doble clic sobre el Grupo de Trabajo:

samba-ii-03

Finalmente obtenemos la lista de equipos que pueden o no tener recursos compartidos, pero que soportan el protocolo SMB/CIFS. Al seleccionar el equipo de nuestro interés se debe mostrar la Lista de sus Recursos Compartidos, sólo si el servidor o máquina en cuestión permite que cualquier usuario pueda obtener esa lista, lo cual constituye el comportamiento por defecto. De paso observen el cambio del Lugar: a smb://alpha:

samba-ii-04

Si el recurso compartido que deseamos abrir esta protegido por nombre de usuario y contraseña, lo normal en redes empresariales, y nosotros conocemos que tenemos permiso para acceder a él, después que nos validemos correctamente podemos acceder a su contenido.

Observen que el nombre del DOMINIO que en éste caso es el nombre del Grupo de Trabajo está en mayúsculas.

samba-ii-05

Después que nos autenticamos correctamente, el Lugar: cambia a smb://alpha/des/, y además aparecerá un icono en el escritorio -en caso de que tengamos activado el escritorio- con el nombre de «des en alpha«, el cual actúa como un «Enlace» a nuestro recurso remoto.

También en el Nautilus se reflejará en su barra lateral de Lugares el recurso «des en alpha» en la zona «Red».

samba-ii-06

samba-ii-07

Si necesitamos abrir un determinado archivo -vía red- con la aplicación local -instalada en nuestro equipo- asociada a ese tipo de archivo, veremos como algunos SI abren de forma satisfactoria, mientras que otros NO. Dependerá, entre otros factores, del soporte que tenga nuestra aplicación para el protocolo SMB/CIFS.

Si no podemos abrir el archivo remotamente y no queremos instalar más paquetes para montar localmente el recurso compartido, y necesitamos abrirlo como solo lectura o modificarlo -acorde a los permisos que tengamos-, lo que podemos hacer es copiarlo hacia nuestro equipo y trabajar el archivo de forma local.

Si queremos cerrar la conexión establecida con el Recurso Remoto, lo podemos hacer en el propio Nautilus haciendo clic con el botón derecho del ratón sobre el icono correspondiente y seleccionando la opción «Desmontar».

Una forma más rápida de acceder a recursos cuya ubicación conozcamos de antemano, sería ejecutar -mediante Alt + F2 o por consola- el comando siguiente:

nautilus smb://servidor/recurso

Ejemplos:

nautilus smb://mixp/musica
nautilus smb://mixp.amigos.cu/musica
nautilus smb://192.168.10.100/musica
nautilus smb://federico@mixp/musica

Prueben y verán que, si para acceder al recurso se requiere autenticación, cuando se indica el usuario, varía un poco el diálogo de autenticación.

En caso de que sea un Servidor Independiente (Standalone) no registrado en un Dominio, el usuario debe existir en el Servidor y debe tener permisos para leer y/o modificar el recurso. El nombre del DOMINIO será el del propio Servidor Standalone.

En GNOME y KDE al menos, también existe la alternativa de «Conectar con el Servidor». El navegador de archivos Dolphin de KDE nos la pone fácil con su icono «Red», al igual que el Nautilus.

Por otra parte, si necesitamos un acceso profesional a una LAN empresarial y no queremos unir al dominio a nuestra estación de trabajo, para no necesitar autenticarnos cada vez que queramos acceder a un determinado recurso, podemos instalar el paquete smb4k en cualquier ambiente de escritorio aunque éste sea originario del KDE.

Este paquete instala entre otras dependencias a: samba-common-bin, smbclient y smbfs, al menos en Squeeze. Tiene una interfaz en extremo intuitiva y mi juicio, profesional.

Lo hasta aquí explicado puede parecer muy elemental. De hecho la mayor parte del proceso que ocurre en los servidores y que nos permite navegar por una red SMB/CIFS, es totalmente transparente para el usuario. A pesar de todo queremos puntualizar los siguientes aspectos:

  • Para acceder a los recursos de una red con un Dominio, ya sea de Windows o de Samba, NO es obligatorio tener registrado nuestro equipo cliente en el Dominio, aunque si lo hacemos sería más cómoda la navegación por la LAN pues sólo nos autenticamos una sola vez.
  • Cada equipo conectado a una LAN debe compartir una misma red o «network» y una misma máscara de red. Si la red es la 192.168.10.0 y la máscara es 255.255.255.0 (192.168.10.0/24), nos indica una red Clase «C» en la cual podemos tener hasta 254 equipos. Una red de esta Clase satisface y con mucho las necesidades de la inmensa mayoría de las pequeñas y medianas empresas. Por tanto, cada equipo conectado a la red debe tener una dirección IP 192.168.10.xxx/255.255.255.0, para que se pueda afirmar que participan de la misma red.
  • Si en la red no se está ejecutando el servicio DNS, no puede existir una correcta resolución de nombres a partir de las direcciones IP de los equipos, a menos que distribuyamos para cada uno de ellos, un archivo hosts cuyo contenido será el de todos los nombres de los equipos y sus respectivas direcciones IP. Vea /etc/hosts o man hosts. El archivo hosts no es más que la Tabla Estática de Búsqueda de Nombres de Hosts a partir de sus Direcciones IPs.
  • Aunque para cerrar un conexión elegimos la opción «Desmontar» en el Nautilus o en el Enlace creado en el Escritorio, «los recursos no están realmente montados en nuestro sistema de archivos local». El Enlace redirige nuestra petición a un Lugar Especial (consulte la ayuda del GNOME 2.xxxx) que es una URL del tipo smb://equipo-remoto/recurso-compartido.
  • El soporte para redes SMB/CIFS que nos permite conversar con servidores Windows y Samba, es parte del Núcleo de Linux, NO del programa Samba. Tampoco lo son los paquetes smbfs, smbnetfs y cifs-utils. Para más información, consulte «Samba3-ByExample. Chapter 13 Performance, Reliability, and Availability«.
  • Acorde a lo recomendado por Samba, y siempre que sea posible, se debe tener un servidor WINS instalado en cada subnet. Este servicio, el cual lo presta también el propio Samba, facilita enormemente la resolución de nombres NetBIOS. El servicio WINS es a una red SMB/CIFS lo que es el DNS a Internet. NO debe tener más de un servidor WINS en una misma subnet.

Como este post no pretende sustituir ni por asomo a la documentación abundante y exuberante :-), aclaren sus dudas leyéndola. Samba no perdona a los Impacientes y se hace amigo de los que la estudian aunque sea básicamente.

Y me parece que es bastante por hoy. Por tanto, ¡se acabó la Actividad, amigos!.

Hasta la próxima aventura!!!.