# How to Add Devices

{% embed url="<https://youtu.be/kaLYZAK0ddg>" %}

### Purpose

Three Methods to Add Devices to a Netmaker Network

### Introduction to the Netmaker Dashboard

The Netmaker dashboard serves as the central command center for managing your virtual software-defined networks. Upon logging in, you can view all existing networks under the **Networks** tab. This interface allows you to monitor connectivity and initiate the process of expanding your infrastructure.

<figure><img src="https://limesync-general-production.000da24485a2eb1df827157d23f74fdc.r2.cloudflarestorage.com/c0d109fb-1725-4769-a8ed-443da5e18a40/6681c732-5ec0-44f2-a03e-ba3f00c20d36/eb0b9d86-592a-4cea-b01d-4b4a308b6ce3/3e1e54c4-fc62-4e2a-934f-2e786412e8f2-screenshot_0_0.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&#x26;X-Amz-Credential=934e8b232ee153ba21e195ef724a2066%2F20260121%2Fauto%2Fs3%2Faws4_request&#x26;X-Amz-Date=20260121T182933Z&#x26;X-Amz-Expires=3600&#x26;X-Amz-SignedHeaders=host&#x26;X-Amz-Signature=52097746fbdee60569415b91949a0e4121ee3dc0447620f43d1cef62b0006286" alt=""><figcaption></figcaption></figure>

#### Understanding the Default Network Structure

When managing a specific network, such as the **Cloud Overlay**, you will notice that at least one device is usually already present. This is the server running the Netmaker instance itself (e.g., "demo-server").

<figure><img src="https://limesync-general-production.000da24485a2eb1df827157d23f74fdc.r2.cloudflarestorage.com/c0d109fb-1725-4769-a8ed-443da5e18a40/6681c732-5ec0-44f2-a03e-ba3f00c20d36/eb0b9d86-592a-4cea-b01d-4b4a308b6ce3/5bf60a52-f1f4-4d05-81be-18e135806c39-screenshot_1_18.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&#x26;X-Amz-Credential=934e8b232ee153ba21e195ef724a2066%2F20260121%2Fauto%2Fs3%2Faws4_request&#x26;X-Amz-Date=20260121T182933Z&#x26;X-Amz-Expires=3600&#x26;X-Amz-SignedHeaders=host&#x26;X-Amz-Signature=03fa3ccff4b3f0157e3f7645d36ffcff676ea1fc62e5effca85768d77559660e" alt=""><figcaption></figcaption></figure>

It is highly recommended to keep the default server node within the network. This node handles core networking functions, acting as the default GATEWAY, which facilitates traffic flow between network segments and acts as a backup to ensure continuous connectivity if other paths fail.

<figure><img src="https://limesync-general-production.000da24485a2eb1df827157d23f74fdc.r2.cloudflarestorage.com/c0d109fb-1725-4769-a8ed-443da5e18a40/6681c732-5ec0-44f2-a03e-ba3f00c20d36/eb0b9d86-592a-4cea-b01d-4b4a308b6ce3/ee1b60ff-1bae-4567-ac89-7a674a240316-screenshot_2_36.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&#x26;X-Amz-Credential=934e8b232ee153ba21e195ef724a2066%2F20260121%2Fauto%2Fs3%2Faws4_request&#x26;X-Amz-Date=20260121T182934Z&#x26;X-Amz-Expires=3600&#x26;X-Amz-SignedHeaders=host&#x26;X-Amz-Signature=1ee61d37338c60047af2f4a3baf1db7d88b0b89c9ebb1b30aad72c64c48e1f31" alt=""><figcaption></figcaption></figure>

#### Endpoint Management Tabs

The dashboard organizes network endpoints into three distinct categories, accessible via tabs at the top of the node list:

* **Devices:** Displays nodes running the Netclient agent.
* **Config files:** Shows devices connected via standard WireGuard configuration files.
* **Active Users:** Lists users connected through desktop or mobile applications using managed access.

