Note, this tutorial is no longer valid, as the Hamachi version here has been end-of-lifed and the newest version of Hamachi will not run on MineOS CRUX
Hamachi is often used to circumvent various limitations in router configuration and other network restrictions, such as being behind an organization's firewall. Hamachi is not recommended over typical processes of using port-forwarding, but in some circumstances may be required.
Following is a reformatted guide based on the Google Groups thread on Is there any way to get hamachi working on MineOS CRUX with special thanks to Martin Ramshøj for kindly re-documenting his adventure in an easily re-formattable way.
Upgrade your kernel
As of this writing, the most recent stable kernel is 3.3.3, which you can get from kernel.org. While you may download more recent versions of the kernel, it is advised to only download a stable kernel--rather than the mainline kernel--to avoid complications.
You can follow more detailed instructions on this step on the wiki page Upgrading the Kernel.
The relevant part to add is listed under FireWire support:
CONFIG_TUN: Universal TUN/TAP device driver support # IEEE 1394 (FireWire) support # # CONFIG_TUN is not set
Download the Hamachi sources
Next, using the Ports system, download the Hamachi source code. This task must be done as root.
rsync -aqz code-monkey.de::lennarts-crux-ports/hamachi/ hamachi cd hamachipkgmk -d -i -if
Depending on the recentness of the port's maintenance, a build issue might arise reporting footprint mismatch.
=======> Build result: drwxr-xr-x 0 root root 0 Apr 21 14:41 usr/ drwxr-xr-x 0 root root 0 Apr 21 14:41 usr/bin/ drwxr-xr-x 0 root root 0 Apr 21 14:41 usr/sbin/ -rwxr-xr-x 0 root root 8060 Apr 21 14:41 usr/sbin/tuncfg -rwxr-xr-x 0 root root 331144 Apr 21 14:41 usr/bin/hamachi lrwxrwxrwx 0 root root 0 Apr 21 14:41 usr/bin/hamachi-init -> /usr/bin/hamachi =======> ERROR: Footprint mismatch found: MISSING drwxr-xr-x root/root sbin/ MISSING -rwxr-xr-x root/root sbin/tuncfg NEW drwxr-xr-x root/root usr/sbin/ NEW -rwxr-xr-x root/root usr/sbin/tuncfg =======> ERROR: Building '/usr/ports/lennart/hamachi/hamachi#0.9.9.9-20-lnx-2.pkg.tar.gz' failed. -- Packages where install failed hamachi
If this should occur, you can safely ignore this issue with the build argument pkgmk -d -i -if for ignore footprint. This should allow it to properly build and install.
Initializing Hamachi configuration (/root/.hamachi). Please wait .. generating 2048-bit RSA keypair .. ok making /root/.hamachi directory .. ok saving /root/.hamachi/client.pub .. ok saving /root/.hamachi/client.pri .. ok saving /root/.hamachi/state .. ok Authentication information has been created. Hamachi can now be started with 'hamachi start' command and then brought online with 'hamachi login'.
Starting Hamachi hamachi-lnx-0.9.9.9-20 .. ok
Connectivity and iptables
By default, Hamachi traffic is dropped by the firewall. Be sure to adjust iptables accordingly to permit Hamachi traffic!
Starting Hamachi as a service
Starting Hamachi as a service has the advantage of being auto-started and auto-shutdown in accordance with other system services, such as hiawatha webserver, dhcp client, etc. The following file is an example 'service' script which would be +x chmodded and saved as /etc/rc.d/hamachid. It can then be invoked with commands like /etc/rc.d/hamachid start and /etc/rc.d/hamachid stop. Even better, these commands can be executed for you by adding hamachid to your /etc/rc.conf file.
#!/bin/sh # # /etc/rc.d/hamachid: start/stop hamachi daemon # case $1 in start) /usr/sbin/tuncfg /usr/bin/hamachi start /usr/bin/hamachi login /usr/bin/hamachi go-online YourNetworkNameHere ;; stop) killall tuncfg killall hamachi ;; restart) $0 stop sleep 2 $0 start ;; *) echo "usage: $0 [start|stop|restart]" ;; esac # End of file