Difference between revisions of "Hamachi"

From ArchWiki
Jump to: navigation, search
m (Running Hamachi)
(init.scripts (depreciated): Remove old rc.d method.)
(One intermediate revision by the same user not shown)
Line 9: Line 9:
  
 
==Configuration==
 
==Configuration==
=== Set up tun ===
 
  
To run Hamachi you need /dev/net/tun.
+
=== Set Up Tun ===
 
+
This is created by the tun module. As root, run:
+
{{bc|
+
modprobe tun
+
}}
+
 
+
Or you can manually create /dev/net/tun by running:
+
{{bc|
+
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.
+
 
+
{{bc|1=
+
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:
 
Being as section above can only be applied for init.scripts, in order to install the module, as root run:
 +
# modprobe tun
  
{{bc|
+
Then add tun to the list of modules by using your favorite text editor and Create
modprobe tun
+
{{hc|/etc/modules-load.d/tun.conf |
}}
+
 
+
Then add tun to the list of modules by using your favorite text editor and running
+
{{bc|# vi /etc/modules-load.d/tun.conf |
+
 
#Load tun module at boot.
 
#Load tun module at boot.
 
tun
 
tun
Line 110: Line 86:
  
 
{{Note|If for some reason, hamachi doesn't have a Systemd daemon, you can use [[Services#Logmein_Hamachi|one from here]].}}
 
{{Note|If for some reason, hamachi doesn't have a Systemd daemon, you can use [[Services#Logmein_Hamachi|one from here]].}}
 
===init.scripts (depreciated)===
 
 
{{Note|If you run a newer Arch system, use the Systemd method above. This section below can only be applied for init.scripts.}}
 
 
You can run Hamachi as a daemon this way:
 
 
Copy your configuration to ''/root'' directory:
 
 
{{bc|
 
cp -R ~/.hamachi /root/
 
}}
 
 
Create a script in ''/etc/rc.d/'' called ''hamachi'' using your preferred editor:
 
 
{{bc|<nowiki>
 
. /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
 
</nowiki>}}
 
 
Remember to add ''hamachi'' to your ''daemons'' array in ''/etc/rc.conf'', it should be put after ''tuntap''.
 
 
And do not forget to:
 
 
{{bc|
 
chmod +x /etc/rc.d/hamachi
 
}}
 
  
 
==GUI==
 
==GUI==

Revision as of 06:03, 12 April 2013

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements.Tango-edit-clear.png

Reason: Needs to be updated for Help:Style compliance. (Discuss in Talk: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.

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

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 Create

/etc/modules-load.d/tun.conf 
#Load tun module at boot.
tun

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

or, if you use systemd

#systemctl start logmein-hamachi

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

$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, 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.

Systemd

The logmein-hamachiAUR AUR package also includes a nice little Systemd daemon.

If you feel like it, you can set Hamachi to start at every boot with Systemd:

systemctl enable logmein-hamachi

To start the Hamachi Daemon immediately, use this command:

systemctl start logmein-hamachi
Note: If for some reason, hamachi doesn't have a Systemd daemon, you can use one from here.

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.

See also