[Bug] re-authentication doesn't work, new node key is unknown #1065

Closed
opened 2025-12-29 02:28:03 +01:00 by adam · 2 comments
Owner

Originally created by @spymobilfon on GitHub (Jul 16, 2025).

Is this a support request?

  • This is not a support request

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Hello!

I detected unexpected behaviour with re-authentication process. After re-authentication new node key is marked unknown on the Tailscale side (router node). Internet and resources via VPN didn't work.

  1. User re-authenticated in Tailscale (on the client side)
  2. I detected events in the Headscale logs
Jul 16 11:15:34 headscale-03a headscale[3160614]: 2025-07-16T11:15:34Z DBG github.com/juanfont/headscale/hscontrol/oidc.go:204 > Redirecting to https://xxxxx for authentication
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z INF github.com/juanfont/headscale/hscontrol/db/node.go:375 > Registering node from API/CLI or auth callback expiresAt="2025-07-17 11:15:47.413362379 +0000 UTC m=+91052.235218761" registrationMethod=oidc registration_id=xxxxx xxxxx=true username=xxxxx@xxxxx.com
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z INF github.com/juanfont/headscale/hscontrol/db/node.go:454 > Registering node machine_key=[xxxxx] node=localhost node_key=[xxxxx] xxxxx=true user=xxxxx@xxxxx.com
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/db/node.go:507 > Node registered with the database node=localhost
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > poll context done node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/notifier/notifier.go:91 > removed channel node.id=2417 open_chans=2
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > a node sending a MapRequest with Noise protocol node=localhost node.id=2417 omitPeers=true readOnly=false stream=false
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > received endpoint update node=localhost node.id=2417 omitPeers=true readOnly=false stream=false
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:573 > PeerChange received disco_key=d:xxxxx endpoints=["xxxxx"] hostname=localhost last_seen=1752664547 node.id=2417 online=false
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z INF github.com/juanfont/headscale/hscontrol/poll.go:608 > node has disconnected, mapSession: 0xc000dee000, chan: 0xc0001caee0 node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > a node sending a MapRequest with Noise protocol node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/notifier/notifier.go:91 > added new channel node.id=2417 open_chans=3
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z INF github.com/juanfont/headscale/hscontrol/poll.go:608 > node has connected, mapSession: 0xc000defe00, chan: 0xc000219b90 node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > received stream update: StateFullUpdate  node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > Sending Full MapResponse node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/notifier/notifier.go:91 > update successfully sent on chan, origin: %!s(<nil>), origin-hostname: %!s(<nil>) node.id=2417 open_chans=3
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:357 > finished writing mapresp to node mkey=mkey:xxxxx node=localhost timeSpent=0.116915
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > update sent node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > received stream update: StateSelfUpdate  node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > Sending Changed MapResponse:  node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:357 > finished writing mapresp to node mkey=mkey:xxxxx node=localhost timeSpent=0.022092
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > update sent node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > received stream update: StatePeerChanged  node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > Sending Changed MapResponse:  node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:357 > finished writing mapresp to node mkey=mkey:xxxxx node=localhost timeSpent=0.058192
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > update sent node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:357 > finished writing mapresp to node mkey=mkey:xxxxx node=xxxxx timeSpent=0.037446
  1. I detected events in the Tailscale logs (router node)
