Sincronización remota en 4 pasos con rsync
A día de hoy es común que una persona tenga a su disposición dos ordenadores: un portátil y un sobremesa en casa. Con esta receta veremos cómo sincronizar el sobremesa de casa con nuestro portátil para o bien traer ficheros que estén en el sobremesa a nuestro portátil o bien hacer copias de seguridad del portátil al sobremesa, estemos donde estemos.
Necesitamos...
- Obviamente: conexión a Internet en ambos ordenadores
- Open SSH server (en el sobremesa)
- rsync (en ambos ordenadores)
Primer paso: Servidor ssh en casa
Aquí trabajaremos exclusivamente con el ordenador de sobremesa. Lo primero es lo primero, instalar el paquete openssh-server conSegundo paso: Configurando el router
Seguimos en casa con nuestro sobremesa: Como posiblemente (seguro) la conexión a Internet se hace mediante un router ADSL de la compañía X, hay que configurar el router para que dirija la conexión entrante por el puerto ssh (puerto 22) al ordenador, esto se hace siguiendo los siguientes pasos:- Mirar la IP local del router, se puede hacer fácilmente con
- Mira la IP local del ordenador, si estás conectado con cable:
- Abre el navegador web
- Escribe en la barra de direcciones la IP local del router. Te saldrá un cuadro que te pedirá login para el router. Si no tocaste nada cuando te instalaron el router, el usuario y la contraseña serán "admin". Si cambiaste la configuración usa la que pusiste, y si no la cambiaste te insto a hacerlo, por seguridad.
- Dentro del router, pinchamos en un menú llamado "Advanced Setup" o similar, y en dicho menú vamos a la configuración "NAT"
- Una vez dentro, tenemos que crear (o añadir) un servidor virtual ("Virtual Servers"). Saldrá una tabla con los puertos que actualmente están abiertos, para qué servicio y hacia qué ordenador (mediante su IP) está dirigido. Encima o debajo de esa tabla habrá un botoncito de "add" y otro de "remove", pincha en "add".
- En "Server name", en la opción "select a server" expande el menú y selecciona "Secure Shell Server (SSH)" y debajo en "Server IP" pones la IP de tu ordenador.
- Automáticamente debería salir en una tabla debajo que los puertos para este servidor ("external port start/end" e "internal port start/end") son todos el 22 y el protocolo TCP. Abajo del todo, al terminar la tabla, hay un botón de "Save/Apply", pincha en él. Posiblemente te saldrá una ventanita diciendo que como el puerto 22 puede estar en uso, lo redirige al 2222 o alguno por ahí, dale a OK, no hay ningún problema, el software NAT sabe lo que hace para redirigir puertos (port forwarding)
Tercer paso: DNS para conectarse remotamente
Para este paso necesitamos trabajar en un ordenador conectado a la red local de casa, da igual si es nuestro sobremesa o nuestro portátil. Este paso es significativamente más corto que el anterior en cuanto a explicación. Dado que lo que queremos es acceder a nuestro ordenador de sobremesa cuando no estamos en casa, tener un DNS propio evita tener que memorizar la IP pública de tu router cada vez que lo enciendas (salvo que hayas contratado IP estática, cada vez que reinicies el router el servicio de conexión le dará una IP pública nueva). Para obtener un nombre de dominio propio y gratuito podemos acudir a una página como DynDNS, donde podemos crear una cuenta gratuita y registrar la IP pública actual del router con un nombre de dominio gratuito. Para hacer esto, una vez que tienes la cuenta y has entrado en ella, debes seguir los siguientes pasos:- Ir a "My services"
- Buscar "Host services" y pinchar en "Add hostname"
- Rellenar la cajita con un nombre de dominio válido (todo minúsculas, sin caracteres especiales...), por ejemplo "sobremesa-fulanito"
- En el menú de selección del "." elige uno gratuito, como por ejemplo "ath.cx", de forma que el nombre es "sobremesa-fulanito.ath.cx"
- En "Service type" marca la opción "Host with IP address"
- En "IP address" aparecerá un recuadro en blanco y debajo un texto en azul que dice "Use autodetected IP address xxx.xxx.xxx.xxx" (Usar dirección IP auto-detectada xxx.xxx.xxx.xxx), pincha ahí, la dirección xxx.xxx.xxx.xxx es la IP pública actual de tu router.
- No marques la casilla de "Mail routing" y dale a "Add to cart", sigue los pasos de "compra" (que sale por la cifra de 0.00$) y listos, tenemos nombre de dominio
Cuarto paso: rsync
Necesitamos tener instalado en ambos ordenadores el programa rsync. Si no estuviese, lo instalamos conProbando rsync y ssh desde casa
Los pasos 2 y 3 de esta receta son para poder acceder al ordenador de sobremesa que está detrás de un router cuando nosotros nos encontramos con el portátil en otra red distinta, pero, si queremos hacer pruebas de rsync y ssh entre el portátil y el sobremesa desde casa, no podemos usar el nombre de dominio, debemos usar directamente las IPs privadas de la red. Por ejemplo, nuestro sobremesa tiene la IP privada 192.168.1.2, si queremos ejecutar comandos mediante ssh desde el portátil tendremos que hacerPara finalizar
Aquí en CRySoL hay más recetas sobre sincronización, control de versiones y ssh. Esta es sólo una forma más para sincronizar de forma remota un par de ordenadores. Con otras recetas se puede mejorar mucho lo que he explicado aquí, e insto a los curiosos e interesados en el tema a leerlas (por ejemplo sobre unison y git).Referencias
- Instalar servidor ssh
- rsync man pages
- Open SSH
- ssh man pages
- Experiencias de ensayo-error con rsync proporcionadas por Lk2
[ show comments ]
blog comments powered by Disqus