To scale your network, click the blue **+ Add device** button in the top-right corner. This opens the **Add new node** modal, which presents the three primary methods for integration: the Netclient agent, manual Config files, or User Access based on identity providers.

<figure><img src="https://limesync-general-production.000da24485a2eb1df827157d23f74fdc.r2.cloudflarestorage.com/c0d109fb-1725-4769-a8ed-443da5e18a40/6681c732-5ec0-44f2-a03e-ba3f00c20d36/eb0b9d86-592a-4cea-b01d-4b4a308b6ce3/21e4ae74-d2b3-4cfe-aeb5-e078774fb131-screenshot_3_54.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&#x26;X-Amz-Credential=934e8b232ee153ba21e195ef724a2066%2F20260121%2Fauto%2Fs3%2Faws4_request&#x26;X-Amz-Date=20260121T182934Z&#x26;X-Amz-Expires=3600&#x26;X-Amz-SignedHeaders=host&#x26;X-Amz-Signature=f483f8fd8322e7adfbb2a2e87482e03bd0c8c09ef2034444c343696c80feed15" alt=""><figcaption></figcaption></figure>

### Method 1: Using the Netclient Agent

The Netclient agent is Netmaker's native binary designed for automated network management on servers and persistent nodes. It is compatible with Windows, Mac, Linux, and Docker environments, providing a seamless way to maintain encrypted connections between devices.

#### Accessing the Installation Commands

To begin adding a device via the Netclient, navigate to the **Add device** modal in the Netmaker dashboard. By default, the **Netclient** method is selected, which displays the firewall requirements and connection options.

<figure><img src="https://limesync-general-production.000da24485a2eb1df827157d23f74fdc.r2.cloudflarestorage.com/c0d109fb-1725-4769-a8ed-443da5e18a40/6681c732-5ec0-44f2-a03e-ba3f00c20d36/eb0b9d86-592a-4cea-b01d-4b4a308b6ce3/c11ae46a-15e4-4a47-a4f9-17216c492099-screenshot_4_60.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&#x26;X-Amz-Credential=934e8b232ee153ba21e195ef724a2066%2F20260121%2Fauto%2Fs3%2Faws4_request&#x26;X-Amz-Date=20260121T182933Z&#x26;X-Amz-Expires=3600&#x26;X-Amz-SignedHeaders=host&#x26;X-Amz-Signature=7d9ff56f096e490b713b9ccce0ab972ab9df1b7cd62907f886479aa70a7e3937" alt=""><figcaption></figcaption></figure>

* Select the **Linux** tab to retrieve the specific commands for Linux systems.
* The dashboard provides two critical code blocks: the installation script (utilizing `wget`) and the join command (containing the unique network token).

<figure><img src="https://limesync-general-production.000da24485a2eb1df827157d23f74fdc.r2.cloudflarestorage.com/c0d109fb-1725-4769-a8ed-443da5e18a40/6681c732-5ec0-44f2-a03e-ba3f00c20d36/eb0b9d86-592a-4cea-b01d-4b4a308b6ce3/f8dc5bcc-c8f1-4b87-b947-f163c21feeaa-screenshot_5_74.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&#x26;X-Amz-Credential=934e8b232ee153ba21e195ef724a2066%2F20260121%2Fauto%2Fs3%2Faws4_request&#x26;X-Amz-Date=20260121T182934Z&#x26;X-Amz-Expires=3600&#x26;X-Amz-SignedHeaders=host&#x26;X-Amz-Signature=6b8a8a54f3f56a1360d6e56c274100bc18540f3499cd1ca542209638644ea2ce" alt=""><figcaption></figcaption></figure>

#### Installing and Joining the Network

Once you have access to the target Linux cloud VM's terminal or command-line interface, follow these steps to deploy the agent:

1. **Install the Netclient:** Copy and paste the installation command from the dashboard. This multi-part command downloads the Netclient binary, updates file permissions, and installs the service on your system.