Jul 16 11:15:48 tailscale-06a tailscaled[358894]: wgengine: Reconfig: configuring userspace WireGuard config (with 3/18 peers)
Jul 16 11:15:48 tailscale-06a tailscaled[358894]: [unexpected] magicsock: ParseEndpoint: unknown node key=[xxxxx]
Jul 16 11:15:48 tailscale-06a tailscaled[358894]: wg: IPC error -22: failed to set endpoint xxxxx: magicsock: ParseEndpoint: unknown peer "[xxxxx]"
Jul 16 11:15:48 tailscale-06a tailscaled[358894]: wgcfg.Reconfig failed: multiple errors:
Jul 16 11:15:48 tailscale-06a tailscaled[358894]:         IPC error -22: failed to set endpoint xxxxx: magicsock: ParseEndpoint: unknown peer "[xxxxx]"
Jul 16 11:15:48 tailscale-06a tailscaled[358894]:         ToUAPI: io: read/write on closed pipe
Jul 16 11:15:48 tailscale-06a tailscaled[358894]: wgdev.Reconfig: multiple errors:
Jul 16 11:15:48 tailscale-06a tailscaled[358894]:         IPC error -22: failed to set endpoint xxxxx: magicsock: ParseEndpoint: unknown peer "[xxxxx]"
Jul 16 11:15:48 tailscale-06a tailscaled[358894]:         ToUAPI: io: read/write on closed pipe
Jul 16 11:15:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped)
Jul 16 11:15:50 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56013 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:15:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:15:53 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:15:58 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:02 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped)
Jul 16 11:16:03 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:06 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56027 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:16:08 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:10 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56037 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:16:10 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:16:13 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:18 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:19 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped)
Jul 16 11:16:19 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56057 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:16:19 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:16:23 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:28 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:29 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped)
Jul 16 11:16:33 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54888 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:16:33 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:16:33 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:39 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:40 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56091 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:16:40 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:16:43 tailscale-06a tailscaled[358894]: [RATELIMIT] format("[unexpected] got disco ping from %v/%v for node not in peers") (5 dropped)
Jul 16 11:16:43 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers
Jul 16 11:16:44 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown
Jul 16 11:16:44 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:48 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers
Jul 16 11:16:48 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown
Jul 16 11:16:49 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped)
Jul 16 11:16:50 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54906 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:16:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:16:54 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers
Jul 16 11:16:54 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown
Jul 16 11:16:54 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:59 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:000000000000000000000000000000000000
Jul 16 11:16:59 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped)
Jul 16 11:16:59 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:04 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers
Jul 16 11:17:04 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown
Jul 16 11:17:04 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:05 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54916 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:17:09 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54918 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:17:09 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:17:09 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers
Jul 16 11:17:09 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown
Jul 16 11:17:10 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:14 tailscale-06a tailscaled[358894]: [
Jul 16 11:17:19 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped)
Jul 16 11:17:19 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers
Jul 16 11:17:19 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown
Jul 16 11:17:20 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:23 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56141 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:17:23 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:17:24 tailscale-06a tailscaled[358894]: wgengine: Reconfig: configuring userspace WireGuard config (with 3/18 peers)
Jul 16 11:17:24 tailscale-06a tailscaled[358894]: [unexpected] endpoint changed from nodekey:0000000000000000000000000000000000000000000000000000000000000000 to nodekey:xxxxx
Jul 16 11:17:26 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:30 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56165 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:17:30 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:17:32 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:35 tailscale-06a tailscaled[358894]: magicsock: disco: node [xxxxx] d:xxxxx now using xxxxx:xxxxx mtu=1360 tx=xxxxx
Jul 16 11:17:38 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:42 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped)
Jul 16 11:17:44 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:46 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56189 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:17:46 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56190 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:17:46 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:17:50 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:56 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:18:01 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (3 dropped)
Jul 16 11:18:01 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56235 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:18:02 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:18:04 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56241 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:18:08 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:18:33 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56245 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:18:33 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56246 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:18:33 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:18:40 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (4 dropped)
Jul 16 11:18:40 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54994 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:18:40 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:18:51 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped)
Jul 16 11:18:51 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55002 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:18:51 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:18:59 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped)
Jul 16 11:18:59 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56305 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:18:59 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:19:08 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:09 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped)
Jul 16 11:19:13 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55038 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:19:13 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:19:14 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:20 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:22 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56357 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:19:22 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:19:26 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:32 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:37 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:38 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55056 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:19:38 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55057 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:19:38 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:19:42 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:46 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (3 dropped)
Jul 16 11:19:46 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55064 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:19:48 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:49 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56363 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:19:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:19:53 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:58 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:59 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped)
Jul 16 11:19:59 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56373 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:20:00 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:20:03 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:08 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:09 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped)
Jul 16 11:20:13 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:13 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56408 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:20:13 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:20:18 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:20 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55096 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:20:20 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:20:24 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:29 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:30 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped)
Jul 16 11:20:34 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:34 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56447 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:20:39 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:44 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:45 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56454 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:20:45 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56455 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:20:45 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:20:50 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route

Only disable/enable Tailscale client on desktop is helped.

Expected Behavior

After re-authentication new node key is synced with Tailscale nodes.
Internet and resources via VPN are worked.

Steps To Reproduce

  1. Re-authenticate in Tailscale (on the client side)
  2. Open resources which route via the Tailscale router node
  3. Open resources in Internet
  4. Check the Headscale log
  5. Check the Tailscale log

Environment

Headscale:
- OS: Ubuntu 24.04
- Headscale version: 0.26.1
Tailscale router:
- OS: Ubuntu 22.04
- Tailscale version: 1.82.5
Tailscale client:
- OS: macOS Sequoia 15.5
- Tailscale version: 1.84.1

