mirror of
https://github.com/tailscale/tailscale.git
synced 2026-09-22 03:25:16 -04:00
updates tailscale/corp#33007 When a selected exit node can't carry internet traffic due to a misconfiguration (wrong ID, node deleted, routes removed, etc), blackhole default routes are installed and all internet traffic is dropped. That is the correct behavior -- better to drop than leak to the local network -- but it was entirely silent: the stable-ID lookup in nodeBackend.updateRouteManagerPrefs misses without a log line, and Status leaves ExitNodeStatus nil. The user sees a healthy Tailscale with no internet. If an admin fat-fingers the exit node name in an IT policy, for example, it's easy to break every node with zero feedback. This adds an exit-node-unavailable health warning covering every way the selection can fail to carry traffic (short of reachability which is a separate concern), reported via exitnodehealth.ArgExitNodeReason. The warning names the exit node, caching its display name while it is still a peer so the name survives its departure, and falls back to the stable ID or IP. When the selection is mandated by the ExitNodeID or ExitNodeIP policy settings, the message tells the user to contact their network administrator instead of suggesting they pick another exit node. To test this, set a forced exit node policy with some random ip or node id. The warning has a 5 second threshold. It should clear as soon as you change to a proper exit node. Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
Caution
Development of tsidp has been moved to https://github.com/tailscale/tsidp and it is no longer maintained here. Please visit the new repository to see the latest updates, file an issue, or contribute.