Existen muchas herramientas que permiten usar VPN las cuales permiten crear, literalmente, una “red” completamente independiente de las configuraciones de Firewall, IDS y otros elementos restrictivos en un determinado entorno (como por ejemplo, una organización, una universidad, etc).

Los conceptos de lo que es una VPN, se pueden ver con un mayor nivel de detalle aquí: http://en.wikipedia.org/wiki/Virtual_private_network

la intención de esta entrada es simplemente indicar como se puede utilizar este mecanismo para realizar un “bypass” de las restricciones a las que habitualmente nos encontramos expuestos en determinados sitios, a continuación se indicará el uso de Hamachi para lograr este cometido

HAMACHI

Se trata de una herramienta sencilla y muy robusta para crear interfaces de red con acceso a Internet de modo completamente independiente a la red local en la cual se encuentra conectada una máquina determinada, se encuentra soportada por Windows, Mac y Linux. La versión de hamachi para este ultimo sistema operativo es Beta, sin embargo, de momento no he encontrado ningún inconveniente en su uso, este ultimo sistema operativo ha sido el utilizado para realizar todas las pruebas correspondientes a instalación y uso.

Instalación

En esta ruta: http://help.logmein.com/SelfServiceDownloads se encuentra el software disponible para descargar, existen 3 distribuciones del software, paquete RPM, paquete DEB y paquete TAR, en este caso se utiliza el paquete TAR, su instalación es realmente fácil, solamente basta con descomprimir el contenido del fichero en cualquier localización y ejecutar el comando ./install.sh con esto se instalará Hamachi como un servicio, es decir se ubicará un script de ejecución en /etc/init.d/ el software queda ubicado en el directorio /opt/logmein-hamachi una vez se instala, automáticamente se inicia el servicio (demonio) en la máquina, de hecho, se habilita una interfaz de red nueva y preparada para ser utilizada, ejecutando el comando ifconfig puede apreciarse dicha interfaz:

>ifconfig

ham0 Link encap:Ethernet HWaddr 2e:4b:d6:8e:af:91

inet addr:5.120.212.178 Bcast:5.255.255.255 Mask:255.0.0.0

inet6 addr: fe80::2c4b:d6ff:fe8e:af91/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1404 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:27 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:500

RX bytes:0 (0.0 B) TX bytes:6229 (6.2 KB)

Muy sencillo, por otro lado este demonio puede ser iniciado y detenido como cualquier otro solamente ejecutando

/etc/init.d/logmein-hamachi start

/etc/init.d/logmein-hamachi stop

NOTA: Para que el proceso de instalación funcione correctamente es necesario tener instalada la librería lbs la cual se puede encontrar sin dificultades en sistemas Ubuntu/Debian.

Comandos Basicos Hamachi

Ahora que Hamachi se encuentra instalado, lo primero es “loguearse”

>hamachi

version : 2.0.1.15

pid : 6027

status : offline

client id : 091-804-850

address : 5.120.212.178

nickname : adastra-VPCEB3C5E

lmi account:

>hamachi login

Logging in ………. ok

>hamachi

version : 2.0.1.15

pid : 6027

status : logged in

client id : 091-804-850

address : 5.120.212.178

nickname : adastra-VPCEB3C5E

lmi account: –

Ahora el estado de la máquina es “logged in” lo que indica que es posible comenzar a utilizar Hamachi, para este fin se pueden establecer algunas características como por ejemplo el “nickname” y una cuenta de “LogMe In” (si no se dispone de una, no importa, se trata solamente de algo opcional)

Si ha terminado la interacción con Hamachi, para desconectarse:

>hamachi logout

Logging out .. ok

Ahora bien, para que todo esto tenga un sentido es necesario “unirse” a una red Hamachi y/o crear una, en Internet existen una gran cantidad de redes Hamachi creadas por probablemente millones de usuarios alrededor del mundo, por esta razón, es posible que cuando se intente crear una red, esta no sea posible ser creada porque el nombre ya ha sido tomado por alguien, en cualquier caso, para crear una red Hamachi se utiliza la opción “create” con el nombre de la red a crear, posteriormente se debe crear una contraseña para esta red, de esta forma si un miembro quiere unirse, debe conocer esta clave, que como propietarios de la red recien creada, podemos distribuirla a aquellos miembros que pueden unirse.

>hamachi create adastra

Password:

Creating adastra .. failed, network name is already taken

>hamachi create jdaanial-adastra

Password:

Creating jdaanial-adastra .. ok

