Páginas

domingo, 8 de noviembre de 2009

Hamachi

Hamachi - VPN










Activar en el kernel soporte TUN/TAP y recompilar el nucleo:
Device Drivers  --->
  Network device support  --->
    [*] Universal TUN/TAP device driver support
Verificar la salida de dmesg
# dmesg | grep TUN
Universal TUN/TAP device driver 1.5 (C)1999-2002 Maxim Krasnyansky

Cargar módulo tun
# modprobe tun
# lsmod
Module                  Size  Used by
tun                     7296  0

Comprobar que nuestro kernel ya lo soporta y el dispositivo ha sido creado:
$ ls /dev/net/tun
/dev/net/tun

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

Descargue la última versión de hamachi desde http://files.hamachi.cc/linux/.

Entre en el directorio donde lo descargó:

$ cd /home/debian/descargas/

Descomprimir el archivo:
$ tar -zxvf hamachi-0.9.9.9-20-lnx.tar.gz

Entramos en el directorio de hamachi
$ cd hamachi-0.9.9.9-20-lnx/


Instalar hamachi
$ sudo make install

Verá este mensaje:
Hamachi is installed

Crear grupo hamachi
$ sudo groupadd hamachi

Agregar root al grupo hamachi
$ sudo gpasswd -a root hamachi

Añadir usuario al grupo hamachi (en mi caso lenny)
$ gpasswd -a $USER hamachi

Cambiando al propietario de la carpeta /home/lenny/.hamachi
$ sudo chown -R $USER:$USER ~/.hamachi

Cambiando permisos
$ sudo chmod 760 /var/run/tuncfg.sock

Cambiando a grupo hamachi
$ sudo chgrp hamachi /var/run/tuncfg.sock

Iniciar tuncfg
$ sudo tuncfg
tuncfg: already running

Si sale este error:
  # /etc/init.d/tuncfg start
 * Starting tuncfg ...
tuncfg: cannot stat() /dev/net/tun -- No such file or directory
tuncfg: visit http://www.hamachi.cc/tuntap for more info  [ !! ]

primero hay que asegurarse que este archivo existe:
# ls -l /var/run/tuncfg.sock
ls: cannot access /var/run/tuncfg.: No such file or directory

No existe, tiene que crearlo:
# touch /var/run/tuncfg.sock


Cambie los permisos:
# chmod 1254 /var/run/tuncfg.sock

Falta crear el device tun:
# mkdir /dev/net
# mknod /dev/net/tun c 10 200

Intentelo de nuevo:
# /etc/init.d/tuncfg start
 * Starting tuncfg ...                [ ok ]

Crear una configuración inicial e indicándole el path de instalación:
$ sudo hamachi-init -c /usr/bin/hamachi
Initializing Hamachi configuration (/usr/bin/hamachi). Please wait ..

generating 2048-bit RSA keypair .. ok
making /usr/bin/hamachi/ directory .. ok
saving /usr/bin/hamachi/client.pub .. ok
saving /usr/bin/hamachi/client.pri .. ok
saving /usr/bin/hamachi/state .. ok

Authentication information has been created. Hamachi can now be started with
'hamachi start' command and then brought online with 'hamachi login'.

Configuracion inicial en home (normalmente no es necesario si lo instala por primera vez, puede obviar este paso):

$ sudo hamachi-init -f
Initializing Hamachi configuration (/home/lenny/.hamachi). Please wait ..

generating 2048-bit RSA keypair .. ok
making /home/lenny/.hamachi directory .. ok
saving /home/lenny/.hamachi/client.pub .. ok
saving /home/lenny/.hamachi/client.pri .. ok
saving /home/lenny/.hamachi/state .. ok

Iniciar el programa:
$ sudo /usr/bin/hamachi start
Starting Hamachi hamachi-lnx-0.9.9.9-20 .. ok

Login a Hamachi
$ sudo /usr/bin/hamachi login
Logging in ......... ok

Llegado a este punto configure su nick:
$ sudo /usr/bin/hamachi set-nick xenaunix

Acceder a una red existente o crear una nueva.

Unirse a una red existente:
$ sudo /usr/bin/hamachi join NETLENNY
Password:
Joining NETLENNY .. ok

O crear una red nueva:
$ sudo /usr/bin/hamachi create NETGENTOO

Por último, Tras unirnos o crear una red hay que ponerla online:
$ sudo /usr/bin/hamachi go-online NETGENTOO

