"Networks" routing policy rules are lost after system suspend and resume #2198

Open
opened 2025-11-20 07:05:41 -05:00 by saavagebueno · 0 comments
Owner

Originally created by @BillHuang2001 on GitHub (Aug 18, 2025).

Describe the problem

When using the Networks feature on Linux, the custom policy routing rules that NetBird adds are lost after the system suspends and resumes.

After resume, the NetBird interface still exists and the routes in the main table remain, but the ip rule entries that direct traffic for Networks are gone. This breaks network routing for all configured Networks.

To Reproduce

Steps to reproduce the behavior:

  1. Configure one or more Networks.
  2. Verify routing is working, for example:
❯ ip rule show
0:	from all lookup local
100:	from all lookup main suppress_prefixlength 0
110:	not from all fwmark 0x1bd00 lookup 7120
32766:	from all lookup main
32767:	from all lookup default
  1. Suspend the system and then resume.
  2. Check again, the custom entries are gone:
❯ ip rule show
0:	from all lookup local
32766:	from all lookup main
32767:	from all lookup default

As a result, the Networks feature no longer working.

Expected behavior

After suspend and resume, netbird should restore any routing rules required for the Networks feature so that routing continues to work.

Are you using NetBird Cloud?

NetBird Cloud

NetBird version

0.54.0

Is any other VPN software installed?

No

Additional context

On NixOS, nftables, NetworkManager.

Have you tried these troubleshooting steps?

  • Reviewed client troubleshooting (if applicable)
  • Checked for newer NetBird versions
  • Searched for similar issues on GitHub (including closed ones)
  • Restarted the NetBird client
  • Disabled other VPN software
  • Checked firewall settings
Originally created by @BillHuang2001 on GitHub (Aug 18, 2025). **Describe the problem** When using the Networks feature on Linux, the custom policy routing rules that NetBird adds are lost after the system suspends and resumes. After resume, the NetBird interface still exists and the routes in the main table remain, but the ip rule entries that direct traffic for Networks are gone. This breaks network routing for all configured Networks. **To Reproduce** Steps to reproduce the behavior: 1. Configure one or more Networks. 2. Verify routing is working, for example: ```console ❯ ip rule show 0: from all lookup local 100: from all lookup main suppress_prefixlength 0 110: not from all fwmark 0x1bd00 lookup 7120 32766: from all lookup main 32767: from all lookup default ``` 3. Suspend the system and then resume. 4. Check again, the custom entries are gone: ```console ❯ ip rule show 0: from all lookup local 32766: from all lookup main 32767: from all lookup default ``` As a result, the Networks feature no longer working. **Expected behavior** After suspend and resume, netbird should restore any routing rules required for the Networks feature so that routing continues to work. **Are you using NetBird Cloud?** NetBird Cloud **NetBird version** `0.54.0` **Is any other VPN software installed?** No **Additional context** On NixOS, nftables, NetworkManager. **Have you tried these troubleshooting steps?** - [x] Reviewed [client troubleshooting](https://docs.netbird.io/how-to/troubleshooting-client) (if applicable) - [x] Checked for newer NetBird versions - [x] Searched for similar issues on GitHub (including closed ones) - [x] Restarted the NetBird client - [x] Disabled other VPN software - [x] Checked firewall settings
saavagebueno added the triage-needed label 2025-11-20 07:05:41 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#2198