Crea tu VPN con LogMeIn Hamachi | Algo de Linux

miércoles, 29 de octubre de 2008

Crea tu VPN con LogMeIn Hamachi

¿Qué es Hamachi?
LogMeIn Hamachi es un software que nos sirve para crear una VPN (Red Privada Virtual).

Una VPN nos permite establecer una conexión segura y fiable entre dos o más ordenadores remotos, usando como medio de comunicación internet. Hamachi hace esto posible mediante la creación de túneles IP entre cada uno de los clientes que forman dicha red. Y la conexión es segura, dado que el tráfico entre los equipos es cifrado.

Es zero-config, lo que quiere decir que no necesita configuración. Además, existen versiones de Hamachi para Windows, Linux y Mac.

Usando LogMeIn Hamachi podemos acceder al ordenador de casa desde el trabajo o viceversa, pudiendo compartir archivos o enviar archivos de un PC al otro como si estuvieran conectados físicamente en la misma red local. Personalmente, lo he probado conectando un equipo a una red wifi y otro a otra wifi diferente. Y ha funcionado sin problemas.

Mucha gente lo usa para juegos. Dado que LogMeIn Hamachi crea una red local virtual, podemos jugar con los juegos que tienen modo de juego LAN directamente.

Hamachi funciona de la siguiente manera: Los equipos interlocutores reciben la ayuda de un nodo denominado “servidor mediador” para localizarse entre sí y para arrancar la conexión entre ellos. Una vez establecida la conexión, el tráfico deja de fluir a través de los servidores.

LogMeIn proporciona este servicio de forma gratuita para uso personal.
Además, también cuenta con una versión premiun de pago que agrega unas funciones más.
Pero, si vamos a usar Hamachi para compartir recursos entre máquinas amigas, o para dar soporte a algún amigo o familiar, tendremos más que suficiente con la versión gratuita para uso personal.

Veamos cómo instalarlo en linux:
Para instalarlo en linux descargamos el código desde la página de LogMeIn.
Y después de descargarlo, lo descomprimimos:

# tar xvzf hamachi-0.9.9.9-20-lnx.tar.gz

Una vez descomprimido, entramos dentro del directorio que se nos ha creado al descomprimir:

# cd hamachi-0.9.9.9-20-lnx

Y ejecutamos:

# make install

Una vez hecho esto, ya tenemos instalado hamachi en /usr/bin. Ahora, antes que nada, hay que correr el siguiente comando, que nos permitirá configurar una interfaz de tunel:

# /sbin/tuncfg

Para cada usuario con el que se quiera usar Hamachi, es necesario inicializar el programa (generar el par de claves ciptográficas, así como el directorio ~/.hamachi, donde se guardan las claves, la configuración, y el estado). Así que, tan sólo será necesario ejecutar hamachi-init una vez, al principio, para cada usuario.

Para inicializar hamachi para un usuario concreto, ejecutaremos:
/usr/bin/hamachi-init

Para iniciar el demonio de hamachi, ejecutaremos:

# hamachi start

Si lo queremos hacer es detener hamachi, lo haremos con:

# hamachi stop

Y si queremos objtener información del estado del demonio, ejecutaremos hamachi sin ningún parámetro:

# hamachi

Cuando arrancamos hamachi por primera vez, el servicio se encuentra off-line. Para loguearnos en la red hamachi, ejecutaremos:

# hamachi login

Y, si queremos desconectarnos de la red hamachi, ejecutaremos:

# hamachi logout

El demonio recuerda el estado, así que si lo detenemos con hamachi stop sin hacer logout (no es realmente necesario), cuando lo volvamos a iniciar pasará a on-line automáticamente.

Una vez que hacemos el login, podemos unirnos a una red que ya haya sido creada, ejecutando:

# hamachi join nombredelared [password]

Si no especificamos el password de conexión a la vpn indicada, nos lo pedirá.

Una vez que nos unimos a la red, nuestra máquina ya forma parte de ella, aunque todavía no se puede ver con las demás. Para conseguir que nuestra máquina se vea con las demás conectadas a la vpn, ejecutaremos:

# hamachi go-online

Y si queremos hacer que nuestra máquina deje de verse con las demás, ejecutamos:

# hamachi go-offline


Otros comandos:

Para ver los miembros de la red y su estado, ejecutamos:

# hamachi list

Crear una VPN, desde línea de comandos: (una vez que hayamos hecho hamachi start y hamachi login):

# hamachi create
nombredelared [password]

