Revision as of 04:27, 28 January 2013

Hamachi is a proprietary (closed source) commercial VPN software. With Hamachi you can organize two or more computers with an Internet connection into their own virtual network for direct secure communication.

Installation

Version 2 of the Linux Hamachi client exists and is currently in beta. It is available from the labs page on the Hamachi website; however, the vendor's tarball requires LSB and will not install correctly. You should use the logmein-hamachiAUR package from the AUR instead.

Configuration

Set up tun

To run Hamachi you need /dev/net/tun.

This is created by the tun module. As root, run:

modprobe tun

Or you can manually create /dev/net/tun by running:

mkdir /dev/net
mknod /dev/net/tun c 10 200

Also, make sure to add the "tun" modules to rc.conf so that /dev/net/tun is created next time your computer turns on.

MODULES=(... ... ... ... ... tun ... ... ...)

Set Up Tun For Systemd

Being as section above can only be applied for init.scripts, in order to install the module, as root run:

modprobe tun

Then add tun to the list of modules by using your favorite text editor and running

# vi /etc/modules-load.d/tun.conf

Hamachi 2 (beta)

Hamachi 2 is configured in /var/lib/logmein-hamachi/h2-engine-override.cfg (create that file if it doesn't exist).
Unfortunately, it isn't easy to find a comprehensive list of possible configuration options, so here are a few that you can use.

Using the hamachi command line tool as a regular user

In order to use the hamachi command line tool as a regular user, add the following line to the configuration file:

Ipc.User YourUserNameHere

Automatically setting a custom nickname

Normally, Hamachi uses your system's hostname as the nickname that other Hamachi users will see. If you want to automatically set a custom nickname every time Hamachi starts, add the following line to the configuration file:

Setup.AutoNick YourNicknameHere

You can also manually set a nickname using the hamachi command line tool:

# hamachi set-nick YourNicknameHere

However, this needs to be done every time Hamachi is (re-)started, so if you always want to use the same nickname, setting it automatically (as explained above) is probably easier.

Running Hamachi

Start up the (matt) daemon

$hamachi start

Now you have a whole bunch of commands at your disposal. These are in no particular order and are fairly self explanatory.

Remember to add hamachi to your daemons array in /etc/rc.conf, it should be put after tuntap.

And do not forget to:

chmod +x /etc/rc.d/hamachi

GUI

Various GUI frontends for Hamachi are available in the AUR.

For Hamachi 1:

haguichi (Gtk2, mono)

ghamachi (Gtk2)

hamachi-gui (Gtk2)

For Hamachi 2 (beta):

quamachi (Qt4)

haguichi (Gtk2, mono)

Troubleshooting

Hamachi times out soon after launch

If hamachi stops working after a short period of time it can be that the client is timing out. Create ~/.hamachi/config and add the following to it:

KeepAlive 10

If you have problems connecting to some hosts

Check if they are using Hamachi 2. If that is the case, then it is a known issue with the Hamachi 2 client connecting to the Hamachi Linux client.

/etc/init.d/logmein-hamachi is not found

Replace that path with /etc/rc.d/logmein-hamachi.

Error when trying to run hamachi-init

If there is an error while trying to load libstdc++.so.5, you want to install it. This library can be found in the extra repository, so you can install it by running pacman -S libstdc++5.

If you get an error while trying to load libcrypto.so.0.9.7, a temporary solution is to create a link from /usr/lib/libcrypto.so.0.9.7 to /usr/lib/libcrypto.so by running ln -s /usr/lib/libcrypto.so /usr/lib/libcrypto.so.0.9.7.