Recently, on upgrading to the latest netbird versions (> 0.27.0), new networking route logic is being used, which creates a separate route table for netbird with a priority number higher than the main route table (lower priority overall). This causes netbird to fail to route to subnet network routes that collide with the user's local subnet. On connecting to netbird, the netbird routes should have a higher priority than the main table routes (lower priority number).
For example, on connecting to tailscale, the tailscale route network creates a routing table with priority 50, and the main table has a priority of 100. In case of netbird, it creates a route table with priority 110 and sets the main table's priority to 100. See the code here:
Describe the problem
Recently, on upgrading to the latest netbird versions (>
0.27.0
), new networking route logic is being used, which creates a separate route table for netbird with a priority number higher than the main route table (lower priority overall). This causes netbird to fail to route to subnet network routes that collide with the user's local subnet. On connecting to netbird, the netbird routes should have a higher priority than the main table routes (lower priority number).For example, on connecting to tailscale, the tailscale route network creates a routing table with priority
50
, and the main table has a priority of100
. In case of netbird, it creates a route table with priority110
and sets the main table's priority to100
. See the code here:https://github.com/netbirdio/netbird/blob/a5811a2d7dfd33eee331bf204201f081bbb411c9/client/internal/routemanager/systemops_linux.go#L76-L83
Currently to fix this, we need to revert to the old routing logic:
To Reproduce
Steps to reproduce the behavior:
ip route show
. It won't show the Netbird routes in the main table.ip route show table all
. See Netbird table with ID7120
.ip rule show
. See that the main table has a higher lookup priority than the Netbird table.192.168.0.0/16
), overlaps with the local network subnet (eg.192.168.0.0/24
).Expected behavior
On connecting to Netbird, the Netbird routes should have a higher lookup priority than the local subnet.
Are you using NetBird Cloud?
Self-hosted NetBird's control plane.
NetBird version
netbird version
:0.27.7