Ver lista de redes y usuarios:
$ sudo /usr/bin/hamachi list
[NETLENNY]
5.3.129.195
5.7.236.132
5.177.3.194
5.183.232.165
5.205.183.13

Obtener los nicknames
sudo /usr/bin/hamachi get-nicks
Retrieving peers' nicknames ..

Listar usuarios con su nick

$ sudo /usr/bin/hamachi list
[NETLENNY]
5.3.129.195 DEBIANHP
5.7.236.132 NETGENTOO
5.177.3.194 NETLENNY
5.183.232.165 NETARCH
5.205.183.13 NETXENA

Averiguar el estado de hamachi:
$ sudo /usr/bin/hamachi
Hamachi, a zero-config virtual private networking utility, ver 0.9.9.9-20

version : hamachi-lnx-0.9.9.9-20
pid : 4456
status : logged in
nickname : NETGENTOO

También podemos borrar una red creada por nosotros:
$ sudo /usr/bin/hamachi delete NETGENTOO

Comando para desligarnos o desunirnos de una red:
$ sudo /usr/bin/hamachi leave NETLENNY

A continuación un sencillo guión impedirá repetir teclear todos os camandos:
Guardelo en /etc/init.d/ con el nombre de hamachi.

#!/bin/bash
#######################################
### script de inicio, parada y reinicio de hamachi ###
#######################################
case "$1" in
start)
echo "Iniciando hamachi..."
/usr/bin/sudo /sbin/tuncfg
/usr/bin/sudo /usr/bin/hamachi start
/usr/bin/sudo /usr/bin/hamachi login
/usr/bin/sudo /usr/bin/hamachi go-online NETGENTOO
sudo /usr/bin/hamachi set-nick NETGENTOO
;;
stop)
echo "Deteniendo hamachi..."
/usr/bin/sudo /usr/bin/hamachi stop
;;
restart|force-reload)
echo "Reiniciando hamachi..."
/usr/bin/sudo /usr/bin/hamachi start
sleep 1
/usr/bin/sudo /usr/bin/hamachi stop
;;
*)
exit 1
;;
esac
exit 0


Hacerlo ejecutable:
$ sudo chmod +x /etc/init.d/hamachi

Para ejecutarlo:
$ /etc/init.d/hamachi start
Iniciando hamachi...
tuncfg: already running
Starting Hamachi hamachi-lnx-0.9.9.9-20 .. ok
Logging in .......... ok
Going online in NETGENTOO .. ok
Setting nickname .. ok

Si queremos detener hamachi:
$ /etc/init.d/hamachi stop
Deteniendo hamachi...
Shutting down .. ok

Utilizando restart como parámetro reiniciamos hamachi:
$ /etc/init.d/hamachi restart
Reiniciando hamachi...
Starting Hamachi hamachi-lnx-0.9.9.9-20 .. ok
Shutting down .. ok

El programa hamachi-gui provee de interfaz gráfica a hamachi.

Descargar de http://hamachi-gui.sourceforge.net/index.html

Instalar hamachi-gui:
$ sudo dpkg -i hamachi-gui_0.9.6-1_amd64-hardy.deb

Ejecute el siguiente comando donde -c le indica a hamachi-gui donde encontrará el programa hamachi, nohup para que al cerrar la terminal el programa continue corriento. Si no se utilizan redirecciones todas las salidas del programa se dirigen a un fichero llamado nohup.out. & Se utiliza para recuperar inmediatamente el control del terminal:
$ sudo nohup hamachi-gui -c /usr/bin/hamachi > /dev/null 2>&1 &

Un script para iniciar la interfaz gráfica?, guardelo como hamachi_gui.sh.:
#!/bin/bash
########################################
### script hamachi-gui ######################
#######################################

echo "Iniciando interfaz grafica..."
/usr/bin/sudo /usr/bin/nohup /usr/bin/hamachi-gui -c /usr/bin/hamachi > /dev/null 2>&1 &

Hágalo ejecutable:
$ sudo chmod +x /etc/init.d/hamachi.

Para ejecutarlo:
$ sudo ./hamachi-gui.sh
[sudo] password for debian:
Iniciando interfaz grafica...

Activar hamachi durante el inicio de GNU-Linux:
$ sudo update-rc.d hamachi defaults

Desactivar hamachi durante el arranque:
$ sudo update-rc.d-f hamachi remove

No hay comentarios:

Publicar un comentario