<figure><img src="https://limesync-general-production.000da24485a2eb1df827157d23f74fdc.r2.cloudflarestorage.com/c0d109fb-1725-4769-a8ed-443da5e18a40/6681c732-5ec0-44f2-a03e-ba3f00c20d36/eb0b9d86-592a-4cea-b01d-4b4a308b6ce3/77ef0feb-e0b9-4a76-aad7-b715685e2e94-screenshot_6_102.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&#x26;X-Amz-Credential=934e8b232ee153ba21e195ef724a2066%2F20260121%2Fauto%2Fs3%2Faws4_request&#x26;X-Amz-Date=20260121T182933Z&#x26;X-Amz-Expires=3600&#x26;X-Amz-SignedHeaders=host&#x26;X-Amz-Signature=1ffdf56479a9d6bf78351523293076485e13020d9cae44864d581f1871a41308" alt=""><figcaption></figcaption></figure>

2. **Register the Node:** Execute the join command provided in the dashboard (for example, `sudo netclient join -t <token>`). This command registers the device with the Netmaker server and configures the encrypted WireGuard interface.

After execution, the terminal will confirm the device has successfully joined. You can verify the connection by checking the **Devices** list in the Netmaker dashboard, where the new node will appear with its assigned private network address.

### Method 2: WireGuard Config Files

For devices that do not support the Netmaker agent (Netclient) or the specialized desktop and mobile applications, Netmaker provides a manual integration method using standard WireGuard configuration files. This approach is ideal for legacy systems, IoT devices, or specific edge hardware where installing third-party binaries is not feasible.

#### Generating the Node Configuration

To initiate a manual connection, navigate to the **Add new node** modal within the Netmaker dashboard and select the **Config files** tab. This method creates a static configuration that relies on an existing network node to act as its entry point.

<figure><img src="https://limesync-general-production.000da24485a2eb1df827157d23f74fdc.r2.cloudflarestorage.com/c0d109fb-1725-4769-a8ed-443da5e18a40/6681c732-5ec0-44f2-a03e-ba3f00c20d36/eb0b9d86-592a-4cea-b01d-4b4a308b6ce3/caa0018e-e403-42a7-ba53-8cab48e43d30-screenshot_8_120.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&#x26;X-Amz-Credential=934e8b232ee153ba21e195ef724a2066%2F20260121%2Fauto%2Fs3%2Faws4_request&#x26;X-Amz-Date=20260121T182934Z&#x26;X-Amz-Expires=3600&#x26;X-Amz-SignedHeaders=host&#x26;X-Amz-Signature=ac3c21afbfe57c558b4d342a12b3e0028d273feced21187c112cf9fb6a89df74" alt=""><figcaption></figcaption></figure>

Follow these steps to generate the configuration:

* **Node Name:** Enter a descriptive identifier for the device, such as "edge-server".
* **Gateway Selection:** Select an existing node from the **Select node as gateway** dropdown (e.g., "demo-server") to handle the routing for this manual connection.
* **Create Config:** Click the **Create Config** button to finalize the settings.

<figure><img src="https://limesync-general-production.000da24485a2eb1df827157d23f74fdc.r2.cloudflarestorage.com/c0d109fb-1725-4769-a8ed-443da5e18a40/6681c732-5ec0-44f2-a03e-ba3f00c20d36/eb0b9d86-592a-4cea-b01d-4b4a308b6ce3/2c8affcc-1deb-41c6-bdf7-dd439e44c9dd-screenshot_9_138.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&#x26;X-Amz-Credential=934e8b232ee153ba21e195ef724a2066%2F20260121%2Fauto%2Fs3%2Faws4_request&#x26;X-Amz-Date=20260121T182933Z&#x26;X-Amz-Expires=3600&#x26;X-Amz-SignedHeaders=host&#x26;X-Amz-Signature=b632a0c4b47845f525f9d457454775d41569a35cb74fa280c8685eb9c948067c" alt=""><figcaption></figcaption></figure>

#### Applying the Configuration Manually

Once the configuration is generated, you must manually apply it to the target device. Locate the newly created node in the **Config files** list, select it, and click **View/Download config**. Copy the provided WireGuard configuration text to your clipboard.

