Netclient Installation

As of v0.18.0 Netclient is now in its own standalone repo separate from netmaker.

Netclient is a tool for managing WireGuard connections on client devices (nodes) within a network. It operates as a system daemon, facilitating secure tunneling and communication. This document details the installation, configuration, and uninstallation processes for various operating systems.

Prerequisites

Supported Operating Systems

  • Linux (most distributions)

  • Windows

  • macOS

  • FreeBSD

For unsupported devices, please use the Remote Access Client config. This is a standard WireGuard configuration file that can be easily added to any device that supports WireGuard.

Basic Requirements

  • Access Token: You'll need a token to join a network after installation.

  • System Permissions: Administrative or root access for installation commands and daemon management.

Software Dependencies (if applicable)

  • For Docker: Ensure Docker is installed on your machine if you plan to run Netclient in a Docker container.

Firewall Configuration

Ensure that, at minimum, outbound port 443 (UDP and TCP) is allowed. Inbound port 443 should be open as well if at all possible. Optionally, open 51821 UDP and TCP, which acts as a fallback port if 443 is unavailable.

Installation

Before adding the machine to a network, the netclient must be installed. A successful installation sets up the netclient executable on the machine and adds it as a system daemon. The daemon will listen for changes for any network it joins.

The client install does not add the client as a member of any network. Once the client is installed, you must run:

The following are install instructions for most operating systems.

Linux

Debian Distros (debian/ubuntu/mint/pop-os)

Red Hat Distros (fedora/redhat/centos/rocky)

Arch Distros (arch/manjaro/endeavouros)

OpenSUSE (tumbleweed/leap)

Windows

Bundled Installer

Download Link: https://fileserver.netmaker.org/releases/download/latest/netclientbundle.exe

To install via command line:

macOS

Brew Install

Installer

Download Link for Apple silicon: https://fileserver.netmaker.org/releases/download/latest/Netclient-M1.pkg

Download Link for Apple Intel: https://fileserver.netmaker.org/releases/download/latest/Netclient-Intel.pkg

Docker

You can run Netclient using Docker instead of installing it on your local machine.

Install Docker and docker-compose (example for Debian/Ubuntu):

To join a network using docker run (token available from the Netmaker UI access key view):

To have the container restart after reboots, include:

Example docker-compose (host networking):

If running multiple netclient containers on one host, do not use host networking and use separate volume paths and IFACE_NAME/HOST_NAME to avoid conflicts. Example:

Important: For docker netclient to function correctly as either remote access/egress gateway, run these commands on the host:

Note: If a bare-metal netclient is already installed on the host, running a containerized netclient with host networking can cause conflicts. Use separate volumes and disable host networking to run multiple netclients on the same host.

Managing Netclient

Joining a Network

The join command provides flags for various options.

With a token:

To use a desired port:

With username/password:

With SSO (oauth must be configured):

With docker:

If running a docker netclient alongside an existing bare-metal netclient, you may need to set HOST_NAME and IFACE_NAME and use separate volumes:

You can set verbosity level (0-4) when joining:

Connecting / Disconnecting from a network

From the CLI:

You can also disconnect/reconnect from the Netmaker UI by selecting the node, editing it, and toggling the Connected switch.

Leaving a network

From the CLI:

Or use the leave network button in the network details in the UI.

List Networks

Multi-Server

List servers the client is registered with:

Switch between servers (warning: switching disconnects netclient from all networks on the current server):

Leave a server completely (warning: removes the host from all networks on the server and deletes the host from the server; to reconnect you must join or register):

Use a different version

Choose a specific netclient version (available v0.18.0+):

Netclient also has an auto-update feature as of v0.18.0.

Uninstalling

Leave any networks:

Uninstall from CLI:

Uninstall using package manager (example):

macOS:

  • Delete the Netclient app from Applications, or if installed via Homebrew:

Windows:

  • Remove via “Add or remove programs” in system settings.

Last updated

Was this helpful?