Ir al contenido principal

Instalación de HAMACHI en Linux (Ubuntu)

Hamachi es una aplicación gratuita (freeware) que permite crear redes privadas virtuales (VPN), esto es: simular redes locales a través de Internet, sin requerir configuración.

En esta mini guía o mini manual voy a describir los pasos que yo he seguido para instalar Hamachi en mi Kubuntu 11.10 (y también en un Ubuntu Server 11.10) como servicio que arranca automáticamente antes de iniciar sesión, y en caso de caída de la red y/o Internet se reconecte solo.

Para instalar Hamachi en Ubuntu primero hay que asegurarse que tenemos instalado el soporte de IP Tunnelling en el kernel, normalmente siempre está instalado, sino lo está no podremos continuar.

Si al ejecutar
sudo modprobe tun

no sale nada, significa que sí lo tenemos instalado.

Ahora tenemos que comprobar que está creada la carpeta de tunnelling en /dev con el comando:
ls /dev/net/tun

Si sale un mensaje que dice que no existe el fichero o directorio, hay que crearla así:
sudo mkdir /dev/net

sudo mknod /dev/net/tun c 10 200

Para x86_64 bits será necesario instalar:
$ sudo apt-get -y install build-essential ia32-libs upx-ucl

Para x86_32 bits:
$ sudo apt-get -y install build-essential upx-ucl

Ahora pasamos a instalar Hamachi:

Descargamos la última versión de http://files.hamachi.cc/linux/. Cuando escribí el post la última versión era http://files.hamachi.cc/linux/hamachi-0.9.9.9-20-lnx.tar.gz.

Nos vamos al directorio donde lo hemos descargado, extraemos el contenido del fichero, y nos vamos a dicha carpeta extraída:
tar -zxvf hamachi-0.9.9.9-20-lnx.tar.gz

cd hamachi-0.9.9.9-20-lnx/

E instalamos Hamachi:
sudo make install

sudo tuncfg

Nota: En caso que alguna de las dos líneas anteriores fallen al ejecutarse (por ejemplo en Ubuntu Server ocurre) debemos hacer:
sudo apt-get install make

sudo apt-get install binutils

Con esto ya lo tenemos instalado, ahora tenemos que configurar los permisos de usuarios.

Nos creamos un usuario para Hamachi que podamos iniciarlo solo como miembros del grupo hamachi.

Creamos el grupo hamachi:
sudo groupadd hamachi

Añadimos nuestro usuario al grupo hamachi (sustituye usuario por el nombre de tu usuario en Ubuntu):
sudo gpasswd -a usuario hamachi

Añadimos el usuario root al grupo:
sudo gpasswd -a root hamachi

Añadimos permisos:
sudo chmod 760 /var/run/tuncfg.sock

Cargamos el grupo:
sudo chgrp hamachi /var/run/tuncfg.sock

Si las dos líneas anteriores fallan, entonces debemos hacer:
touch /var/run/tuncfg.sock

Ahora pasamos a la configuración.

Nos creamos la configuración inicial:
sudo hamachi-init -c /etc/hamachi

Ahora ejecutamos hamachi:

sudo hamachi -c /etc/hamachi start

Establecemos nuestro nick de Hamachi
sudo hamachi -c /etc/hamachi set-nick NickDeHamachi

Nos loguearnos en Hamachi:
sudo hamachi -c /etc/hamachi login

Para unirnos a una red ya existente:
sudo hamachi -c /etc/hamachi join RedParaUnirnos ContraseñaDeLaRed

O para crear una red nueva:
sudo hamachi -c /etc/hamachi create RedParaCrear ContraseñaDeLaRed

Y para estar online en la red a la que nos unimos:
sudo hamachi -c /etc/hamachi go-online RedEnLaQueNosHemosUnido

Y si quisieramos desconectarnos de Hamachi:
sudo hamachi -c /etc/hamachi logout

Llegado a este punto ya estamos conectados a Hamachi, logueados y unidos online a una red.

