How To Install Hamachi On Fedora 9

Want to support HowtoForge? Become a subscriber!
 
Submitted by webtechy (Contact Author) (Forums) on Thu, 2008-08-21 14:51. :: Fedora | Networking

How To Install Hamachi On Fedora 9

Version 1.0
Author: Andy Ru <webtechy [at] gmail [dot] com>
Last edited 08/17/2008

This tutorial explains how to install Hamachi on a Fedora 9 server. Hamachi is a VPN service that easily sets up in 10 minutes, and enables secure remote access to your business network, anywhere there's an Internet connection. It works with your existing firewall, and requires no additional configuration. Hamachi is the first networking application to deliver an unprecedented level of direct peer-to-peer connectivity. It is simple, secure, and cost-effective.

This howto is meant to document things specifically for Fedora 9 and can be used as a guide for other distributions but mainly describes steps which are needed in Fedora-based distributions.

This document comes without warranty of any kind! I want to say that this is not the only way of setting up this configuration. There are many ways to configure the setup below but I do not issue any guarantee that this will work for you!

 

1 Download Hamachi

Hamachi can be downloaded from the main website here:

https://secure.logmein.com/products/hamachi/download.asp

Download the 0.9.9.9-20 Linux version with the following filename:

hamachi-0.9.9.9-20-lnx.tar.gz

Or skip all that and do a wget on the file from the link here:

wget http://files.hamachi.cc/linux/hamachi-0.9.9.9-20-lnx.tar.gz

Ungzip and extract the tar file to a folder and then cd into the directory:

tar -xvf hamachi-0.9.9.9-20-lnx.tar.gz
cd hamachi-0.9.9.9-20-lnx

Make sure you are able to sudo or su to root for the next step.

 

2 Install and recompile tuncfg

In order to run hamachi you will need to fix the path for ifconfig in most Fedora-based distributions.

cd tuncfg

(I took this information from a post by feistyfeline on linuxquestions.org here is a link to the original post http://www.linuxquestions.org/questions/linux-software-2/cant-log-in-with-hamachi.-409344/)

Rename the original tuncfg file in that folder (only if you need to):

mv tuncfg tuncfg.backup

Use your choice of text editor to edit the tuncfg.c file. Search for the piece of code that has ifconfig. There is only one instance of that.

Change:

"ifconfig %s %u.%u.%u.%u ", ctx[i].dev,

To:

"/sbin/ifconfig %s %u.%u.%u.%u ", ctx[i].dev,

Then:

gcc tuncfg.c -o tuncfg

That recompiles tuncfg to incorporate the changes you made. Next, if you had already started tuncfg, kill all instances of tuncfg with:

killall tuncfg

Next, run the following as root to install the new tuncfg:

make install
/sbin/tuncfg

[aru@boxee hamachi-0.9.9.9-20-lnx]$ sudo make install

Copying hamachi into /usr/bin ..
Creating hamachi-init symlink ..
Compiling tuncfg ..
Copying tuncfg into /sbin ..

Hamachi is installed. See README for what to do next.
 

Finally, run "hamachi start" as a regular user and you may proceed as indicated in the README file.

 

 

3 Install & start Hamachi

Per the README file, install hamachi as a regular user by running hamachi-init:

hamachi-init

Initializing Hamachi configuration (/home/aru/.hamachi). Please wait ..

generating 2048-bit RSA keypair .. ok
making /home/aru/.hamachi directory .. ok
saving /home/aru/.hamachi/client.pub .. ok

hamachi start

Starting Hamachi hamachi-lnx-0.9.9.9-20 .. ok

 

4 Configure Hamachi

Once you are able to start Hamachi, you can then proceed to login and configure it to join a network:

hamachi login

hamachi join "networkname"

If To see other clients on your hamachi network type:

hamachi list

If no command is specified, hamachi displays its status including version, pid, online status and the nickname. Or you can get a list of commands by typing:

hamachi help

Once you've created or joined a network you can set up hamachi to start on boot by editing the rc.local file:

sudo vi /etc/rc.local

  /sbin/tuncfg
su - user -c "hamachi start"

Or you can set up Hamachi as a service by using a init.d script like the one described in the blog here by cannin: http://idahospuds.blogspot.com/2006/03/scitech-hamachi-as-service-in-fedora.html

#!/bin/bash
#
# hamachi         This shell script takes care of starting and stopping
#                 hamachi.
#
# chkconfig: 345 99 9
# description: hamachi is a zero-configuration VPN
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 0
[ -f /etc/hamachi/client.pri ]  exit 0
[ -f /etc/hamachi/client.pub ]  exit 0
[ -f /usr/bin/hamachi ]  exit 0
# See how we were called.
case "$1" in
start)
 echo "Starting hamachi..."
 /sbin/tuncfg
 /usr/bin/hamachi -c /etc/hamachi start
 ;;
stop)
 echo "Stopping hamachi..."
 killall tuncfg
 /usr/bin/hamachi -c /etc/hamachi stop
 ;;
restart)
 stop
 sleep 1
 start
 ;;
  *)
 echo "Usage: hamachi {startstoprestart}\n"
 exit 1
esac
exit 0

(I actually just went with the rc.local commands as I found that as long as I leave my server running most of the time my need for a service isn't all that great. I just needed it to startup when there is a power outage.)

Make sure to verify that both tuncfg and hamachi are running afterwards by doing a ps:

ps -ef | grep tuncfg
ps -ef | grep hamachi

Now you can access your server from anywhere you are able to install a hamachi client from. If you want a GUI interface, you can also look into installing one from the links below.

 

5 Links


Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.
Submitted by Anonymous (not registered) on Sun, 2010-06-20 22:41.

I also use this hamachi keep-alive script http://computarz.blogspot.com/2010/06/updated-hamachi-keep-alive-script.html and ever since I started using it I had no lost connection problems.

 

Submitted by Anonymous (not registered) on Fri, 2009-12-18 13:37.
You could skip the tuncfg recompile by adding /sbin to your root path or creating a symlink to /sbin/tuncfg somewhere in your existing path.
Submitted by raz (not registered) on Thu, 2009-06-04 12:25.

I think that in step 2:

make install
/sbin/tuncfg

Should probably be:

make install

You then get output:

install -s -m 700 tuncfg /sbin

Then go back up a dir:

cd ..

Then continue setting up as a non root user i.e.

sudo make install

That's how it happened when I did it.