Skip to content

Document behavior of multiple separate exit nodes - #954

Merged
SunsetDrifter merged 4 commits into
mainfrom
cc/multi-exit-node-behavior
Aug 27, 2026
Merged

Document behavior of multiple separate exit nodes#954
SunsetDrifter merged 4 commits into
mainfrom
cc/multi-exit-node-behavior

Conversation

@SunsetDrifter

Copy link
Copy Markdown
Contributor

Summary

The Regional Exit Nodes section currently says adding regions as separate exit nodes "does not work: metrics and nearest-peer selection only apply between routing peers of the same route, so separate entries give every device both default routes with no coordinated selection." The last part is not what happens, and the actual behavior is worse in a way admins should know about:

  • Separate exit nodes appear on each device as independent choices in its exit node selector, and the client auto-selects exactly one: whichever exit node's name sorts first alphabetically. Metrics and latency play no part in that choice.
  • There is no failover between exit nodes. If the selected exit node's routing peer goes offline, the device keeps it selected and loses internet access entirely, even across reconnects, while another exit node's routing peer is online and connected.

This PR replaces the sentence with the verified behavior, adds a matching caveat to the per-group placement advice (keep distribution groups from overlapping; manual regional choice is the one case where separate exit nodes are right), and aligns the remaining "exit node entry" wording to plain "exit node".

Behavior verified against NetBird Cloud with client 0.77.1, three separate 0/0 exit nodes applied to one peer: reversed metric orderings, extended router-down watches, fresh reconnects while down, and name-vs-creation-order discriminators.

Related: internal discussion about whether auto-apply should be allowed on multiple exit node objects at all; this documents current behavior either way.

Replaces the 'does not work: ... no coordinated selection' claim in
Regional Exit Nodes with the verified behavior: separate exit nodes
appear as independent choices in the device's exit node selector, the
client auto-selects the alphabetically first name (metrics and latency
play no part), and there is no failover between exit nodes - a device
whose selected exit node loses its routing peer keeps it selected and
loses internet entirely, even across reconnects. Adds the matching
non-overlapping-distribution-groups caveat to the per-group placement
advice, and aligns 'exit node entry' wording to plain 'exit node'.
@vercel

vercel Bot commented Aug 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Aug 27, 2026 11:16am

Request Review

@coderabbitai

coderabbitai Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 4 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 1cd671f8-c43a-45c9-8186-0b630d65b604

📥 Commits

Reviewing files that changed from the base of the PR and between f7433ce and 2ed4b43.

📒 Files selected for processing (1)
  • src/pages/use-cases/remote-access/exit-nodes.mdx

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@SunsetDrifter
SunsetDrifter merged commit e60f8e8 into main Aug 27, 2026
5 checks passed
@SunsetDrifter
SunsetDrifter deleted the cc/multi-exit-node-behavior branch August 27, 2026 12:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants