LogMeIn Hamachi on Raspberry Pi
When I was in college, a friend of mine set up a mesh VPN network for a group of us to share files over. We used the free tier of LogMeIn’s VPN service, Hamachi. At the time, I didn’t realize how useful VPN was. Fast forward to today, and I still use Hamachi to network a few machines at home, and one at work.
As part of my recent fascination with building a Raspberry Pi powered Smart Home, I wanted to be able to access the system securely, and without having to set up port forwarding and exposing the Pi to the internet at large. Hamachi provides a great solution to this, has desktop clients to connect Macs and PCs, and even has methods for generating VPN profiles for tablets and mobile phones. The following is how I set up Hamachi on my Raspberry Pi 3 (or 2) running Raspbian Jessie: First, create a free LogMeIn account, if you don’t already have one.
Update Raspbian with
sudo apt-get update, then
sudo-apt get upgrade.Next, install the Linux Standard Base and Core components by running
sudo apt-get install lsb lsb-core.
Once that is complete, navigate to the Hamachi for Linux page. Under the header “Hamachi for Linux on ARM” locate the most recent ARM HF Debian package. At the time of writing, the most recent available is “logmein-hamachi_126.96.36.199–1_armhf.deb.” Grab the package from the Hamachi site with:
sudo wget https://www.vpn.net/installers/logmein-hamachi_188.8.131.52–1_armhf.deb
Next install the package by running:
sudo dpkg -i logmein-hamachi_184.108.40.206–1_armhf.deb
Once everything is installed, log into Hamachi with:
sudo hamachi login
After getting the “ok” from the login process, tell Hamachi what to call the system by running the following command, putting your desired name inside the quotes:
sudo hamachi set-nick “YourNameHere”
Next, attach the system to your LogMeIn account by running the following, replacing the placeholder with your email address:
sudo hamachi attach email@example.com
After sending the attach request, sign into the LogMeIn site. Click on “My Networks” under the “Networks” header, and create a new network if you do not already have one set up. My personal favorite is a mesh network, as there is no master node that has to be online for the rest to connect to one another. At the top of the networks page, you should see a pending join request. Verify that it is from the device type and nickname that you set, and approve it. The Raspberry Pi can now be assigned to any of your networks.
Hamachi does not start automatically after restarting or powering on the Pi, but can be started manually by running the hamachi login command. Alternatively, Hamachi can be added as a service that runs at startup by running:
sudo update-rc.d logmein-hamachi defaults
Now, you have a secure, low power network node that you can access from anywhere. Some possible applications include a Smart Home controller (I am biased), or a media server.