Stasera “girovagavo” per IRC e mi sono imbattuto in una interessante discussione nella quale si parlava della possibilità di comunicare da remoto con un pc connesso alla rete fastweb (con ip condiviso) e, per la prima volta nella mia vita, ho sentito parlare di Hamachi. Incuriosito, ho cercato su Google maggiori informazioni, anche perchè, mi sembrava inverosimile che questo programma fosse davvero in grado di aggirare il NAT di FastWeb così facilmente. E devo dire che mi sono dovuto ricredere!
Vediamo in dettaglio come funziona: con Hamachi è possibile connettere due o più computer, sfruttando una connessione Internet in una VPN (virtual private networking system basato sul protocollo UDP) per una comunicazione diretta e protetta. I suoi nodi utilizzano l’aiuto portato da un terzo nodo chiamato mediation server per localizzare ogni altro nodo e per inizializzare la connessione tra essi. La connessione stessa è diretta e, una volta stabilita, nessun traffico passa attraverso i server Hamachi. Esso è in grado di mediare con successo le connessioni p2p approssimativamente il 97% dei casi: questo include nodi che stanno dietro firewall o a broadband-router (aka NAT device).
Hamachi, inoltre, è sicuro: tuttte le comunicazioni di Hamachi sono criptografate e autenticate tramite gli algoritmi e i protocolli standard utilizzati dal mercato. Nessuno sarà in grado di vedere cosa due nodi Hamachi si stanno dicendo o scambiando; inoltre l’architettura di sicurezza è completamente open, ovvero che esiste la documentazione dettagliata ed è dispobile a chiunque sia interessato a consultarla.
Hamachi è disponibile per Microsoft Windows (con una comoda e intuitiva interfaccia grafica) e per Linux (da linea di comando), ma è in preparazione una versione anche per Mac OS X.
Vediamo ora come usare Hamachi su Linux (visto che su Windows, come detto, c’è l’interfaccia grafica che rende molto più facili ed intuitive le operazioni) per creare un connessione:
anzitutto decomprimete il pacchetto con
$ tar xzvf hamachi-xx.tar.gz
ora installatelo in /usr/bin con il comando:
$ cd hamachi-xx.tar.gz
# make
# tuncfg
ora inizializzate Hamachi:
$ hamachi-init
avviatelo e settate il nick, poi fate il login:
$ hamachi start
$ hamachi set-nick
$ hamachi login
una volta loggati è possibile entrare in una rete esistente (uso client) o crearne una (uso server):
$ hamachi create nome_network eventuale_password
OPPURE
$ hamachi join nome_network eventuale_password
per visualizzare la lista degli ip delle perso ne connessa basta un
$ hamachi list
Bene, ora la vostra connessione remota dovrebbe funzionare alla perfezione! Se il sistema remoto è un sistema Windows dovete abbinare a Hamashi VNC, nel caso sia un sistema *unix, potete utilizzare ssh.
Per ulteriori informazioni e per scaricare Hamachi vi rimando al sito ufficiale.
UPDATE del 06/09/2006
Purtroppo FreeBSD non è ufficialmente supportato, ma con qualche peripezia è possibile far funzionare Hamachi:
anzitutto caricate il modulo if_tap del kernel con:
# kldload if_tap
poi scaricate sia la versione per Linux che quella (ancora in testing) di Mac OS X:
$ fetch http://files.hamachi.cc/linux/hamachi-0.9.9.9-20-lnx.tar.gz
$ fetch http://files.hamachi.cc/osx/hamachi-0.9.9.9-15-osx.tar.gz
decomprimete il tutto:
$ tar xzvf hamachi-0.9.9.9-20-lnx.tar.gz
$ tar xzvf hamachi-0.9.9.9-15-osx.tar.gz
ed entrate nella directory di tuncfg della versione per Mac OS X:
$ cd hamachi-0.9.9.9-15-osx/tuncfg
cancellate il vecchio tuncfg e ricompiliatelo:
$rm tuncfg
$ make
spostate il binario in /usr/bin e eseguitelo:
# mv tuncfg /usr/bin/
# tuncfg
ora potete continuare seguendo la procedura indicata per Linux da..:
$ cd hamachi-xx.tar.gz
# make
…in poi. Et voilà : Hamachi perfettamente funzionante su FreeBSD!