Por otro lado, el propietario de una red hamachi puede borrar también dicha red con la opción “delete” solamente el propietario puede hacer esto. Tambien es posible listar las redes con el comando “list”

>hamachi list

* [jdaanial-adastra]

Un miembro puede loguearse con la opción join

>hamachi join jdaanial-adastra

Password:

Joining jdaanial-adastra .. ok

Posteriormente, se pueden ver los miembros que se encuentran conectados a la VPN con la opción list

>hamachi list

* [jdaanial-adastra]

* 093-940-821 debian 5.153.108.85 direct UDP 192.168.1.34:41382

De esta forma aparecerán los miembros conectados a la red, (exceptuando el miembro que ha ejecutado el comando) en este caso, se puede ver el tipo de conexión, la dirección IP externa, es decir, con la que se puede realizar la conexión y la dirección interna de la red en la que se encuentra conectado.

Para ver los detalles de uno de los miembros

>hamachi peer 093-940-821

client id : 093-940-821

nickname : debian

connection : direct

authentication : completed

encryption : enabled

compression : disabled

VPN status : ok

VIP address : 5.153.108.85

via server ok TCP n/a

* direct ok UDP 192.168.1.34:41382

Para ver los detalles generales de la red

>hamachi network jdaanial-adastra

id : jdaanial-adastra

name : jdaanial-adastra

type : Mesh

owner : This computer

status : unlocked

approve : auto

Para cambiar los detalles de miembro, o cambiar la contraseña de la red

>hamachi set-nick jdaanial

Setting nickname .. ok

>hamachi set-pass jdaanial-adastra newpass

Setting password for jdaanial-adastra .. ok

Para administrar el acceso a la red Permitir/Denegar el acceso a usuarios remotos

>hamachi set-access jdaanial-adastra lock

Setting access for jdaanial-adastra .. ok

>hamachi set-access jdaanial-adastra unlock

Setting access for jdaanial-adastra .. ok

Posteriormente, es posible establecer el nivel de aceptación de nuevas conexiones, por defecto es automática, es decir, no se solicita confirmación por parte del propietario de la red, por otra parte si se establece manual, el propietario de la red debe confirmar la conexión, esto aunque las credenciales ingresadas por el cliente sean correctas.

>hamachi set-access jdaanial-adastra manual

Setting access for jdaanial-adastra .. ok

Posteriormente, para que un cliente pueda conectarse, debe utilizar la opción “do-join” dado que la opción “join” por si sola fallará, de esta forma se enviará la petición para que el propietario de red la acepte (si quiere)

>hamachi do-join jdaanial-adastra

Password:

Joining jdaanial-adastra .. ok, request sent, waiting for approval

Desde la perspectiva del propietario de la red, puede optar por rechazar la petición o aceptarla

>hamachi list

* [jdaanial-adastra]

? 093-940-821

La marca “?” indica que el cliente esta esperando por una respuesta por parte del propietario de la red, para rechazar dicha conexión, utilizar la opción “reject” para aceptarla “approve”

>hamachi reject jdaanial-adastra 093-940-821

>hamachi list

* [jdaanial-adastra]

Reject jdaanial-adastra in 093-940-821 .. ok

—————Aquí vuelve nuevamente la petición, esta vez se acepta.

>hamachi list

* [jdaanial-adastra]

? 093-940-821

>hamachi approve jdaanial-adastra 093-940-821

Approve jdaanial-adastra in 093-940-821 .. ok

hamachi list

* [jdaanial-adastra]

* 093-940-821 debian 5.153.108.85 direct UDP 192.168.1.34:39151

También es posible eliminar determinados miembros de la red con la opción evict

>hamachi evict jdaanial-adastra 093-940-821

Evicting 093-940-821 from jdaanial-adastra .. ok

Ahora, es posible acceder a dicha máquina de forma remota, desde cualquier lugar, como si se tratase de una máquina mas en la red local, lo que desde luego es sumamente interesante.

Finalmente, sobre esta herramienta existen algunas “ventajas” y otras “desventajas” que a continuación se listarán:

Ventajas Desventajas
Facilidad de Instalación, Configuración, Uso Se encuentra en estado Beta para GNU/Linux
Opciones por linea de comandos robustas La aplicación GUI para Hamachi solamente se encuentra disponible para Windows y Mac, no para GNU/Linux
Privacidad y seguridad en la información compartida en las redes creadas en Hamachi No es Software Libre, se trata de Freeware, sin embargo no tiene ningún tipo de restricción para uso personal y educativo