Se nos pedirá la contraseña a establecer. Una vez introducida, la red será creada y ya estaremos conectados a ella, sin necesidad de hacer un join. Aunque sí deberemos hacer un go-online.

Si somos el creador de la VPN, podremos echar a un miembro ejecutando:

# hamachi evict
nombredelared [iphostaechar]

La dirección IP que debemos especificar es la que se nos muestra con el comando hamachi list, o la que podemos ver en hamachi-gui (No la ip real).

Otra cosa que podemos hacer, si somos el creador de la VPN, es eliminarla:

# hamachi delete nombredelared


A continuación dejo un script de inicio que creé para usar con hamachi:

#!/bin/bash

case "$1" in
init)
if [ ! `pidof tuncfg` ]; then
echo Ejecutando tuncfg.
/sbin/tuncfg
else
echo tuncfg ya esta corriendo.
fi

if [ ! -d ~/.hamachi ]; then
hamachi-init
fi
;;
start)
hamachi start
hamachi login
hamachi set-nick majete
;;

stop)
hamachi logout
hamachi stop
;;

restart)
hamachi logout
hamachi stop

if [ ! -d ~/.hamachi ]; then
hamachi-init
fi

hamachi start
hamachi login
;;

status)
hamachi
;;

*)
echo "Usage: $0 {init|start|stop|restart|status}"
exit 1
;;
esac

Por supuesto, antes de usarlo, alguien tendría que crear la VPN con el comando hamachi create. Y los demás usuarios unirse a ella con hamachi join.

9 comentarios:

Ramón Aceves dijo...

Muy buen tutorial Esteban, bien explicado; gracias por la ayuda!

Anónimo dijo...

mmmmmm....

empezaste con logmeIn y terminaste unicamente con Hamachi, no entiendo en verdad, me parece que la solucion LogmeIn para linux aun no existe
tengo un servidor linux en una red privada fisica con internet
y desde el linux de mi casa quiero conectarme a ese servidor, no tengo direcciones publicas en ninguno de los 2 sitios, LogMeIn windows soluciona esto el asunto es como se soluciona lo mismo pero para la plataforma linux.
Lo que tu planteas solo permite crear VPNs entre maquinas que fisicamente se ven, LogMeIn es un intermediario entre maquinas que no se ven.. eso mismo para linux.
Si aclaras tu ayuda seria bueno
me parece que el hamachi linux solo sirve para vpns en redes locales o con cuando se tiene IPs publicas

saludos

Esteban M. Navas dijo...

Hola, anónimo. No entiendo tu mensaje. Quizás es que no has entendido bien el tema.
Hamachi es una aplicación de LogMeIn. LogMeIn tiene servidores que hacen de intermediarios entre los clientes que pueden ser windows o linux. LogMeIn Hamachi te permite crear VPN a través de internet y comunicar clientes windows y linux.

Para más info, te recomiendo que eches un vistazo al wiki de LogMeIn:

http://logmeinwiki.com/wiki/Main_Page

DeRo dijo...

Desde donde descargo el paquete para linux??? lo he buscado por todos lados, pero siempre termina descargandome el instalador para windows con extensión .msi

Esteban M. Navas dijo...

Si pones el nombre del paquete en Google, verás que puedes descargarlo, por ejemplo, desde aquí:
http://files.hamachi.cc/linux/hamachi-0.9.9.9-20-lnx.tar.gz

DeRo dijo...

Esteban muchas gracias por tu ayuda... solo me queda una curiosidad, he creado una cuenta desde la página misma de secure.logmein.com desde esta he creado mi propia red, pero cuando intento conectarme a esta desde el hamachi, cuando le ingreso la contraseña este me dice que es incorrecta, probé creando una desde la misma consola con:
hamachi create
Le ingreso la contraseña, pero cuando me desconecto de esta y quiero volver a ingresar, me dice que la contraseña es invalida y yo se que estoy ingresando muy bien la contraseña... cual será el problema, a alguien más le ha ocurrido esto?

Anónimo dijo...

Hola DeRo.
Creo que te has confundido si estas utilizando linux porque el hamachi en linux no es necesario logearte con la cuenta que creaste en logmein. Sino que directamente lo instalas y comienzas a crear redes esto es porque en logmein han lanzado una nueva version 2.XX pero esta es solo para windows, esa si te pide que te accedas con la cuenta que generaste....

Espero que esto te sirva...

Saludos

Anónimo dijo...

Yo uso LogMeIn Para las maquinas que tiene Windows y ahora estoy usando TeamViewer para las de Linux y funciona perfecto.

Esteban M. Navas dijo...

Me parece interesante. Echaré un vistazo a TeamViewer.