Hamachi:Install on FreeBSD

From LogMeInWiki

Jump to: navigation, search

Add to: del.icio.us | Digg | Slashdot


Quick Start

  1. Run 'cd /usr/ports/security/hamachi ; make install clean' from under the root account
  2. Run '/usr/local/etc/rc.d/hamachi forcestart' from under the root account
  3. Run 'hamachi-init' to generate crypto identity (any account).
  4. Run 'hamachi start' to launch Hamachi daemon.
  5. Run 'hamachi login' to put the daemon online and to create an account.
  6. Run 'hamachi join <network>' to join the network.
  7. Run 'hamachi go-online <network>' to go online in the network.
  8. Run 'hamachi list' to list network members and their status.

Requirements & Privileged Access

Hamachi requires a TAP device driver to create and manage virtual network interface. The necessary if_tap kernel module will be loaded automatically by the rc.d script.

Unless you are planning to use Hamachi exclusively from under the root account, you will need to run 'tuncfg' daemon (the easiest way to do it is to edit rc.conf appropriately). 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.


The FreeBSD port of Hamachi is based on the Hamachi Linux client executable (usable thanks to FreeBSD's Linux ABI emulation layer) and the Hamachi OSX client's tuncfg, modified to run on FreeBSD.

To install hamachi using the ports system run the following command from under the root account

cd /usr/ports/security/hamachi
make install clean
Once installed you can activate the 'tuncfg' by default editing
and adding the following line to the end of it:

You can then start/stop it using:

sudo /usr/local/etc/rc.d/hamachi start

or if you don't have sudo

su - ; /usr/local/etc/rc.d/hamachi start; exit

if you don't want to activate it by default but run it only some times, you can forcestart/forcestop, which ignores the setting in rc.conf.

Hamachi requires one time initialization (per 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-<br />
pid      : 956<br />
status   : logging in<br />
nickname : buddy<br />

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 offline.

Network Operations

Once logged in, you can join the networks using
hamachi join [netowork name] [password]

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 [network name]
To remove a network peer, use
hamachi evict [peer]

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 [network name]
To go offline in a network, use
hamachi go-offline [network name]

To leave a network use

hamachi leave [network name]

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, i.e. 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.

Personal tools