Hamachi - zero-configuration virtual private networking
Tom Metro
blu at vl.com
Mon Dec 19 11:20:35 EST 2005
I heard about this on Steve Gibson's "Security Now!" podcast
(http://www.odeo.com/audio/523556/view):
http://hamachi.cc/
Hamachi is a zero-configuration virtual private networking
application with an open security architecture and NAT-to-NAT
traversal capabilities.
It's a VPN that takes about 5 minutes to set up. Perhaps a decent
alternative to OpenVPN.
The implementation combines aspects of peer-to-peer networks and remote
access services like GoToMyPC. Similar to the latter both the client and
the server make outbound connections to an intermediary server that
brokers the connection. This allows it to be a quick and simple
installation that requires no configuration, and doesn't need ports to
be opened on your firewall.
Unlike GoToMyPC it isn't a remote desktop tool, it's a full VPN.
Another important distinction is that instead of using TCP connections,
it tunnels the VPN through UDP packets, which they briefly talk about here:
http://hamachi.cc/howitworks
The big deal about this is that, once the connection has been brokered,
it allows them to setup direct peer-to-peer connections between the
two end-points, traversing NAT routers on both ends. Compare that to
GoToMyPC that uses TCP connections: GoToMyPC's servers not only broker
the connection, but remain in the middle, sort of like a proxy, which
uses up their bandwidth and is partly why their service carries a
monthly fee.
They don't explain it, but I believe the reason why this works has to do
with the firewalling rules typically used for UDP. Because UDP is a
connectionless protocol, when your computer sends a UDP packet to some
remote computer, your firewall opens up a window (period of time) in
which it will accept any UDP packet from that remote computer directed
at the originating port.
So what Hamachi probably does is have both ends connect to a brokering
server, have them learn of each other's public IP address and agree on a
set of ports, then they both start firing UDP packets at each other
directly, which causes each firewall to open up for packets from the
other party. (Theories or facts to the contrary are welcome. I'm
guessing there are other P-to-P tools that use this same technique.)
The software is available for both Windows 2000/XP (won't install on NT)
and Linux. I gave it a spin and it is a trivial install. The
installation process creates a new network interface, and the first time
you run the app. you get assigned a permanently static private IP
address. It comes with an interactive tutorial that walks you through
joining a test network.
You can then create your own virtual network by supplying a network name
and a password, and with those credentials any machine can be joined to
the network (no need for IP addresses or any other information). Each
machine can be joined to multiple virtual networks.
Hamachi is under a proprietary commercial license, is closed source, but
free. Their business model is to charge for premium services, such as a
version that runs as a Windows service (so the machine stays joined to
the network even when no one is logged in), or a service that provides
something similar to the GoToMyPC-style proxying for users with more
restrictive firewalls. They also plan to make the brokering server
software available - probably for a fee.
Steve Gibson gave their security architecture his approval, for whatever
that might be worth.
-Tom
--
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/
More information about the Discuss
mailing list