[GH-ISSUE #5645] iOS: internet lost after disabling exit node until VPN tunnel is cycled #10891

Open
opened 2026-08-05 01:27:36 -04:00 by saavagebueno · 0 comments
Owner

Originally created by @Panagiotis1226 on GitHub (Mar 20, 2026).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/5645

Describe the problem
When toggling the exit node off on iOS, internet connectivity is lost entirely. The only way to restore it is to toggle the full NetBird VPN tunnel off and back on. Toggling the exit node back on also restores connectivity. This does not occur with Tailscale, which handles exit node toggling without any connectivity disruption.

To Reproduce

  1. Connect to NetBird on iOS
  2. Enable an exit node (confirm internet works and traffic routes through exit node)
  3. Disable the exit node
  4. Attempt to load any webpage or use any internet-dependent app
  5. Observe: no internet connectivity until VPN tunnel is fully cycled off and on

Expected behavior
Disabling the exit node should restore normal internet connectivity immediately, with traffic routing directly from the device as before the exit node was enabled.

Are you using NetBird Cloud?
Self-hosted on AWS EC2 (Ubuntu), NetBird server stack running via Docker Compose (management, signal, relay, dashboard, Traefik).

NetBird version
0.66.4 (both server and iOS client)

Is any other VPN software installed?
No.

Debug output
Unable to run netbird CLI on iOS. Server-side netbird status --detail shows:

  • EC2 peer advertising Networks: 0.0.0.0/0 permanently
  • iPhone peer connects successfully and exit node routes traffic correctly
  • On exit node disable, iOS does not restore its original default route until tunnel is cycled

Additional context
Suspected root cause: when the exit node is enabled, NetBird pushes a 0.0.0.0/0 route overriding the device default route. When disabled, NetBird withdraws the route but does not explicitly restore the original default route via the NEIPv4Route API. Tailscale avoids this by saving the pre-tunnel default route and restoring it explicitly on exit node toggle-off.

Workaround: toggle the full NetBird VPN tunnel off and back on after disabling the exit node.

Have you tried these troubleshooting steps?

  • Reviewed client troubleshooting
  • Checked for newer NetBird versions
  • Restarted the NetBird client
  • Disabled other VPN software
  • Checked firewall settings
Originally created by @Panagiotis1226 on GitHub (Mar 20, 2026). Original GitHub issue: https://github.com/netbirdio/netbird/issues/5645 **Describe the problem** When toggling the exit node off on iOS, internet connectivity is lost entirely. The only way to restore it is to toggle the full NetBird VPN tunnel off and back on. Toggling the exit node back on also restores connectivity. This does not occur with Tailscale, which handles exit node toggling without any connectivity disruption. **To Reproduce** 1. Connect to NetBird on iOS 2. Enable an exit node (confirm internet works and traffic routes through exit node) 3. Disable the exit node 4. Attempt to load any webpage or use any internet-dependent app 5. Observe: no internet connectivity until VPN tunnel is fully cycled off and on **Expected behavior** Disabling the exit node should restore normal internet connectivity immediately, with traffic routing directly from the device as before the exit node was enabled. **Are you using NetBird Cloud?** Self-hosted on AWS EC2 (Ubuntu), NetBird server stack running via Docker Compose (management, signal, relay, dashboard, Traefik). **NetBird version** 0.66.4 (both server and iOS client) **Is any other VPN software installed?** No. **Debug output** Unable to run netbird CLI on iOS. Server-side `netbird status --detail` shows: - EC2 peer advertising `Networks: 0.0.0.0/0` permanently - iPhone peer connects successfully and exit node routes traffic correctly - On exit node disable, iOS does not restore its original default route until tunnel is cycled **Additional context** Suspected root cause: when the exit node is enabled, NetBird pushes a `0.0.0.0/0` route overriding the device default route. When disabled, NetBird withdraws the route but does not explicitly restore the original default route via the `NEIPv4Route` API. Tailscale avoids this by saving the pre-tunnel default route and restoring it explicitly on exit node toggle-off. Workaround: toggle the full NetBird VPN tunnel off and back on after disabling the exit node. **Have you tried these troubleshooting steps?** - [x] Reviewed client troubleshooting - [x] Checked for newer NetBird versions - [x] Restarted the NetBird client - [x] Disabled other VPN software - [x] Checked firewall settings
saavagebueno added the triage-needed label 2026-08-05 01:27:36 -04:00
Sign in to join this conversation.
No Label triage-needed
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#10891