Tailnet Gateway

Troubleshooting

Work from the bottom layer up: uplink, tailnet control, peer path, rule, application. The Web UI reports each layer separately.

The device does not join the tailnet

It was working and dropped off after months

Check node-key expiry in the admin console and reauthorize the device if required. Also check the uplink, clock and gateway logs before changing settings. Whether to disable expiry for a persistent recovery node is an administrator policy decision, not a required troubleshooting step.

Tailnet clients cannot reach the LAN

Approve the advertised route in the admin console. If LAN hosts have no route back to 100.64.0.0/10, enable source NAT for advertised routes.

A Service Gateway rule does not work

  1. Run Test destination. Read the reported result: DNS resolution, the tunnel path, the listening service or authorization may be involved. For UDP, use reply evidence from the actual service; there is no TCP handshake to test.
  2. Check that the rule is enabled and not expired, and that the client's address is inside the source CIDR (rejected counter).
  3. Check the client points at the ESP32's address and listen port, not at the remote service.

I cannot reach the Web UI

The updater says the GitHub check failed

Check Internet access, the clock used for TLS and the reported GitHub error. For 1.13 or earlier, follow the legacy migration path; a direct upload of the current 3.x application does not fit the old OTA slots.

Still stuck?

Use Devices & Recovery → Sanitized export, review it for private details, and open an issue. Full guide: docs/TROUBLESHOOTING.md.