You are on page 1of 3

Hamachi on linux


Hamachi is a zero-configuration virtual private networking tool.

Quick Start

Run 'make install' and then 'tuncfg' from under the root account

Run 'hamachi-init' to generate crypto identity (any account).

Run 'hamachi start' to launch Hamachi daemon.

Run 'hamachi login' to put the daemon online and to create an account.

Run 'hamachi join <network>' to join the network.

Run 'hamachi go-online <network>' to go online in the network.

Run 'hamachi list' to list network members and their status.

Requirements & Privileged Access

Hamachi requires TUN/TAP device driver to create and manage virtual

network interface. If you have /dev/net/tun file, you are all set.
Otherwise visit the following page for more information -

Unless you are planning to use Hamachi exclusively from under the
root account, you will need to run 'tuncfg' daemon. This daemon
encapsulates all root-level functionality required by Hamachi and
it must be running prior to launching Hamachi itself.

Tuncfg is distributed in a source code under the BSD license. You

can find the source code in ./tuncfg directory of this distribution.

Running 'make install' automatically builds tuncfg and installs it

in /sbin folder. If you would prefer to install it in altervative
directory, modify ./Makefile accordingly.


Hamachi Linux client comes as a single executable binary (hamachi)

compiled for the platform of your choice. This binary includes the
daemon, the control application and the setup utility.

To install hamachi in /usr/bin run the following command from under

the root account

make install

Once installed you must run 'tuncfg' daemon with root privileges -

sudo /sbin/tuncfg
or if you don't have sudo -

su - ; /sbin/tuncfg; exit

Hamachi requires one time initialization (per Linux user account).

This step generates cryptographic key pair and creates ~/.hamachi
directory where Hamachi stores the keys, the configuration and the
state. To perform this initialization run


Running Hamachi

Running Hamachi involves starting it as a background process and

then controlling this process from the command line. To launch
Hamachi daemon run -

./hamachi start

To stop the daemon run -

./hamachi stop

Running hamachi without an argument displays daemon's status -

version : hamachi-lnx-
pid : 956
status : logging in
nickname : buddy

When run for the first time the daemon stays offline. To bring
it online run -

./hamachi login

To bring it back offline use -

./hamachi logout

Note that the daemon remembers its state when it is shutdown with
'stop' command. So if its state was online, it will automatically
go online when started next time. If it was offline, it will stay

Network Operations

Once logged in, you can join the networks using 'hamachi join'
command. You will be prompted for the password if it is required.

You may also create your own networks using 'hamachi create'. You
will become an owner of any networks that you create and only you
will be able to destroy these networks with 'hamachi delete' command.

With 'hamachi evict' you can remove unwanted members from the networks
that you own.

Note that you will stay offline in the network after you create or
join it. To go online in the network use 'hamachi go-online' command.

Two other commands 'hamachi go-offline' and 'hamachi leave' reverse

the effect of the first two.

Note again that the daemon remembers your network state. If you
logout or shutdown the daemon while being online in a network, the
daemon will automatically put you back online in it on the next logon.

Listing Peers

To view the list of all networks and their members run -

./hamachi list

Network names are enclosed in square brakets. The asterisk (*) in

front of the network name means that you are online in this network.

* [homelan]
x ronny bubba
* zhopa

Underneath the network there is a peer list. Online peers will have
their IP address prefixed by an asterisk (*) or an (x).

(*) means that the tunnel to the peer is either being established or
ready. In latter case, peer's tunnel address will be shown on the
right side of the list.

(x) means that the peer in unreachable, ie the mediation server failed
to establish p2p tunnel between you and the peer.

If peer's nickname is known, it will be shown too. To retrieve peers'

nicks use 'hamachi get-nicks' command.


You can also change your own nick by using 'hamachi set-nick' command.
If you are online, the change will occur immediately. Otherwise new
nick will be remembered and the change will occur at the next login.