Hamachi:Install on FreeBSD
From LogMeInWiki
Add to: |
|
Contents |
Quick Start
- Run 'cd /usr/ports/security/hamachi ; make install clean' from under the root account
- Run '/usr/local/etc/rc.d/hamachi forcestart' 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 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.
Installation
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 cleanOnce installed you can activate the 'tuncfg' by default editing
/etc/rc.confand adding the following line to the end of it:
hamachi_enable="YES"
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
hamachi-init
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-0.9.9.9<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 usinghamachi join [netowork name] [password]
You will be prompted for the password if it is required.
You may also create your own networks usinghamachi create
You will become an owner of any networks that you create and only you
will be able to destroy these networks withhamachi 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 usehamachi 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] * 5.0.0.15 x 5.0.0.16 ronny 5.0.0.17 bubba * 5.0.0.18 zhopa 10.0.0.100:45634
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.