martes, 22 de diciembre de 2009

¿Compartir carpetas entre ordenadores a través de internet?


Compartir carpetas entre ordenadores de una misma red es muy sencillo, sin embargo es habitual plantearse hacer lo mismo entre ordenadores situados en oficinas o domicilios distantes y "a través de internet".  Esto es perfectamente posible, pero nada sencillo para un usuario "de a pie". Si alguien se lo pregunta, este es uno de los motivos por los que proliferan los servicios tipo "mobile me", "Live Mesh", Ubuntu One", o mi favorito DropBox, que nos permiten disponer de "un sitio" donde guardar archivos que queremos que sean accesibles por nosotros mismos desde otro lugar, o que queremos compartir con otros, y que nos evitan complicaciones como las que siguen.


¿PORQUÉ NO ES "TAN FÁCIL?"

A modo de introducción rápida en el tema, lo primero es ver de qué modo se comparte esa carpeta; siendo lo más lógico usar el protocolo FTP. FTP es tan antiguo como internet, y se sigue utilizando por su eficiencia incluso si se dispone de una conexión a la red lenta. Si se dispone de un Mac se puede utilizar el servicio FTP ya integrado en Mac OS X, o bien añadir algún software que permita un mayor control sobre lo que se hace, como el gratuito PureFTP para Mac o el también gratuito Filezilla Server para Windows o Linux.

Este software convierte al ordenador en "servidor FTP", y permite compartir determinadas carpetas con otros ordenadores que accedan a ellas utilizando otro software llamado "cliente FTP". Filezilla (cliente) y CuteFTP para Windows, o Cyberduck y Transmit para Mac, son algunos ejemplos. Que quede claro que en ningún caso vamos a cometer la imprudencia de compartir todo el disco duro de nuestro ordenador, sino unas determinadas carpetas en las que guardaremos solo ciertos archivos.