<figure><img src="https://limesync-general-production.000da24485a2eb1df827157d23f74fdc.r2.cloudflarestorage.com/c0d109fb-1725-4769-a8ed-443da5e18a40/6681c732-5ec0-44f2-a03e-ba3f00c20d36/eb0b9d86-592a-4cea-b01d-4b4a308b6ce3/da2bfc50-e1a8-46e9-b912-638b78bbb6a2-screenshot_10_164.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&#x26;X-Amz-Credential=934e8b232ee153ba21e195ef724a2066%2F20260121%2Fauto%2Fs3%2Faws4_request&#x26;X-Amz-Date=20260121T182934Z&#x26;X-Amz-Expires=3600&#x26;X-Amz-SignedHeaders=host&#x26;X-Amz-Signature=af2153a3c5924adbbfdd393ae30202654cc16496e06a7dcc5219eb3085e76329" alt=""><figcaption></figcaption></figure>

On the target remote device, perform the following steps via the terminal to establish the link:

1. **Create the File:** Use a command like `touch wg-config.conf` to create a new configuration file on the local filesystem.
2. **Edit and Paste:** Open the file using a text editor (e.g., `vim wg-config.conf`) and paste the configuration text copied from the dashboard.
3. **Deploy to System Directory:** Move the file to the standard WireGuard directory using `mv wg-config.conf /etc/wireguard`.
4. **Activate Interface:** Bring the connection online by executing `wg-quick up wg-config`.

<figure><img src="https://limesync-general-production.000da24485a2eb1df827157d23f74fdc.r2.cloudflarestorage.com/c0d109fb-1725-4769-a8ed-443da5e18a40/6681c732-5ec0-44f2-a03e-ba3f00c20d36/eb0b9d86-592a-4cea-b01d-4b4a308b6ce3/efd986c6-0e24-4665-aca2-a475786fd891-screenshot_11_182.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&#x26;X-Amz-Credential=934e8b232ee153ba21e195ef724a2066%2F20260121%2Fauto%2Fs3%2Faws4_request&#x26;X-Amz-Date=20260121T182934Z&#x26;X-Amz-Expires=3600&#x26;X-Amz-SignedHeaders=host&#x26;X-Amz-Signature=112bd05f43d76bafae30c91e918bf0fd4c271c2556c6b014bb4056a8b6c9f333" alt=""><figcaption></figcaption></figure>

Once the interface is active, the Netmaker dashboard will update the status of the "edge-server" to **Online**, indicating it is successfully routing traffic through the designated gateway.

### Method 3: Netmaker Desktop Application

The third method for adding devices to your network is designed specifically for end-users on workstations or mobile devices using the Netmaker Desktop application. This approach is ideal for managing active user access rather than persistent server nodes.

#### Accessing User Setup

To begin, navigate to the **Nodes** section of your network and click on the **Active Users** tab. This area allows you to manage connections for users authenticated via OAuth, invites, or IDP integration.

* Click the **+ Add device** button and select the **User Access** method.
* Select the appropriate operating system (Windows, Mac, Linux, or Mobile) to see the specific installation instructions for the Netmaker Desktop app.
* Take note of the **Server Domain** or **Tenant ID** (e.g., `api.demo.netmaker.io`) provided in the setup instructions, as this is required for the application configuration.

<figure><img src="https://limesync-general-production.000da24485a2eb1df827157d23f74fdc.r2.cloudflarestorage.com/c0d109fb-1725-4769-a8ed-443da5e18a40/6681c732-5ec0-44f2-a03e-ba3f00c20d36/eb0b9d86-592a-4cea-b01d-4b4a308b6ce3/eb893150-fb22-4ac7-967a-85a46eda101c-screenshot_12_222.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&#x26;X-Amz-Credential=934e8b232ee153ba21e195ef724a2066%2F20260121%2Fauto%2Fs3%2Faws4_request&#x26;X-Amz-Date=20260121T182933Z&#x26;X-Amz-Expires=3600&#x26;X-Amz-SignedHeaders=host&#x26;X-Amz-Signature=7b52d030d616c816da2b7d32b9358e0639960116fd3661b16776c3b372b8bfe4" alt=""><figcaption></figcaption></figure>

