Difference between revisions of "Hamachi"

From ArchWiki
Jump to: navigation, search
(From the AUR)
(Systemd)
(35 intermediate revisions by 14 users not shown)
Line 1: Line 1:
[[Category:Networking (English)]]
+
[[it:Hamachi]]
  
=Introduction=
+
[[Category:Virtual Private Network]]
[[Wikipedia:Hamachi (software)|Hamachi]] is a proprietary (closed source) freeware VPN software. With Hamachi you can organize two or more computers with an Internet connection into their own virtual network for direct secure communication.
+
{{Poor writing|Needs to be updated for [[Help:Style]] compliance.}}
 +
[[Wikipedia:Hamachi (software)|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.
  
=External Links=
+
== Installation ==
 +
Version 2 of the Linux Hamachi client exists and is currently in beta.  It is available from [https://secure.logmein.com/US/labs/ the labs page on the Hamachi website]; however, the vendor's tarball requires LSB and will not install correctly. You should use the {{AUR|logmein-hamachi}} package from the [[AUR]] instead.
  
'''Hamachi public networks for popular Games : [http://www.hamachi.cz www.hamachi.cz]'''{{Linkrot|2011|09|04}}
+
==Configuration==
<br />
+
=== Set up tun ===
English translate : '''[http://www.eng.hamachi.cz www.eng.hamachi.cz]'''{{Linkrot|2011|09|04}}
+
<br />
+
Individual help : '''[http://www.forum.hamachi.cz www.Forum.hamachi.cz]'''{{Linkrot|2011|09|04}}
+
  
=Initial Configuration=
+
To run Hamachi you need /dev/net/tun.
  
To run Hamachi you need /dev/net/tun.
+
This is created by the tun module. As root, run:
 
+
{{bc|
This is created by the tun module. As root run,
+
<pre>
+
 
modprobe tun
 
modprobe tun
</pre>
+
}}
  
Or you can manually create /dev/net/tun by running...
+
Or you can manually create /dev/net/tun by running:
<pre>
+
{{bc|
 
mkdir /dev/net
 
mkdir /dev/net
 
mknod /dev/net/tun c 10 200
 
mknod /dev/net/tun c 10 200
</pre>
+
}}
  
 
Also, make sure to add the "tun" modules to rc.conf so that /dev/net/tun is created next time your computer turns on.
 
Also, make sure to add the "tun" modules to rc.conf so that /dev/net/tun is created next time your computer turns on.
  
<pre>
+
{{bc|1=
 
MODULES=(... ... ... ... ... tun ... ... ...)
 
MODULES=(... ... ... ... ... tun ... ... ...)
</pre>
+
}}
  
=Download And Install Hamachi=
 
==From the AUR==
 
Hamachi is available in the AUR, [http://aur.archlinux.org/packages.php?do_Details=1&ID=3709&O=0&L=0&C=0&K=hamachi&SB=&SO=&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd here]{{Linkrot|2011|09|04}}.
 
  
Download the package, untar it, and run...
+
=== Set Up Tun For Systemd ===
  
<pre>
+
Being as section above can only be applied for init.scripts, in order to install the module, as root run:
makepkg
+
</pre>
+
  
in the hamachi directory that is created.
+
{{bc|
 +
modprobe tun
 +
}}
  
 +
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.
 +
tun
 +
}}
  
Then add the package with...
+
=== Hamachi 2 (beta) ===
  
<pre>
+
Hamachi 2 is configured in {{ic|/var/lib/logmein-hamachi/h2-engine-override.cfg}} (create that file if it doesn't exist).
pacman -A hamachi-(package version)
+
Unfortunately, it isn't easy to find a comprehensive list of possible configuration options, so here are a few that you can use.
</pre>
+
  
 +
====Using the hamachi command line tool as a regular user====
 +
In order to use the {{ic|hamachi}} command line tool as a regular user, add the following line to the configuration file:
 +
{{bc|Ipc.User YourUserNameHere}}
  
Now as root run...
+
====Automatically setting a custom nickname====
<pre>
+
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:
tuncfg
+
{{bc|Setup.AutoNick YourNicknameHere}}
</pre>
+
  
 +
You can also manually set a nickname using the {{ic|hamachi}} command line tool:
 +
{{bc|# hamachi set-nick YourNicknameHere}}
  
Finally, run hamachi-init
+
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.
<pre>
+
hamachi-init
+
</pre>
+
  
==Manual installation==
+
==Running Hamachi==
Or you can get it manually.
+
  
Head to [http://files.hamachi.cc/linux/ hamachi.cc] and download their linux client.
 
 
Untar it
 
<pre>
 
tar zxvf hamachi-x.x.x-x.tar.gz
 
</pre>
 
 
Compile:
 
<pre>
 
cd hamachi-x.x.x-x
 
make install
 
</pre>
 
 
And run tunecfg
 
<pre>
 
cd tuncfg
 
./tuncfg
 
</pre>
 
 
Run hamachi-init
 
<pre>
 
$hamachi-init
 
</pre>
 
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 AUR under the name <pre>logmein-hamachi</pre> Or from [https://secure.logmein.com/US/labs/ the labs page on the hamachi website].
 
 
=Running Hamachi=
 
 
Start up the (matt) daemon
 
Start up the (matt) daemon
<pre>
+
{{bc|
 
$hamachi start
 
$hamachi start
</pre>
+
}}
Now you have a whole bunch of commands at your disposal. These are in no particular order, and are fairly self explanitory.  
+
Now you have a whole bunch of commands at your disposal. These are in no particular order and are fairly self explanatory.  
  
<pre>
+
{{bc|
 
$hamachi set-nick bob
 
$hamachi set-nick bob
 
$hamachi login
 
$hamachi login
Line 110: Line 78:
 
$hamachi list
 
$hamachi list
 
$hamachi go-offline my-net
 
$hamachi go-offline my-net
</pre>
+
}}
  
To get a list of all the commands just run:
+
To get a list of all the commands, run:
<pre>
+
{{bc|
 
$hamachi ?
 
$hamachi ?
</pre>
+
}}
  
'''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.
+
'''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==
+
===Systemd===
  
You can run hamachi as a daemon this way:
+
The {{AUR|logmein-hamachi}} 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:
 +
 
 +
{{Bc|
 +
systemctl enable logmein-hamachi
 +
}}
 +
 
 +
To start the Hamachi Daemon immediately, use this command:
 +
 
 +
{{Bc|
 +
systemctl start logmein-hamachi
 +
}}
 +
 
 +
{{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:
 
Copy your configuration to ''/root'' directory:
  
<pre>
+
{{bc|
 
cp -R ~/.hamachi /root/
 
cp -R ~/.hamachi /root/
</pre>
+
}}
  
 
Create a script in ''/etc/rc.d/'' called ''hamachi'' using your preferred editor:
 
Create a script in ''/etc/rc.d/'' called ''hamachi'' using your preferred editor:
  
<pre>
+
{{bc|<nowiki>
 
. /etc/rc.conf
 
. /etc/rc.conf
 
. /etc/rc.d/functions
 
. /etc/rc.d/functions
Line 172: Line 160:
 
esac
 
esac
 
exit 0
 
exit 0
</pre>
+
</nowiki>}}
  
Remeber to add ''hamachi'' to your ''daemons'' array in ''/etc/rc.conf'', it should be put after ''tuntap''.
+
Remember to add ''hamachi'' to your ''daemons'' array in ''/etc/rc.conf'', it should be put after ''tuntap''.
  
And don't forget to:  
+
And do not forget to:  
  
<pre>
+
{{bc|
 
chmod +x /etc/rc.d/hamachi
 
chmod +x /etc/rc.d/hamachi
</pre>
+
}}
  
=GUI=
+
==GUI==
Various GUI frontends to hamachi are available in the AUR.
+
Various GUI frontends for Hamachi are available in the AUR.
  
For hamachi 1:
+
For Hamachi 1:
  
 
*haguichi (Gtk2, mono)
 
*haguichi (Gtk2, mono)
Line 191: Line 179:
 
*hamachi-gui (Gtk2)
 
*hamachi-gui (Gtk2)
  
For hamachi 2 beta:
+
For Hamachi 2 (beta):
  
 
*quamachi (Qt4)
 
*quamachi (Qt4)
 +
*haguichi (Gtk2, mono)
  
=Troubleshooting=
+
==Troubleshooting==
==If Hamachi times out soon after launch==
+
===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:
 
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:
 
   
 
   
<pre>
+
{{bc|
 
KeepAlive 10
 
KeepAlive 10
</pre>
+
}}
 +
 
 +
===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 {{ic|pacman -S libstdc++5}}.
  
==If you have problem connecting to some hosts==
+
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 {{ic|ln -s /usr/lib/libcrypto.so /usr/lib/libcrypto.so.0.9.7}}.
Check if they are using Hamachi2, if that is the case then it's a known issue in Hamachi2 client connecting to the Hamachi linux client.
+
  
==If ''/etc/init.d/logmein-hamachi'' is not found==
+
==See also==
Replace this with ''/etc/rc.d/logmein-hamachi''.
+
* [https://secure.logmein.com/products/hamachi/ Project home page]

Revision as of 04:27, 28 January 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

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.

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

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:

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

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.

See also