Accediendo a discos en red

Conectando a discos de red

 

  • Montando discos Windows desde nuestra Raspberry Pi 3.
  • Veremos cómo hacerlo desde el explorador de archivos de forma sencilla.
  • Presentaremos el comando mount y veremos cómo usarlo para montar share Windows directamente.[/three-fourth] [clear/]
  •  

    Material requerido

     

    Vista lateral  Una Raspberry Pi 3, aunque valen la 2 y la 1

    Conectando a discos de red

     

    Hemos ido configurando diferentes cosas  para dejar nuestra Rasberry Pi configurada y lista para trabajar en nuestro entorno, pero aún no hemos hablado de algo imprescindible, para todos aquellos que disponemos de más de un PC en casa (Oh sí, tengo un puñao. En serio)

    Normalmente tenemos por lo menos un PC corriendo Windows 10 (Si. Ya sé que algunos lo odian) y otros sus Mac con OSX e incluso para muchos solo Linux, es digno de estar en su presencia. Además tenemos portátiles de varios tipo, tabletas varias y de diferentes tamaños y como no, teléfonos móviles.

    Así que de un modo u otro inter conectar nuestros equipos vía la red local, es una necesidad imperiosa, bien sea vía WIFI o bien por Ethernet, pero en cualquier caso por TCPIP y a ser posible compartiendo alguna carpeta o disco, de donde podamos dejar y recoger archivos varios para intercambiar entre los diferentes nodos.

    O sea, queremos compartir carpetas más o menos públicas entre Windows, Mac y Linux y desde luego con nuestra Raspberry que ya hace tiempo paso a formar parte de la familia. ¿Es esto posible?

    Los lectores astutos se habrán dado cuenta de que la pregunta era retórica, y que la respuesta es un rotundo sí. Afortunadamente hoy en día, se puede compartir archivos entre cualquiera de los principales sistemas operativos y más aún, es bastante fácil.

    Accediendo a discos Windows

     

    Lo más común, estadísticamente hablando, es que dispongáis de algún PC con Windows y que hayáis compartido alguna carpeta para acceso público en la red. Si es así, enhorabuena porque resulta de lo más sencillo conectarse a él desde tu Raspberry Pi.

    Pero antes, tenéis que saber que el protocolo de red específico de Microsoft por el cual comparte recursos en una red, solía llamarse NETBIOS o NETBEUI. Por supuesto eran protocolos propietarios y Microsoft tenía la aviesa intención de dominar el mundo con ello, expulsando a la competencia a los reductos exteriores del mundo de las comunicaciones

    NetBIOS  es un protocolo que se desarrolló hace ya bastante tiempo, y tenía el grave inconveniente de no ser enrutable. Es decir que no servía para montar Internet ni enviar información a otros nodos a través de un router estándar, inconveniente grave del que no se enteraron hasta que el advenimiento del TCPIP les pilló por sorpresa y básicamente se les cayó encima sin poderlo evitar.

    Para salvar los muebles, Microsoft incorporo el protocolo NetBIOS, al transporte TCPIP y lo ejecuta como un servicio de nivel alto, con el que sus servidores y estaciones pueden seguir dialogando como si no hubiera pasado nada, pero de fondo sigue estando el viejo protocolo NetBIOS.

    En el mundo Linux, se rieron bastante del sopapo que se llevó Microsoft con esto, aunque la verdad es que no fue el único, ya que todos los grandes de la informática habían desarrollado sus propios protocolos de comunicación de red local con la aviesa intención de imponérnoslos a todos a base de martillazos en la cabeza, pero afortunadamente sin mucho éxito. Gracias a Dios.

    Ejemplos de esto fueron SPX de Novell, Banyan de Vines y Token Ring de IBM y algunos de estos aun coletean por el mercado.

    En el mundo Linux al protocolo que Microsoft emplea para comunicar sus máquinas y compartir archivos y otras cosas se le conoce oficialmente como SMB ( Server Message Block) nombre absurdo donde los haya, pero iros acostumbrando.

    Po eso también, a los programas que ofrecen emulación de servicios Windows en máquinas Linux se les suela llamar por el nada imaginativo nombre genérico de Samba.

    La buena noticia es que el servicio de acceso a disco compartido en una red de Windows viene incluido de serie en nuestra querida Raspberry Pi, y podemos usarlo sin más desde ya.

    Pero claro, no iba a ser tan fácil (Y lo sabíais). Para poder acceder a un disco compartido en una red de Windows necesitas varias cosas:

  • Un nombre de recurso, o como se llama el disco al que queremos acceder.
  • La dirección IP de dicho servidor (Porque no me imagino que dispongáis de un servidor de DNS local, a mano en casa)
  • Un nombre de usuario autorizado a usar el recurso.
  • Una contraseña para el usuario.
  • Un nombre de red Microsoft que si no la has cambiado será Workgroup.
  • Si tienes claro todo esto, enhorabuena podrás acceder enseguida a tu disco compartido.

  • Pero si eres un usuario normal, no tendrás pajolera idea de lo que te estoy hablando y entonces la cosa se va a complicar bastante, porque es imposible que aquí te dé un baño de como configurar tu red de Microsoft y compartir algún disco o carpeta para que podamos acceder desde tu Raspberry.
  • Tendrás que buscar por Internet como crear carpetas compartidas en Windows y más aun tendrás que buscar cómo crear usuarios para poder acceder en remoto.
  • Una buena idea sería crear en Windows un usuario como el que usas en Raspberry, es decir usuario pi, contraseña raspberry y así te acordaras seguro. 
  • Como yo tengo mi red configurado ya para todo esto en mi caso va a resultar muy fácil. Yo tengo compartido en mi red local un disco llamado E, y un usuario valido con su contraseña que atiende por charly y además me sé la dirección IP del servidor.

    He leído por Internet no sé qué historias de que montes un servicio CIFS para acceder a recursos de red (CIFS es el nuevo nombre de SMB que es algo así como SMB en esteroides) pero no necesitas montar nada. Basta con que arranques el gestor de archivos:

    disposicion de iconos

    Hasta ahora no habíamos hablado del explorador de archivos en Linux (Pero yo sé que sois chicos o chicas list@s) y seguro que lo habéis arrancado y visto que es muy similar al de otros sistemas. A la izquierda la organización del disco o en este caso de la tarjeta SD, y carpetas colgando que muestran los directorios disponibles.

    Cuando montemos el recurso de disco Windows, aparecerá aquí como una carpeta más, y para ello vamos a escribir esto:

    smb://ip_del_servidor/nombre_recurso

    Que en mi caso se traduce en:

    smb://192.168.1.20/E

    Porque la dirección de mi servidor Windows es 192.168.1.20 y el recurso compartido es un disco llamado E. Si lo pones en la dirección del explorador:

    accediendo a discos windows

    Os pedirá que te  identifiques con usuario y contraseña (Ademas del nombre de dominio Windows) Recuerda que debe ser un nombre de usuario valido en tu grupo de trabajo o dominio Windows:

    Peticion de usuario

    Os mostrara esto:

    Muestra disco compartido

    Que como veis, muestra el contenido de mi disco compartido. Podeis navegar por el exactamente igual que si fuera un disco local pero a través de la red de forma transparente. Probadlo. No hace falta que me creais.

    De hecho resulta bastante fácil navegar por redes Windows desde Linux / Raspberry. Escribe en el recuadro del explorador “smb:” y pulsa intro.

    exploranto la red

    Te muestra tu entorno de red desde el punto de vista de Windows. Si ahora haces doble click en Workgroup, tendrás esto (Por supuesto desde mi red, en tu caso será otra cosa):

    recursos windows

    Aquí veras lo que hay disponible en tu grupo de trabajo o dominio, que en mi caso es bien poco. Nuevo doble click en Charly-PC (Lo sé. Que falta de imaginación)

    recursos compartids

    De este modo podéis ir navegando por la estructura de discos compartidos de Windows. Nuevo click en E:

    contenido de E

    Tened en cuenta que esto no es la panacea. En cuanto intentes entrar en una carpeta que no te corresponde, Windows te pedirá amablemente la contraseña y te dará con la puerta en las narices, pero confío en que el ejemplo haya servido para que veas lo fácil que resulta compartir cosas con Windows y Raspbian.

    Complicando todo un poco mas

     

    Es bastante probable, que dependiendo de cómo hayáis montado vuestro disco en Windows, el share que tenéis en Linux/Raspbian sea de solo lectura. Lo que no necesariamente es un asco, porque podemos copiarnos lo que haya en Windows hacia Rasbian, como unas películas por ejemplo, pero efectivamente puede ocurrir que necesites acceso completo con escritura incluida. Y para eso tendras que revisar como administrar derechos en Windows.

    Además también puede ocurrir que te aburras de montar una y otra vez el mismo disco cada vez que reinicias tu Raspberry y te gustaría saber cómo montar esa carpeta de forma automática.

    Para esto, de nuevo voy a tener que contaros un pequeño rollo, que sé que os puede aburrir, pero que es necesario si queréis entender cómo funciona la mente de los que piensan en Linux.

    En la próxima sesión nos centraremos en el sistema de ficheros de Linux y de cómo organiza este los distintos medios a su alcance en un único árbol de directorios, pero de momento vamos a necesitar una pequeña introducción rápida al asunto para el tema que nos ocupa.

    En los ordenadores, cualquier cosa que contiene información es un fichero. Son ficheros las películas, la música en mp3, los ficheros de texto y cualquier cosa que existe en la estructura de disco de Linux.

    Los ficheros se organizan en grupos o carpetas, que con mucha frecuencia se llaman directorios. Los directorios contienen ficheros… y pueden contener a su vez más directorios. Y si vas a añadir una carpeta compartida de Windows, para acceder desde Linux, tiene que verse desde un directorio válido de Linux.

    Lo que suele hacerse es montar un directorio en Linux (enseguida veremos cómo) y mostrar el contenido de la carpeta compartida de Windows… como si estuviera físicamente pegada a ese directorio asociado, de forma que no podremos distinguirlo de cualquier otro directorio del sistema de archivos.

    ¿Confuso? No te creas. Te acostumbrarás enseguida y pronto veras que tiene mucho sentido. Tanto que el propio Microsoft ha acabado aceptando este modo de ver las cosas y se puede hacer así en las últimas versiones  de Windows.(Para sonrisa de los usuarios habituales de Linux)

    Pero lo que ahora nos interesa es que si queremos montar un disco duro nuevo, o un lector de CD, o un disco compartido de red, necesitamos usar la instrucción mount y asignarles un directorio en el sistema de ficheros desde el que veremos su contenido, como parte de un sistema de ficheros general.

    En Linux no existen los dichos C. o D. como en Windows. Existe un único sistema que contiene todo. ¿Y cómo sabes en que disco estas, suelen preguntar los usuarios de Windows? Pues en realidad la respuesta es ¿Y a quién le importa? Tienes acceso a los ficheros desde un directorio del árbol principal y único.

          • Piénsalo. Aunque ahora te resulta extraño tiene todo el sentido del mundo, (Y de hecho Microsoft ha adoptado esta misma visión y se puede hacer en Windows aunque mantiene compatibilidad con el viejo modelo de discos C: E: etc.)

         

        El comando mount

         

        En Linux  la doctrina oficial dice que los sistemas de ficheros adicionales, se deben montar en el directorio /mnt (Ordenados que son ellos, ya ves)

        Aunque sería válido y posible montarlos en cualquier otra posición, nosotros somos gente obediente y temerosos de las leyes del root, por lo que seguiremos la doctrina y crearemos un directorio en /mnt que llamaremos Windows1 donde montaremos el acceso al disco compartido.

        Naturalmente, me imagino que ya supondréis que hay que disponer de derechos del root para hacer todo esto, por lo que vamos a empezar con un comando muy interesante (Y peligroso según algunos). Abrid una ventana de comandos y escribid:

        sudo su

        comando sudo su

        Este sencillo comando significa que a partir de ahora, todo lo que escribáis lleva derechos de root y podéis ahorraros el sudo por delante. Fijaros que hasta el prompt de la consola ha cambiado para indicarte esto.

                • El prompt es ese mensaje que te escribe el Shell, por delante de lo que tu escribes para indicarte que espera tus ordenes

        Ahora podemos montar el directorio Windows1 en mnt mediante

        mkdir /mnt/Windows1

        comando mkdir

        Una de esas cosas de Perogrullo a partir de aquí, es que para montar discos compartidos en Windows necesitas tener un disco windows compartido,  y me temo que este no es un tutorial de como compartir shares en Windows, sino de cómo conectarte a ellos.

        Por tanto supongo (Con un par…) que ya sabes cómo hacerlo y que tienes un share disponible, y en los párrafos siguientes, supongo (De nuevo con más optimismo que sentido común) que estas familiarizado con la terminología de redes de Microsoft.

                • Hay bastante abundancia de información sobre cómo hacer esto en Internet y también de cómo crear distintos usuarios en Windows, con derechos propios de cada uno, pero sencillamente es imposible entrar en este tema aquí

        Al final,  para montar ahora el disco compartido en Windows, necesitamos escribir un comando bastante sencillo pero con muchos parámetros. No dejes que te asuste o te pierda que es sencillo (En serio):

        sudo mount –t cifs –o username=Abcd1 //ServerIP/Share /mnt/Windows1
        •  

        • username = Abcd1, es un nombre válido de usuario para acceder a esta carpeta de Windows, y ojo porque te va a pedir la contraseña correspondiente.
        • //ServerIP/Share es la dirección IP válida de tu servidor  y el nombre que Windows publica de tu carpeta o disco compartido.
        • /mnt/Windows1 es el nombre de la carpeta que hemos creado más arriba en nuestra Raspberry para montar el disco Windows.
        • Por todo ello en mi caso el comando es:

          sudo mount –t cifs –o username=charly //192.168.1.20/E /mnt/Windows1

          Pero lógicamente en tu caso será diferente, Y cuanto le des un usuario válido para el recurso os pedirá la contraseña:

          solicita la contraseña

          Una vez que le deis una contraseña correcta ya podéis ver desde aquí el contenido del recurso compartido en Windows:

          lss /mnt/Windows1

          lista el contenido de un directorio

          No os asustéis de lo que pueda figurar en mi disco, que bien podría aparecer algún fichero inconfesable (Oh no, esos los he movido de sitio)

          Y también podréis visualizar su contenido a través del administrador de ficheros, ya que aunque lo hemos montado con un comando directo, el share es válido en cualquier punto de Raspbian:

          Muestra un directorio y su contenido

          Por favor, insisto en que no te asustes. Al final la explicación ha sido larga pero fijaros que el comando no tanto, y de una línea hemos montado un disco Windows en Raspberry. ¿No está mal, Nooo?

          Los comandos en Bash, son muy intimidantes al principio, pero enseguida le iréis cogiendo el tranquillo y pronto veréis que producen una extraña fascinación, porque tienen una potencia sorprendente. 

          Resumen de la sesión

           

        • Hemos visto cómo usar el gestor de archivos de Raspbian para acceder directamente a la red Windows sin montar nada.
        • Podemos usar el gestor de archivos para explorar la red Windows sin mas.
        • Pero también presentamos el comando mnt, para montar esos discos desde línea de comandos.
        • Recordad el mnt porque es uno de esos comandos que vamos a usar más de una vez.
             

          Deja una respuesta