#### Configuring the Desktop Client

Once you have installed the Netmaker Desktop application on your local machine, you must point it to your Netmaker server.

1. Open the **Netmaker Desktop** application and click the **Settings** (gear icon) in the top-right corner.
2. Enter the **Server URL** or **Tenant ID** you noted earlier into the designated field and click **Save**.
3. Return to the main screen and log in using your network credentials (username and password).

<figure><img src="https://limesync-general-production.000da24485a2eb1df827157d23f74fdc.r2.cloudflarestorage.com/c0d109fb-1725-4769-a8ed-443da5e18a40/6681c732-5ec0-44f2-a03e-ba3f00c20d36/eb0b9d86-592a-4cea-b01d-4b4a308b6ce3/b45166fb-ee7a-4bab-8f16-9a0879fcebc5-screenshot_13_232.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&#x26;X-Amz-Credential=934e8b232ee153ba21e195ef724a2066%2F20260121%2Fauto%2Fs3%2Faws4_request&#x26;X-Amz-Date=20260121T182935Z&#x26;X-Amz-Expires=3600&#x26;X-Amz-SignedHeaders=host&#x26;X-Amz-Signature=f9757a543202c079a6f3a7ede53a7a9069230c2ad11d38f7ddc804db552fec46" alt=""><figcaption></figcaption></figure>

#### Joining the Network

After logging in, the application will display a list of all networks your user account has permission to access. To connect your device to the overlay:

* Locate your target network (e.g., **cloud-overlay**).
* Click the toggle switch next to the network name.
* The switch will turn green, indicating that the device has successfully joined the network and established a secure connection.

<figure><img src="https://limesync-general-production.000da24485a2eb1df827157d23f74fdc.r2.cloudflarestorage.com/c0d109fb-1725-4769-a8ed-443da5e18a40/6681c732-5ec0-44f2-a03e-ba3f00c20d36/eb0b9d86-592a-4cea-b01d-4b4a308b6ce3/e76dc643-4f81-4a1d-8566-64472361c9e0-screenshot_14_244.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&#x26;X-Amz-Credential=934e8b232ee153ba21e195ef724a2066%2F20260121%2Fauto%2Fs3%2Faws4_request&#x26;X-Amz-Date=20260121T182935Z&#x26;X-Amz-Expires=3600&#x26;X-Amz-SignedHeaders=host&#x26;X-Amz-Signature=0d521b74e493114b0b927bae712e820f4e23eb2ce73ba803af16617acfa533a9" alt=""><figcaption></figcaption></figure>

#### Verifying Connection Status

To confirm the connection from the administrator's perspective, return to the Netmaker Dashboard in your web browser. Under the **Nodes** management view for your network, navigate back to the **Active Users** tab. You should now see the user listed with an **Online** status and a designated **Private Address** within the overlay network.

<figure><img src="https://limesync-general-production.000da24485a2eb1df827157d23f74fdc.r2.cloudflarestorage.com/c0d109fb-1725-4769-a8ed-443da5e18a40/6681c732-5ec0-44f2-a03e-ba3f00c20d36/eb0b9d86-592a-4cea-b01d-4b4a308b6ce3/da0eae72-ffa5-4c38-8be2-2e354907c55d-screenshot_15_252.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&#x26;X-Amz-Credential=934e8b232ee153ba21e195ef724a2066%2F20260121%2Fauto%2Fs3%2Faws4_request&#x26;X-Amz-Date=20260121T182935Z&#x26;X-Amz-Expires=3600&#x26;X-Amz-SignedHeaders=host&#x26;X-Amz-Signature=ba175a539a39be19ac742235472ea1f5c3f93ce0fb6ac28c18efe0cb8d9f5f0b" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.netmaker.io/getting-started/walkthrough/how-to-add-devices.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