Ahora vamos a ver como crear un script para iniciar, reiniciar y parar Hamachi:

Abrimos un editor de texto de esta forma (para Ubuntu):
sudo gedit /etc/init.d/hamachi

o de esta para Kubuntu:
sudo kate /etc/init.d/hamachi

y pegamos este código:
#!/bin/sh

### BEGIN INIT INFO

# Provides: hamachi

# Required-Start: $remote_fs $syslog $network

# Required-Stop: $remote_fs $syslog

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Start hamachi at boot time

# Description: Starts up hamachi daemon. Networking is required.

### END INIT INFO

hamachi_start() {

echo "Starting hamachi..."

/sbin/tuncfg

/usr/bin/hamachi -c /etc/hamachi start

/bin/chmod 760 /var/run/tuncfg.sock

/bin/chgrp hamachi /var/run/tuncfg.sock

}

hamachi_stop() {

echo "Stopping hamachi..."

killall tuncfg

/usr/bin/hamachi -c /etc/hamachi stop

}

hamachi_restart() {

hamachi_stop

sleep 1

hamachi_start

}

case "$1" in

'start')

hamachi_start

;;

'stop')

hamachi_stop

;;

'restart')

hamachi_restart

;;

*)

hamachi_start

esac

Guardamos el archivo y cerramos el editor.

Con esto ya podremos iniciar, reiniciar o parar el servicio Hamachi con estos comandos:
sudo service hamachi start

sudo service hamachi restart

sudo service hamachi stop

Ahora haremos el script que sea ejecutable:
sudo chmod +x /etc/init.d/hamachi

Finalmente añadimos el script al lanzador para que se ejecute automáticamente siempre que encendamos el PC aunque no hagamos sesión:
sudo update-rc.d hamachi defaults

Si algún día queremos que nuestro servicio Hamachi no inicie automáticamente simplemente tendremos que eliminar el permiso de ejecución del script:
sudo chmod -x /etc/init.d/hamachi

Y si queremos cambiar nuestro nick o red a la que nos conectamos, con Hamachi activo ejecutamos las órdenes descritas con anterioridad para tal fin.

Ahora voy a poner como mejorar el servicio.

Algunas veces, cuando tenemos Ubuntu conectado a una red a través de Hamachi, podemos observar desde otros PCs conectados a Hamachi como aparece una admiración amarilla intermitente en la ventana de Hamachi (en el programa Hamachi de Windows), esto se soluciona de la siguiente manera:
sudo gedit /etc/hamachi/config

o si estamos en Kubuntu:
sudo kate /etc/hamachi/config

Escribimos en el editor
KeepAlive 30

salvamos y cerramos. Seguimos con estas órdenes:
su

(escribimos contraseña del usuario root)

cd

mkdir .hamachi

cp /etc/hamachi/config .hamachi/config

exit

sudo service hamachi restart

Con esto se debería solucionar el problema.

Por otro lado, otra cosa que me ocurrió es que si mientras estoy conectado a una red Hamachi desde Ubuntu (o Kubuntu) pierdo la conexión a la red o Internet, Hamachi es incapaz de volverse a conectar cuando se establezca de nuevo la conexión a Internet. En Hamachi de Windows esto no ocurre, se reconecta solo. En realidad no encontré la forma de solucionar esto, por lo que animo si alguien sabe como solucionarlo que lo deje escrito en un comentario. Lo que a mí se me ocurrió es cada X tiempo reiniciar el servicio hamachi, así si se ha caído se volverá a conectar. Lo bueno es que como el reinicio es muy rápido (menos de dos segundos) aunque estemos usando la red Hamachi en el momento del reinicio automático no pasa nada, sigue funcionando normalmente.

Para programar automáticamente el reinicio cada hora debemos hacer:
sudo gedit /etc/crontab

o en caso de Kubuntu:
sudo kate /etc/crontab

y añadimos al final del fichero que se abre:
* */1 * * * root service hamachi restart

Así conseguimos que se reinicie automáticamente cada hora.

