Netrinos for Linux

Intel/AMD x64

installer.deb

archive.tgz

Raspberry PI

All Version

WireGuard files

Wireguard

For Generic Linux

For the first releases, we will be supporting Linux in a more generic sense as Linux distros and window managers vary a fair bit. We will come back to provide more distro-specific packages at a later date.

At this time, the Netrinos Client software for Linux is available for:

The Linux client user interface currently supports:

There is both a daemon component as well as a user interface component.

Installing is pretty much a matter of copying a couple of binaries, installing the service, and logging in.

TL;DR

If you are on a Debian-derived distro like Ubuntu or Mint, you can just download the deb file and install it with your default desktop installer.

Otherwise, if you know what you are doing, you can use a variation on the following.

$ sudo true; wget -O- https://dist.netrinos.com/linux/netrinos-remote-deb-installer.sh | sudo bash -s

Or, for other distros.

$ sudo apt update -y; sudo apt upgrade -y
$ sudo apt install wireguard -y
$ sudo mkdir /usr/local/bin
$ wget -c https://dist.netrinos.com/linux/netrinos-client-linux_latest_amd64.tgz
$ sudo tar -xzvf netrinos-client-linux_latest_amd64.tgz -C /usr/local/bin/ $ netrinos install $ netrinos login $ netrinos help

Due to variations in the many desktops and window managers, the GUI front end is not working everywhere. However, the command line version is working for most.

Prerequisites

Just for fun, and perhaps to prove the system requirements are not much, the following instructions were composed using WiFi on a Raspberry Pi Zero 2 W with Raspberry Pi OS 32-bit. The procedure would be similar on Ubuntu or other Linux.

Feel free to take liberties with this installation technique. This is not necessarily the best way to install things. But it's easy to understand. No user-serviceable parts inside. Void where prohibited. Your mileage may vary.

Before installing anything on Linux, there are a few things you should configure to ensure the system is secure. e.g. Change default passwords, disable root login, install and configure a firewall, etc. Securing your host, we leave it up to you. But make sure you do it. There is nothing special to do there in terms of the Netrinos Client software. Vanilla is fine.

Before installing the Netrinos Client, you need to make sure you have a working installation of WireGuard*. WireGuard* is awesome and is the foundational technology that makes our software go. You can get detailed installation instructions for your distro from the WireGuard website.

You only need to worry about installing WireGuard on Linux. The installer does this automatically on other platforms.

Install WireGuard

Depending on your distro, WireGuard may already be installed. Take a quick look at the following commands. You do not need 'wg' (wi

$ lsmod | grep wireguard
wireguard    98765  0
$ which wg /usr/bin/wg

If you find something, you can skip this part. If not...

Make sure your system is up to date. Also, make note of which architecture you are on.

$ sudo apt update -y 
$ sudo apt upgrade -y
$ uname -m
armv7l

Next, install WireGuard with your package manager. Then check for WireGuard again.

$ sudo apt install wireguard -y
Reading ... done
$ lsmod | grep wireguard
wireguard    98765  0

If you see wireguard, you are good to move on.

Install the Netrinos Client Software

Download the Netrinos Client archive from https://dist.netrinos.com/linux. Then, unpack it. Make sure /usr/local/bin is in your path. It probably is.

$ wget netrinos-client-linux_latest_armhf.tgz
$ sudo tar -xvzf netrinos-client-linux_latest_armhf.tgz -C /usr/local/bin
$ which netrinos
/usr/local/bin/netrinos

Now, install the service with the following command.

$ netrinos install
[sudo] password for myusername:
Installing Netrinos Agent...
Netrinos daemon is Running
Installation complete.

You can check the status with...

$ netrinos
Netrinos Network Status v1.1.0                        Account: not authenticated

       Agent: Running          Tunnels: Stopped       A   Internet: Online       

*** No account information provided
    usage: netrinos login [username]

This computer                                                            offline 

You can see all the commands with "help".

$ netrinos help
Netrinos Network Status
usage: netrinos <commands> ... where <commands> are:
       status, about, version          Show status, about, version
       loop                            Show the status updating
       login [username], logout        Add credentials
       log [n]                         Show and follow the log file, last 'n' lines
  sudo install, uninstall              Install or uninstall the Netrinos service
  sudo agent [status|start|stop]       Start or stop the Agent service
       tunnel [status|start|stop]      Start or stop the WireGuard tunnel interface
       set autostart [yes|no]          Start the tunnel on boot
  sudo wg                              Show WireGuard tunnels with names etc
  sudo run                             Run in the foreground with logging to the console
       help                            This help

If you have not already signed up, you need to register for a free account. Go to netrinos.com and click Sign Up.

Once registered, you can add your credentials and check the status.

$ netrinos login 
Username: ________
Password: ********
myusername is authenticated

$ netrinos 
Netrinos Network Status v1.1.0                               Account: myaccount

     Agent: Running          Tunnels: Running       A   Internet: Online       

This computer                                 mypi.myaccount.2ho.ca    online
Netrinos Network                                            hub.2ho.ca   11s ago

You won't see much after installing only the first device. You need more than one computer running to make use of the software. You need to connect something to something else.

BTW... 2ho.ca is a domain we use for devices in your personal network to keep the URL names as short as possible.

Wait a couple of minutes (minutes, not seconds) and try again. It takes a couple of minutes for all of your devices to check in and sync information. Once they have, you will see a list of your devices and when they were last heard from.

$ netrinos
Netrinos Network Status v1.1.0                                Account: myaccount

       Agent: Running          Tunnels: Running       A   Internet: Online       

This computer                                    mypi.myaccount.2ho.ca    online
Netrinos Network                                            hub.2ho.ca   39s ago My notebook thinkpad.myaccount.2ho.ca L 3s ago My kids' computer  macbook.myaccount.2ho.ca 25s ago My accounting PC   office.myaccount.2ho.ca - My office server   server.myaccount.2ho.ca 47s ago

You can test your connections with a ping. Use ^C (control-C) to stop it.

$ ping macbook.myaccount.2ho.ca
PING macbook.myaccount.2ho.ca (1.2.3.4) 56(84) bytes of data.
64 bytes from 1.2.3.4 (1.2.3.4): icmp_seq=1 ttl=64 time=0.824 ms
64 bytes from 1.2.3.4 (1.2.3.4): icmp_seq=2 ttl=64 time=0.708 ms
64 bytes from 1.2.3.4 (1.2.3.4): icmp_seq=3 ttl=64 time=0.722 ms
^C
--- macbook.myaccount.2ho.ca ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 0.708/0.751/0.824/0.051 ms

If a connection is not reachable. It could be that it is turned off or is without an Internet connection (in the trunk of my car). As long as there is a connection, you should be able to reach it.

To connect to something on one of your devices, you simply use the friendly DNS name in the connection list. e.g. I could connect to a Windows file share with \\server.myaccount.2ho.ca\ShareName

The GUI Client app

The Client also includes a GUI app that presents itself as a systray icon. You can otherwise start it with netrinos-ui.

Due to the diversity of desktop environments, the app is not guaranteed to work in all environments. However, the functionality is no different from what you get with the netrinos command line tool. Please stay tuned as we add more support.