
# Resolve overlapping routes with the route selection feature

NetBird [Network Routes](/how-to/routing-traffic-to-private-networks) feature enables peers to access external networks such as VPCs, LANs,
or office networks seamlessly.

In most scenarios, network administrators connect their NetBird peers to these external networks by defining a network route,
which includes specifying a network range, such as `172.17.0.0/16`, and assigning a routing peer.

However, challenges arise when multiple networks have overlapping network ranges. To solve this, NetBird introduces
a route selection feature. This feature allows users to explicitly choose which routes to apply on the client side, ensuring
that peers connect to the correct network without conflicts.

<Note>
    The route selection feature is available in the NetBird client version `v0.27.4` and later.
</Note>

## How to use the route selection feature

There are two ways to use the route selection feature:
- Command line interface (CLI) via the `netbird routes` command.
- GUI via the NetBird system tray application.


### Select routes using the CLI

To list available routes using the CLI, you can use the `netbird routes list` command:

```bash
demo@netbird:~$ netbird routes list
Available Routes:

  - ID: aws-vpc-ireland
    Network: 172.17.0.0/16
    Status: Selected

  - ID: aws-vpc-ohio
    Network: 172.17.0.0/16
    Status: Selected
```

In the example above, we have two routes with overlapping network ranges. Both of them are selected, which means that they are active on the client side and conflicting.
To select a specific route, you can use the `netbird routes select` command. You can provide a list of routes

```bash
demo@netbird:~$ netbird routes select aws-vpc-ireland
Routes selected successfully.
```

<Note>
    When running the `netbird routes select` command, the NetBird client will automatically deselect all other routes by default.
</Note>

Below are some examples of how to use the `netbird routes select` command:
```bash
  # select all routes
  netbird routes select all
  # select multiple routes
  netbird routes select route1 route2
  # append a route to the selected routes without deselecting the others
  netbird routes select -a route3
```

### Select routes using the GUI

To select routes using the GUI, you can open the NetBird system tray application and navigate to the `Network Routes` menu.
You can select or deselect routes by clicking on the checkbox next to the route name.

<p>
    <img src="/docs-static/img/how-to-guides/select-network-routes.png" alt="select-network-routes" className="imagewrapper-big"/>
</p>

### Enabling All Routes

When using the command `netbird routes select all` in the CLI or the button in the GUI,
all currently available routes are selected. This action includes any new routes that become available in the future.

This basically restores the default behavior of the NetBird client, where all routes are selected by default.

### Disabling All Routes

When using the command `netbird routes deselect all` in the CLI or the button GUI, all routes are deselected.
This applies not only to the currently available routes but also to any routes that might be added in the future.

## Get started
<p float="center" >
    <Button name="button" className="button-5" onClick={() => window.open("https://netbird.io/pricing")}>Use NetBird</Button>
</p>

- Make sure to [star us on GitHub](https://github.com/netbirdio/netbird)
- Follow us [on Twitter](https://twitter.com/netbird)
- Join our [Slack Channel](https://join.slack.com/t/netbirdio/shared_invite/zt-vrahf41g-ik1v7fV8du6t0RwxSrJ96A)
- NetBird [latest release](https://github.com/netbirdio/netbird/releases) on GitHub