Runtime environment

  • Headscale is behind a (reverse) proxy
  • Headscale runs in a container

Debug information

Headscale log

Jul 16 11:15:34 headscale-03a headscale[3160614]: 2025-07-16T11:15:34Z DBG github.com/juanfont/headscale/hscontrol/oidc.go:204 > Redirecting to https://xxxxx for authentication
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z INF github.com/juanfont/headscale/hscontrol/db/node.go:375 > Registering node from API/CLI or auth callback expiresAt="2025-07-17 11:15:47.413362379 +0000 UTC m=+91052.235218761" registrationMethod=oidc registration_id=xxxxx xxxxx=true username=xxxxx@xxxxx.com
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z INF github.com/juanfont/headscale/hscontrol/db/node.go:454 > Registering node machine_key=[xxxxx] node=localhost node_key=[xxxxx] xxxxx=true user=xxxxx@xxxxx.com
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/db/node.go:507 > Node registered with the database node=localhost
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > poll context done node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/notifier/notifier.go:91 > removed channel node.id=2417 open_chans=2
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > a node sending a MapRequest with Noise protocol node=localhost node.id=2417 omitPeers=true readOnly=false stream=false
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > received endpoint update node=localhost node.id=2417 omitPeers=true readOnly=false stream=false
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:573 > PeerChange received disco_key=d:xxxxx endpoints=["xxxxx"] hostname=localhost last_seen=1752664547 node.id=2417 online=false
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z INF github.com/juanfont/headscale/hscontrol/poll.go:608 > node has disconnected, mapSession: 0xc000dee000, chan: 0xc0001caee0 node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > a node sending a MapRequest with Noise protocol node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/notifier/notifier.go:91 > added new channel node.id=2417 open_chans=3
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z INF github.com/juanfont/headscale/hscontrol/poll.go:608 > node has connected, mapSession: 0xc000defe00, chan: 0xc000219b90 node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > received stream update: StateFullUpdate  node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > Sending Full MapResponse node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/notifier/notifier.go:91 > update successfully sent on chan, origin: %!s(<nil>), origin-hostname: %!s(<nil>) node.id=2417 open_chans=3
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:357 > finished writing mapresp to node mkey=mkey:xxxxx node=localhost timeSpent=0.116915
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > update sent node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > received stream update: StateSelfUpdate  node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > Sending Changed MapResponse:  node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:357 > finished writing mapresp to node mkey=mkey:xxxxx node=localhost timeSpent=0.022092
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > update sent node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > received stream update: StatePeerChanged  node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > Sending Changed MapResponse:  node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:357 > finished writing mapresp to node mkey=mkey:xxxxx node=localhost timeSpent=0.058192
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > update sent node=localhost node.id=2417 omitPeers=false readOnly=false stream=true
Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:357 > finished writing mapresp to node mkey=mkey:xxxxx node=xxxxx timeSpent=0.037446

Tailscale log

