# Routing traffic from Linux

## Before you begin

To start using traffic routing, make sure that the device you want to route traffic through meets the following criteria:

* The NordVPN app is running, and the Meshnet feature is enabled in the app.
* The device is connected to your Meshnet.&#x20;
* The **Traffic routing through your device** permission is granted for your client device. To learn more, see [Traffic routing permissions](https://meshnet.nordvpn.com/features/explaining-permissions/traffic-routing-permissions).

{% hint style="info" %}
**Note**

You can add devices to your Meshnet in two ways, depending on device ownership:

* To add your own device, just enable Meshnet on that device. See [Using Meshnet on Linux](https://meshnet.nordvpn.com/getting-started/how-to-start-using-meshnet/using-meshnet-on-linux#add-your-own-devices) for details.
* To add an external device, send an invitation via the NordVPN app with the owner's email. Ensure the invitation is accepted. See [Adding external Meshnet devices on Linux](https://meshnet.nordvpn.com/features/linking-devices-in-meshnet/adding-external-meshnet-devices-on-linux).
  {% endhint %}

## Start routing traffic <a href="#start-routing-traffic.2" id="start-routing-traffic.2"></a>

To start routing traffic on Linux, follow these steps:

1. Open **Terminal**.
2. Run the following command to list your Meshnet peer devices:

   <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">nordvpn meshnet peer list
   </code></pre>

   &#x20;
3. Note the Nord name of the host device you want to route traffic through.

   <div align="left"><figure><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2Fv5LXSTbz6eZMRO4QhNq5%2Flinux_peer_name_everest.png?alt=media&#x26;token=24c50885-71c9-4f35-a13b-e76d8f3b7f6f" alt="Nord name of a Meshnet peer device highlighted. "><figcaption></figcaption></figure></div>

   &#x20;
4. Run the following command, replacing `<device>` with the device’s Nord name or Meshnet IP.

   <pre class="language-bash" data-overflow="wrap"><code class="lang-bash">nordvpn meshnet peer connect &#x3C;device>
   </code></pre>

   &#x20;

   **Example**

   <div align="left"><figure><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2FAscvtefplvWswYkPFU2K%2Flinux_routing_connect.png?alt=media&#x26;token=a94082b0-fdf3-4b1d-891b-24cc813c4a6c" alt="Terminal output showing successful connection to a Meshnet peer device."><figcaption></figcaption></figure></div>

{% hint style="success" %}
**Tip**

If you get a message that the peer does not allow traffic routing, ensure that the peer device is active and has granted your device the [traffic routing permissions](https://meshnet.nordvpn.com/explaining-permissions/traffic-routing-permissions#changing-permissions).
{% endhint %}

{% hint style="success" %}
**Tip**

To find your peer's Nord name faster, start typing the name and press **Tab**. The system will auto-complete the name based on matching peers.
{% endhint %}

### Verify the connection status

You can check the connection status by using this command:

{% code overflow="wrap" %}

```bash
nordvpn status
```

{% endcode %}

**Example**

<div align="left"><figure><img src="https://3559400189-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0cTezbT2vN0lurEio8Z5%2Fuploads%2Fw6MdMcOu5rlRdSoPC4E9%2Flinux_routing_status.png?alt=media&#x26;token=4e3f87cb-e9db-44a0-9699-3d5cadb00e30" alt="Terminal output of the &#x27;nordvpn status&#x27; command indicating an active traffic routing connection."><figcaption></figcaption></figure></div>

## Stop routing traffic <a href="#stop-routing-traffic.2" id="stop-routing-traffic.2"></a>

To stop traffic routing, run one of the following commands in the terminal:

{% code overflow="wrap" %}

```bash
nordvpn disconnect
nordvpn d
```

{% endcode %}