Finalmente dejo escrito como solucionar un error que parece que pasa en Ubuntu 9.10: En el momento de ejecutar Hamachi, sale un mensaje de error que dice "Terminado (killed)". Para solucionar esto hay que ejecutar:
sudo apt-get install upx-ucl

cd /usr/bin

sudo upx -d hamachi

En caso que desde otros clientes veáis en vuestro programa Hamachi que el servidor Ubuntu se desconecta, os dejo aquí un enlace en el que proponen una solución (yo no lo he probado).
http://community.logmein.com/t5/Hamachi/hamachi-0-9-9-9-20-linux-client-to-hamachi-2-issues/td-p/30817/page/4

Con esto termino la mini guía. Si tenéis alguna aportación de como configurar más o automatizar mejor Hamachi en Ubuntu, por favor dejad comentarios.

Comentarios

Entradas populares de este blog

Hacer una pausa en un fichero por lotes batch (bat o cmd)

En consola de Windows (antiguamente Ms-Dos) desde siempre se ha podido hacer una pausa, esperando confirmación del usuario. El comando en cuestión es: pause Si escribimos pause en nuestra consola veremos que la consola se queda pausada hasta que pulsamos una tecla. Esto es útil en ficheros batch (ya sean .bat o .cmd) para hacer pausas controladas entre distintos comandos, a la espera que el usuario pulse alguna tecla para continua. Pero, ¿qué ocurre si queremos una pausa de cierto número de segundos y luego continúe el proceso automáticamente ? No hay ningún comando que lo haga, pero haciendo el siguiente "truco" (hace un ping a una URL especificando el número de segundos como timeout) lo podremos conseguir ping -n 10 localhost > null Simplemente cambiar el 10 por el número de segundos que queráis, y ya tendréis en consola (o msdos) una pausa de N segundos, y luego el proceso continuará automáticamente.  

jQuery Cycle Plugin - Transiciones animadas de imágenes (slideshow)

jQuery Cycle plugin proporciona un mecanismo de hacer transiciones animadas de imágenes . Su implementación está basada en el InnerFade Plugin de Torsten Baldes, el Slideshow Plugin de Matt Oakes, y el jqShuffle Plugin de Benjamin Sterling. El plugin soporta pausas al pasar el ratón por encima de la imágen, paradas automáticas, retrollamadas (callbacks) antes y después, disparadores (triggers) y una gran cantidad de efectos para las trasiciones. La última versión estable (2.34), publicada en esta misma semana, requiere, como mínimo, la versión 1.2.3 de jQuery . Es un plugin muy ligero, tan solo ocupa 18 KB en su versión para entornos de producción. Como casi todo en jQuery , es muy fácil de usar. Aquí pongo un breve ejemplo básico: HTML: [sourcecode language="html"] [/sourcecode] CSS: [sourcecode language="css"] .pics { height: 232px; width: 232px; padding: 0; margin: 0; } .pics img { padding: 15px; border: 1px solid #ccc;

Instalación y configuración del foro phpBB3

Voy a intentar enumerar y describir el proceso de instalar, configurar, e incluso personalizar algunos aspectos del famoso foro open-source phpBB . Lo primero es descargarlo desde aquí https://www.phpbb.com/downloads El enlace anterior descargará phpBB3 en inglés (aunque luego se pueden instalar otros idiomas). Pero si lo queremos ya directamente en español lo descargaremos desde la web oficial de phpBB3 en español http://www.phpbb-es.com/ . Siendo la URL de descarga: http://www.phpbb-es.com/foro/descargas.php Lo descomprimiremos en nuestro directorio web público a Internet. Por ejemplo, en caso de usar XAMPP para Windows, lo descomprimiremos en C:xampphtdocsphpbb3 Ahora desde nuestro navegador web accederemos a la URL donde lo hemos instalado, siguiendo nuestro ejemplo local con Windows XAMPP sería: http://localhost/phpbb3 Aparecerá una venta similar a esta: Donde seleccionaremos la pestaña "Install" e iremos siguiendo los pasos uno a uno hasta que esté instalado con la conf