Hamachi
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.
Contents
Initial Configuration
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 ... ... ...)
Download And Install Hamachi
Manual installation
Head to hamachi.cc and download their linux client.
Untar it
tar zxvf hamachi-x.x.x-x.tar.gz
Compile:
cd hamachi-x.x.x-x make install
And run tunecfg
cd tuncfg ./tuncfg
Run hamachi-init
$hamachi-init
And thats the installation.
Version 2 beta
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
Configuration is done 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 explanitory.
$hamachi set-nick bob $hamachi login $hamachi create my-net secretpassword $hamachi go-online my-net $hamachi list $hamachi go-offline my-net
To get a list of all the commands just run:
$hamachi ?
Note: Make sure you change the status of the channel(s) you are in to online if you want to perform any network actions on computers in there.
As a Daemon
You can run hamachi as a daemon this way:
Copy your configuration to /root directory:
cp -R ~/.hamachi /root/
Create a script in /etc/rc.d/ called hamachi using your preferred editor:
. /etc/rc.conf . /etc/rc.d/functions DAEMON=/usr/bin/hamachi NAME=hamachi DESC="Hamachi VPN client" PID_FILE=/var/run/daemons/hamachi case "$1" in start) #Check for running tuntap, start when not running ck_daemon tuntap && /etc/rc.d/tuntap start stat_busy "Starting $DESC" $DAEMON -c /root/.hamachi $1 > /dev/null if [ $? -gt 0 ]; then stat_fail else add_daemon $NAME stat_done fi ;; stop) stat_busy "Stopping $DESC" [ -f $PID_FILE ] && $DAEMON -c /root/.hamachi $1 > /dev/null if [ $? -gt 0 ]; then stat_fail else rm_daemon $NAME stat_done fi ;; restart) $0 stop $0 start ;; *) echo "usage: $0 {start|stop|restart}" ;; esac exit 0
Remeber 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 to 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
If 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 problem connecting to some hosts
Check if they are using Hamachi2, if that is the case then it is a known issue in Hamachi2 client connecting to the Hamachi linux client.
If /etc/init.d/logmein-hamachi is not found
Replace this with /etc/rc.d/logmein-hamachi.
Error when trying to run hamachi-init
If there is error while trying to load libstdc++.so.5 you want to install it can be found from extra repository so you can install it with Pacman -S libstdc++5
If you get error while trying to load libcrypto.so.0.9.7 temporarily solution is to create link from /usr/lib/libcrypto.so.0.9.7 to /usr/lib/libcrypto.so with ln -s /usr/lib/libcrypto.so /usr/lib/libcrypto.so.0.9.7