Difference between revisions of "Hamachi"

From ArchWiki
Jump to: navigation, search
(Version 2 beta information)
(Systemd)
(45 intermediate revisions by 19 users not shown)
Line 1: Line 1:
[[Category:Networking (English)]]
+
[[it:Hamachi]]
[[Category:HOWTOs (English)]]
+
  
=Introduction=
+
[[Category:Virtual Private Network]]
 +
{{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.
  
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 [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 is fast, secure and simple. It is also free.
+
==Configuration==
 +
=== Set up tun ===
  
=External Links=
+
To run Hamachi you need /dev/net/tun.
  
'''Hamachi public networks for popular Games : [http://www.hamachi.cz www.hamachi.cz]'''
+
This is created by the tun module. As root, run:
<br />
+
{{bc|
English translate : '''[http://www.eng.hamachi.cz www.eng.hamachi.cz]'''
+
<br />
+
Individual help : '''[http://www.forum.hamachi.cz www.Forum.hamachi.cz]'''
+
 
+
=Initial Configuration=
+
 
+
To run Hamachi you need /dev/net/tun.
+
 
+
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].
 
  
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 the package with...
+
  
<pre>
+
Then add tun to the list of modules by using your favorite text editor and running
pacman -A hamachi-(package version)
+
{{bc|# vi /etc/modules-load.d/tun.conf |
</pre>
+
#Load tun module at boot.
 +
tun
 +
}}
  
 +
=== Hamachi 2 (beta) ===
  
Now as root run...
+
Hamachi 2 is configured in {{ic|/var/lib/logmein-hamachi/h2-engine-override.cfg}} (create that file if it doesn't exist).
<pre>
+
Unfortunately, it isn't easy to find a comprehensive list of possible configuration options, so here are a few that you can use.
tuncfg
+
</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}}
  
Finally, run hamachi-init
+
====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:
hamachi-init
+
{{bc|Setup.AutoNick YourNicknameHere}}
</pre>
+
  
==Manual installation==
+
You can also manually set a nickname using the {{ic|hamachi}} command line tool:
Or you can get it manually.
+
{{bc|# hamachi set-nick YourNicknameHere}}
  
Head to [http://files.hamachi.cc/linux/ hamachi.cc] and download their linux client.
+
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.
  
Untar it
+
==Running Hamachi==
<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 114: 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 176: 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==
I found this link on the forums at hamachii. Its a GTK2+ GUI frontend. Not bad if your into that sort of thing.  
+
Various GUI frontends for Hamachi are available in the AUR.
  
[http://purebasic.myftp.org/?filename=files/3/projects/hamachi/v.0.7.2/gHamachi_gtk2.tar.gz Hamachi GUI]
+
For Hamachi 1:
  
=Troubleshooting=
+
*haguichi (Gtk2, mono)
==If Hamachi times out soon after launch==
+
*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:
 
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 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}}.
  
==If you have problem connecting to some hosts==
+
==See also==
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.
+
* [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