Jul 16 11:15:48 tailscale-06a tailscaled[358894]: wgengine: Reconfig: configuring userspace WireGuard config (with 3/18 peers)
Jul 16 11:15:48 tailscale-06a tailscaled[358894]: [unexpected] magicsock: ParseEndpoint: unknown node key=[xxxxx]
Jul 16 11:15:48 tailscale-06a tailscaled[358894]: wg: IPC error -22: failed to set endpoint xxxxx: magicsock: ParseEndpoint: unknown peer "[xxxxx]"
Jul 16 11:15:48 tailscale-06a tailscaled[358894]: wgcfg.Reconfig failed: multiple errors:
Jul 16 11:15:48 tailscale-06a tailscaled[358894]:         IPC error -22: failed to set endpoint xxxxx: magicsock: ParseEndpoint: unknown peer "[xxxxx]"
Jul 16 11:15:48 tailscale-06a tailscaled[358894]:         ToUAPI: io: read/write on closed pipe
Jul 16 11:15:48 tailscale-06a tailscaled[358894]: wgdev.Reconfig: multiple errors:
Jul 16 11:15:48 tailscale-06a tailscaled[358894]:         IPC error -22: failed to set endpoint xxxxx: magicsock: ParseEndpoint: unknown peer "[xxxxx]"
Jul 16 11:15:48 tailscale-06a tailscaled[358894]:         ToUAPI: io: read/write on closed pipe
Jul 16 11:15:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped)
Jul 16 11:15:50 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56013 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:15:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:15:53 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:15:58 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:02 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped)
Jul 16 11:16:03 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:06 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56027 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:16:08 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:10 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56037 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:16:10 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:16:13 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:18 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:19 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped)
Jul 16 11:16:19 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56057 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:16:19 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:16:23 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:28 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:29 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped)
Jul 16 11:16:33 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54888 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:16:33 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:16:33 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:39 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:40 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56091 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:16:40 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:16:43 tailscale-06a tailscaled[358894]: [RATELIMIT] format("[unexpected] got disco ping from %v/%v for node not in peers") (5 dropped)
Jul 16 11:16:43 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers
Jul 16 11:16:44 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown
Jul 16 11:16:44 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:48 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers
Jul 16 11:16:48 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown
Jul 16 11:16:49 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped)
Jul 16 11:16:50 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54906 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:16:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:16:54 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers
Jul 16 11:16:54 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown
Jul 16 11:16:54 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:16:59 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:000000000000000000000000000000000000
Jul 16 11:16:59 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped)
Jul 16 11:16:59 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:04 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers
Jul 16 11:17:04 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown
Jul 16 11:17:04 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:05 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54916 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:17:09 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54918 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:17:09 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:17:09 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers
Jul 16 11:17:09 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown
Jul 16 11:17:10 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:14 tailscale-06a tailscaled[358894]: [
Jul 16 11:17:19 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped)
Jul 16 11:17:19 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers
Jul 16 11:17:19 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown
Jul 16 11:17:20 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:23 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56141 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:17:23 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:17:24 tailscale-06a tailscaled[358894]: wgengine: Reconfig: configuring userspace WireGuard config (with 3/18 peers)
Jul 16 11:17:24 tailscale-06a tailscaled[358894]: [unexpected] endpoint changed from nodekey:0000000000000000000000000000000000000000000000000000000000000000 to nodekey:xxxxx
Jul 16 11:17:26 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:30 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56165 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:17:30 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:17:32 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:35 tailscale-06a tailscaled[358894]: magicsock: disco: node [xxxxx] d:xxxxx now using xxxxx:xxxxx mtu=1360 tx=xxxxx
Jul 16 11:17:38 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:42 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped)
Jul 16 11:17:44 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:46 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56189 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:17:46 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56190 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:17:46 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:17:50 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:17:56 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:18:01 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (3 dropped)
Jul 16 11:18:01 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56235 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:18:02 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:18:04 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56241 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:18:08 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:18:33 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56245 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:18:33 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56246 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:18:33 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:18:40 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (4 dropped)
Jul 16 11:18:40 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54994 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:18:40 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:18:51 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped)
Jul 16 11:18:51 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55002 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:18:51 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:18:59 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped)
Jul 16 11:18:59 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56305 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:18:59 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:19:08 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:09 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped)
Jul 16 11:19:13 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55038 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:19:13 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:19:14 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:20 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:22 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56357 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:19:22 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:19:26 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:32 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:37 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:38 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55056 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:19:38 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55057 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:19:38 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:19:42 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:46 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (3 dropped)
Jul 16 11:19:46 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55064 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:19:48 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:49 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56363 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:19:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:19:53 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:58 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:19:59 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped)
Jul 16 11:19:59 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56373 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:20:00 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:20:03 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:08 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:09 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped)
Jul 16 11:20:13 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:13 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56408 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:20:13 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:20:18 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:20 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55096 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:20:20 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:20:24 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:29 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:30 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped)
Jul 16 11:20:34 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:34 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56447 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:20:39 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:44 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Jul 16 11:20:45 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56454 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:20:45 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56455 > 100.64.1.134:50054} 52 no rules matched
Jul 16 11:20:45 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s")
Jul 16 11:20:50 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route
Originally created by @spymobilfon on GitHub (Jul 16, 2025). ### Is this a support request? - [x] This is not a support request ### Is there an existing issue for this? - [x] I have searched the existing issues ### Current Behavior Hello! I detected unexpected behaviour with re-authentication process. After re-authentication new node key is marked `unknown` on the Tailscale side (router node). Internet and resources via VPN didn't work. 1. User re-authenticated in Tailscale (on the client side) 2. I detected events in the Headscale logs ``` Jul 16 11:15:34 headscale-03a headscale[3160614]: 2025-07-16T11:15:34Z DBG github.com/juanfont/headscale/hscontrol/oidc.go:204 > Redirecting to https://xxxxx for authentication Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z INF github.com/juanfont/headscale/hscontrol/db/node.go:375 > Registering node from API/CLI or auth callback expiresAt="2025-07-17 11:15:47.413362379 +0000 UTC m=+91052.235218761" registrationMethod=oidc registration_id=xxxxx xxxxx=true username=xxxxx@xxxxx.com Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z INF github.com/juanfont/headscale/hscontrol/db/node.go:454 > Registering node machine_key=[xxxxx] node=localhost node_key=[xxxxx] xxxxx=true user=xxxxx@xxxxx.com Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/db/node.go:507 > Node registered with the database node=localhost Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > poll context done node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/notifier/notifier.go:91 > removed channel node.id=2417 open_chans=2 Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > a node sending a MapRequest with Noise protocol node=localhost node.id=2417 omitPeers=true readOnly=false stream=false Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > received endpoint update node=localhost node.id=2417 omitPeers=true readOnly=false stream=false Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:573 > PeerChange received disco_key=d:xxxxx endpoints=["xxxxx"] hostname=localhost last_seen=1752664547 node.id=2417 online=false Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z INF github.com/juanfont/headscale/hscontrol/poll.go:608 > node has disconnected, mapSession: 0xc000dee000, chan: 0xc0001caee0 node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > a node sending a MapRequest with Noise protocol node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/notifier/notifier.go:91 > added new channel node.id=2417 open_chans=3 Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z INF github.com/juanfont/headscale/hscontrol/poll.go:608 > node has connected, mapSession: 0xc000defe00, chan: 0xc000219b90 node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > received stream update: StateFullUpdate node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > Sending Full MapResponse node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/notifier/notifier.go:91 > update successfully sent on chan, origin: %!s(<nil>), origin-hostname: %!s(<nil>) node.id=2417 open_chans=3 Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:357 > finished writing mapresp to node mkey=mkey:xxxxx node=localhost timeSpent=0.116915 Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > update sent node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > received stream update: StateSelfUpdate node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > Sending Changed MapResponse: node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:357 > finished writing mapresp to node mkey=mkey:xxxxx node=localhost timeSpent=0.022092 Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > update sent node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > received stream update: StatePeerChanged node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > Sending Changed MapResponse: node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:357 > finished writing mapresp to node mkey=mkey:xxxxx node=localhost timeSpent=0.058192 Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > update sent node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:357 > finished writing mapresp to node mkey=mkey:xxxxx node=xxxxx timeSpent=0.037446 ``` 3. I detected events in the Tailscale logs (router node) ``` Jul 16 11:15:48 tailscale-06a tailscaled[358894]: wgengine: Reconfig: configuring userspace WireGuard config (with 3/18 peers) Jul 16 11:15:48 tailscale-06a tailscaled[358894]: [unexpected] magicsock: ParseEndpoint: unknown node key=[xxxxx] Jul 16 11:15:48 tailscale-06a tailscaled[358894]: wg: IPC error -22: failed to set endpoint xxxxx: magicsock: ParseEndpoint: unknown peer "[xxxxx]" Jul 16 11:15:48 tailscale-06a tailscaled[358894]: wgcfg.Reconfig failed: multiple errors: Jul 16 11:15:48 tailscale-06a tailscaled[358894]: IPC error -22: failed to set endpoint xxxxx: magicsock: ParseEndpoint: unknown peer "[xxxxx]" Jul 16 11:15:48 tailscale-06a tailscaled[358894]: ToUAPI: io: read/write on closed pipe Jul 16 11:15:48 tailscale-06a tailscaled[358894]: wgdev.Reconfig: multiple errors: Jul 16 11:15:48 tailscale-06a tailscaled[358894]: IPC error -22: failed to set endpoint xxxxx: magicsock: ParseEndpoint: unknown peer "[xxxxx]" Jul 16 11:15:48 tailscale-06a tailscaled[358894]: ToUAPI: io: read/write on closed pipe Jul 16 11:15:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped) Jul 16 11:15:50 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56013 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:15:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:15:53 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:15:58 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:02 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped) Jul 16 11:16:03 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:06 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56027 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:16:08 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:10 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56037 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:16:10 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:16:13 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:18 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:19 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped) Jul 16 11:16:19 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56057 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:16:19 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:16:23 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:28 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:29 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped) Jul 16 11:16:33 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54888 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:16:33 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:16:33 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:39 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:40 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56091 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:16:40 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:16:43 tailscale-06a tailscaled[358894]: [RATELIMIT] format("[unexpected] got disco ping from %v/%v for node not in peers") (5 dropped) Jul 16 11:16:43 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers Jul 16 11:16:44 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown Jul 16 11:16:44 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:48 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers Jul 16 11:16:48 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown Jul 16 11:16:49 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped) Jul 16 11:16:50 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54906 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:16:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:16:54 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers Jul 16 11:16:54 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown Jul 16 11:16:54 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:59 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:000000000000000000000000000000000000 Jul 16 11:16:59 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped) Jul 16 11:16:59 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:04 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers Jul 16 11:17:04 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown Jul 16 11:17:04 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:05 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54916 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:17:09 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54918 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:17:09 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:17:09 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers Jul 16 11:17:09 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown Jul 16 11:17:10 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:14 tailscale-06a tailscaled[358894]: [ Jul 16 11:17:19 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped) Jul 16 11:17:19 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers Jul 16 11:17:19 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown Jul 16 11:17:20 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:23 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56141 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:17:23 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:17:24 tailscale-06a tailscaled[358894]: wgengine: Reconfig: configuring userspace WireGuard config (with 3/18 peers) Jul 16 11:17:24 tailscale-06a tailscaled[358894]: [unexpected] endpoint changed from nodekey:0000000000000000000000000000000000000000000000000000000000000000 to nodekey:xxxxx Jul 16 11:17:26 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:30 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56165 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:17:30 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:17:32 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:35 tailscale-06a tailscaled[358894]: magicsock: disco: node [xxxxx] d:xxxxx now using xxxxx:xxxxx mtu=1360 tx=xxxxx Jul 16 11:17:38 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:42 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped) Jul 16 11:17:44 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:46 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56189 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:17:46 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56190 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:17:46 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:17:50 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:56 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:18:01 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (3 dropped) Jul 16 11:18:01 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56235 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:18:02 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:18:04 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56241 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:18:08 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:18:33 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56245 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:18:33 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56246 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:18:33 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:18:40 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (4 dropped) Jul 16 11:18:40 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54994 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:18:40 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:18:51 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped) Jul 16 11:18:51 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55002 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:18:51 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:18:59 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped) Jul 16 11:18:59 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56305 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:18:59 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:19:08 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:09 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped) Jul 16 11:19:13 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55038 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:19:13 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:19:14 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:20 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:22 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56357 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:19:22 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:19:26 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:32 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:37 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:38 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55056 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:19:38 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55057 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:19:38 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:19:42 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:46 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (3 dropped) Jul 16 11:19:46 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55064 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:19:48 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:49 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56363 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:19:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:19:53 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:58 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:59 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped) Jul 16 11:19:59 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56373 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:20:00 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:20:03 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:08 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:09 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped) Jul 16 11:20:13 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:13 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56408 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:20:13 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:20:18 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:20 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55096 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:20:20 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:20:24 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:29 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:30 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped) Jul 16 11:20:34 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:34 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56447 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:20:39 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:44 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:45 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56454 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:20:45 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56455 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:20:45 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:20:50 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route ``` Only disable/enable Tailscale client on desktop is helped. ### Expected Behavior After re-authentication new node key is synced with Tailscale nodes. Internet and resources via VPN are worked. ### Steps To Reproduce 1. Re-authenticate in Tailscale (on the client side) 2. Open resources which route via the Tailscale router node 3. Open resources in Internet 4. Check the Headscale log 5. Check the Tailscale log ### Environment ```markdown Headscale: - OS: Ubuntu 24.04 - Headscale version: 0.26.1 Tailscale router: - OS: Ubuntu 22.04 - Tailscale version: 1.82.5 Tailscale client: - OS: macOS Sequoia 15.5 - Tailscale version: 1.84.1 ``` ### Runtime environment - [x] Headscale is behind a (reverse) proxy - [ ] Headscale runs in a container ### Debug information Headscale log ``` Jul 16 11:15:34 headscale-03a headscale[3160614]: 2025-07-16T11:15:34Z DBG github.com/juanfont/headscale/hscontrol/oidc.go:204 > Redirecting to https://xxxxx for authentication Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z INF github.com/juanfont/headscale/hscontrol/db/node.go:375 > Registering node from API/CLI or auth callback expiresAt="2025-07-17 11:15:47.413362379 +0000 UTC m=+91052.235218761" registrationMethod=oidc registration_id=xxxxx xxxxx=true username=xxxxx@xxxxx.com Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z INF github.com/juanfont/headscale/hscontrol/db/node.go:454 > Registering node machine_key=[xxxxx] node=localhost node_key=[xxxxx] xxxxx=true user=xxxxx@xxxxx.com Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/db/node.go:507 > Node registered with the database node=localhost Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > poll context done node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/notifier/notifier.go:91 > removed channel node.id=2417 open_chans=2 Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > a node sending a MapRequest with Noise protocol node=localhost node.id=2417 omitPeers=true readOnly=false stream=false Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > received endpoint update node=localhost node.id=2417 omitPeers=true readOnly=false stream=false Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:573 > PeerChange received disco_key=d:xxxxx endpoints=["xxxxx"] hostname=localhost last_seen=1752664547 node.id=2417 online=false Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z INF github.com/juanfont/headscale/hscontrol/poll.go:608 > node has disconnected, mapSession: 0xc000dee000, chan: 0xc0001caee0 node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > a node sending a MapRequest with Noise protocol node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/notifier/notifier.go:91 > added new channel node.id=2417 open_chans=3 Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z INF github.com/juanfont/headscale/hscontrol/poll.go:608 > node has connected, mapSession: 0xc000defe00, chan: 0xc000219b90 node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > received stream update: StateFullUpdate node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > Sending Full MapResponse node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/notifier/notifier.go:91 > update successfully sent on chan, origin: %!s(<nil>), origin-hostname: %!s(<nil>) node.id=2417 open_chans=3 Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:357 > finished writing mapresp to node mkey=mkey:xxxxx node=localhost timeSpent=0.116915 Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > update sent node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > received stream update: StateSelfUpdate node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > Sending Changed MapResponse: node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:357 > finished writing mapresp to node mkey=mkey:xxxxx node=localhost timeSpent=0.022092 Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > update sent node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > received stream update: StatePeerChanged node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > Sending Changed MapResponse: node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:357 > finished writing mapresp to node mkey=mkey:xxxxx node=localhost timeSpent=0.058192 Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:618 > update sent node=localhost node.id=2417 omitPeers=false readOnly=false stream=true Jul 16 11:15:47 headscale-03a headscale[3160614]: 2025-07-16T11:15:47Z TRC github.com/juanfont/headscale/hscontrol/poll.go:357 > finished writing mapresp to node mkey=mkey:xxxxx node=xxxxx timeSpent=0.037446 ``` Tailscale log ``` Jul 16 11:15:48 tailscale-06a tailscaled[358894]: wgengine: Reconfig: configuring userspace WireGuard config (with 3/18 peers) Jul 16 11:15:48 tailscale-06a tailscaled[358894]: [unexpected] magicsock: ParseEndpoint: unknown node key=[xxxxx] Jul 16 11:15:48 tailscale-06a tailscaled[358894]: wg: IPC error -22: failed to set endpoint xxxxx: magicsock: ParseEndpoint: unknown peer "[xxxxx]" Jul 16 11:15:48 tailscale-06a tailscaled[358894]: wgcfg.Reconfig failed: multiple errors: Jul 16 11:15:48 tailscale-06a tailscaled[358894]: IPC error -22: failed to set endpoint xxxxx: magicsock: ParseEndpoint: unknown peer "[xxxxx]" Jul 16 11:15:48 tailscale-06a tailscaled[358894]: ToUAPI: io: read/write on closed pipe Jul 16 11:15:48 tailscale-06a tailscaled[358894]: wgdev.Reconfig: multiple errors: Jul 16 11:15:48 tailscale-06a tailscaled[358894]: IPC error -22: failed to set endpoint xxxxx: magicsock: ParseEndpoint: unknown peer "[xxxxx]" Jul 16 11:15:48 tailscale-06a tailscaled[358894]: ToUAPI: io: read/write on closed pipe Jul 16 11:15:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped) Jul 16 11:15:50 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56013 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:15:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:15:53 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:15:58 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:02 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped) Jul 16 11:16:03 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:06 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56027 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:16:08 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:10 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56037 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:16:10 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:16:13 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:18 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:19 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped) Jul 16 11:16:19 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56057 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:16:19 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:16:23 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:28 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:29 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped) Jul 16 11:16:33 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54888 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:16:33 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:16:33 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:39 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:40 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56091 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:16:40 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:16:43 tailscale-06a tailscaled[358894]: [RATELIMIT] format("[unexpected] got disco ping from %v/%v for node not in peers") (5 dropped) Jul 16 11:16:43 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers Jul 16 11:16:44 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown Jul 16 11:16:44 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:48 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers Jul 16 11:16:48 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown Jul 16 11:16:49 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped) Jul 16 11:16:50 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54906 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:16:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:16:54 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers Jul 16 11:16:54 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown Jul 16 11:16:54 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:16:59 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:000000000000000000000000000000000000 Jul 16 11:16:59 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped) Jul 16 11:16:59 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:04 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers Jul 16 11:17:04 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown Jul 16 11:17:04 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:05 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54916 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:17:09 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54918 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:17:09 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:17:09 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers Jul 16 11:17:09 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown Jul 16 11:17:10 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:14 tailscale-06a tailscaled[358894]: [ Jul 16 11:17:19 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped) Jul 16 11:17:19 tailscale-06a tailscaled[358894]: [unexpected] got disco ping from xxxxx:xxxxx/nodekey:0000000000000000000000000000000000000000000000000000000000000000 for node not in peers Jul 16 11:17:19 tailscale-06a tailscaled[358894]: magicsock: disco: ignoring CallMeMaybe from d:xxxxx; [xxxxx] is unknown Jul 16 11:17:20 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:23 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56141 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:17:23 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:17:24 tailscale-06a tailscaled[358894]: wgengine: Reconfig: configuring userspace WireGuard config (with 3/18 peers) Jul 16 11:17:24 tailscale-06a tailscaled[358894]: [unexpected] endpoint changed from nodekey:0000000000000000000000000000000000000000000000000000000000000000 to nodekey:xxxxx Jul 16 11:17:26 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:30 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56165 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:17:30 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:17:32 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:35 tailscale-06a tailscaled[358894]: magicsock: disco: node [xxxxx] d:xxxxx now using xxxxx:xxxxx mtu=1360 tx=xxxxx Jul 16 11:17:38 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:42 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped) Jul 16 11:17:44 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:46 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56189 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:17:46 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56190 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:17:46 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:17:50 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:17:56 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:18:01 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (3 dropped) Jul 16 11:18:01 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56235 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:18:02 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:18:04 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56241 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:18:08 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:18:33 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56245 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:18:33 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56246 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:18:33 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:18:40 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (4 dropped) Jul 16 11:18:40 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:54994 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:18:40 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:18:51 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped) Jul 16 11:18:51 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55002 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:18:51 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:18:59 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped) Jul 16 11:18:59 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56305 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:18:59 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:19:08 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:09 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped) Jul 16 11:19:13 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55038 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:19:13 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:19:14 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:20 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:22 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56357 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:19:22 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:19:26 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:32 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:37 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:38 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55056 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:19:38 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55057 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:19:38 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:19:42 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:46 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (3 dropped) Jul 16 11:19:46 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55064 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:19:48 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:49 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56363 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:19:50 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:19:53 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:58 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:19:59 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (1 dropped) Jul 16 11:19:59 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56373 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:20:00 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:20:03 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:08 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:09 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped) Jul 16 11:20:13 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:13 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56408 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:20:13 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:20:18 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:20 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.8.189:55096 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:20:20 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:20:24 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:29 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:30 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") (2 dropped) Jul 16 11:20:34 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:34 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56447 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:20:39 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:44 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route Jul 16 11:20:45 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56454 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:20:45 tailscale-06a tailscaled[358894]: Drop: TCP{100.64.7.213:56455 > 100.64.1.134:50054} 52 no rules matched Jul 16 11:20:45 tailscale-06a tailscaled[358894]: [RATELIMIT] format("%s: %s %d %s\n%s") Jul 16 11:20:50 tailscale-06a tailscaled[358894]: magicsock: derp-18 does not know about peer [xxxxx], removing route ```
adam added the bug label 2025-12-29 02:28:03 +01:00
adam closed this issue 2025-12-29 02:28:03 +01:00
Author
Owner

@kradalby commented on GitHub (Sep 10, 2025):

I'm finding this incredibly hard to reproduce, the steps you list are not very helpful and I do not really know where to start to figure out what is happening.
It is unclear if this has something to do with exit nodes, or normal nodes.

Also how many nodes are we talking about? if this is essentially https://github.com/juanfont/headscale/issues/2676, then I would just expect that it is just really far behind.

@kradalby commented on GitHub (Sep 10, 2025): I'm finding this incredibly hard to reproduce, the steps you list are not very helpful and I do not really know where to start to figure out what is happening. It is unclear if this has something to do with exit nodes, or normal nodes. Also how many nodes are we talking about? if this is essentially https://github.com/juanfont/headscale/issues/2676, then I would just expect that it is just really far behind.
Author
Owner

@kradalby commented on GitHub (Sep 12, 2025):

I'm going to close this as most likely caused by #2676, the next release might improve it, but if not, reopen a new issue with as much debug info as possible, (client debug, get all the /debug endpoints and so on).

@kradalby commented on GitHub (Sep 12, 2025): I'm going to close this as most likely caused by #2676, the next release might improve it, but if not, reopen a new issue with as much debug info as possible, (client debug, get all the `/debug` endpoints and so on).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/headscale#1065