Acceder al "servidor FTP" desde otros ordenadores será fácil: teclearíamos en nuestro "cliente FTP" la IP del servidor, así como un "nombre de usuario" o "login" y el correspondiente "password" o contraseña.
Por defecto FTP utiliza el puerto 21 y no hay que especificarlo (ftp://192.168.1.5:21), pero si instalamos, por ejemplo,  PureFTP éste suele utilizar el 2121 para no entrar en conflicto con el servicio del propio Mac. En este caso accederíamos también al Mac escribiendo: ftp://192.168.1.5:2121

Vale, pero ¿qué es un puerto? Haciendo un símil poco técnico, en el mando de nuestro televisor podemos seleccionar distintas botones o numeraciones para acceder a diferentes canales a través de un mismo cable de antena. Para no hacernos un lío solemos asignar ciertas numeraciones a determinados canales. En España, por ejemplo, el botón número "1" solemos hacer que corresponda a TV1, el "2" a TV2, el "3" a Antena3, el "5" a Tele5, etc... aunque no tiene porqué ser así y pueden ser otros, es sólo una convención.

Los ordenadores tienen "puertos", y existe también una convención para que por defecto se utilicen ciertos puertos para cada tipo de tráfico de datos, aunque todo entre y salga por un mismo cable. La navegación web se suele hacer a través del puerto 80, el acceso via FTP por el 21, la descarga de correo POP por el 110, y para jugar online al "Age of Empires" el 2301 y sucesivos, etc....

Todo esto de los puertos no tiene demasiada importancia en una red local, pero es fundamental cuando se accede "desde internet" a un ordenador "de tu casa u oficina".



Todos los ordenadores de tu casa: la Xbox, la impresora de red y el router tienen una dirección IP única y distinta. Esta se puede introducir manualmente o bien se confía en que el router asigne una a cada uno mediante el servicio DHCP.
Pero "desde fuera", desde internet, lo único visible sería la IP pública o externa de tu router. Tu router tiene "desde dentro" (desde tu red local o LAN) otra IP, que para los ordenadores es la puerta de enlace o "gateway", que suele ser 192.168.0.1 ó 192.168.1.1

El asunto es, que cuando alguien teclea tu IP ṕublica (la única visible desde el mundo exterior) y quiere acceder mediante FTP, el router debe saber a qué ordenador en concreto debe dirigir ese tráfico. Esto se llama "mapear puertos" o "port mapping" y consiste en crear en el router unas tablas en las que se asocian determinados puertos con ciertas IPs. El cómo se hace esto depende de la marca y modelo de router, pero podemos encontrar ayuda y manuales en muchas páginas de internet.

Otro tema es que tu dirección IP pública no tiene porqué ser siempre la misma, a menos que lo hayas solicitado expresamente y "pasando por caja". El proveedor de servicios puede asignarte automáticamente una IP pública diferente cada vez que apagues y enciendas el router. En principio habría que preguntar a los "del otro domicilio" qué dirección IP pública tienen en ese momento antes de acceder a esa carpeta compartida.

Esto se soluciona mediante un servicio gratuito llamado DynDNS. Si te llamas Fulano y te das de alta en el servicio obtendrás una dirección tipo: fulano.dyndns.ws Deberás instalar un software en tu Mac que periódicamente envía la IP pública del router a los servidores de DynDNS.

De este modo, cuando alguien escriba en su cliente FTP la dirección: ftp://fulano.dyndns.ws:2121, se redirigirá a la IP pública de tu router, éste verá que la petición se hace la puerto 2121 y llevará el tráfico al ordenador que tiene el "servidor FTP" instalado.


LA ALTERNATIVA: "ALMACENAMIENTO ONLINE"

Como todo esto puede ser muy complicado, existen servicios -muchos gratuitos- que facilitan las cosas a los usuarios. Si necesitas "esa carpeta para compartir datos", te la facilitan ubicada en un servidor. Si se dispone de una cuenta en "Mobile me", "Live Mesh" o Ubuntu One" te ofrecen una especie de "disco duro virtual" donde hacer tus copias de seguridad o guardar archivos. Google Apps, por ejemplo, además de crear y editar documentos "online" te permite compartirlos con otros usuarios, y recientemente también te deja compartir carpetas, aunque sólo permite utilizar archivos de tipo "ofimático".
Otros sitios ofrecen FTP gratuito, como Tripod, Files-Upload o DriveHQ, aunque ojo, en muchos casos los archivos que subamos sólo permanecen cierto tiempo (unos meses):



Pero el que desde mi punto de vista resulta el más práctico y cómodo es DropBox, que ofrece de forma gratuita hasta 2GB de espacio en disco. Podemos descargar un software que nos muestra el espacio en disco del servidor como un "disco local" en nuestro ordenador, a modo de "memoria USB virtual". Podemos instalar el software en todos los ordenadores que utilicemos, ya funcionen con Mac OS X, Windows o Linux (existen versiones para todos). Es muy fácil compartir las carpetas y datos con otros usuarios e incluso "copiar el URL" de un documento y enviarlo por email a otra persona para que descargue el archivo haciendo clic en el enlace. Es más, por defecto trae habilitada una función de sincronización entre los contenidos del "espacio online" y la correspondiente carpeta local.


OTRAS OPCIONES.

Y volviendo a lo de "interconectar" dos ordenadores para compartir archivos, cabe la posibilidad de hacerlo a través de programas de mensajería, pero requieren que haya alguien pendiente "al otro lado".

Existe otra opción, que como en el caso anterior, el truco está en utilizar un "intermediario". LogMeIn y NTRConnect son cada uno de ellos, una combinación de "servicio" prestado por los desarrolladores respectivos y un software "cliente" que se instala en nuestro ordenador. Si utilizamos las" versiones gratuitas" podemos controlar un ordenador remoto; es decir ver la pantalla del otro ordenador, ya sea PC o Mac, e interactuar con teclado y ratón como si estuviéramos sentados frente a ellos. Pero si pagamos una cuota, además "de ver el otro ordenador" podemos hacer más cosas, como transferir archivos entre unos y otros

El software de los ordenadores (pueden ser más de dos) se conecta con los servidores de LogMeIn ó NTRConnect, que hacen de intermediarios y permiten gestionar las conexiones. Para ello basta darse de alta en el servicio e instalar una pequeña aplicación en el Mac o PC. En su momento hice una guía o tutorial para instalar y utilizar NTRconnect, en Macuarium y en una entrada de este mismo blog.


No hay comentarios:

Publicar un comentario