Tailscale client logout with OIDC reconnect does not work (Linux and iOS clients) #621

Closed
opened 2025-12-29 02:21:16 +01:00 by adam · 0 comments
Owner

Originally created by @felixn-unity on GitHub (Jan 30, 2024).

Bug description

When doing Tailscale logout reconnect does not work. It only works when node has been deleted and a fresh Tailscale login

Environment

No docker og reverse-proxy

Headscale running native on debian installed with headscale_0.23.0-alpha3_linux_amd64.deb

Tailscale 1.58.2 on Ubuntu 22.04 (go version: go1.21.5)
Tailscale 1.58.2 on iOS 17.2.1 iPone 13

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

To Reproduce

7 | parsec-sto-p01 | parsec-sto-p01 | [eH3Gg] | [2X1w2] | smilla | 100.64.0.1, fd7a:115c:a1e0::1 | false | 2024-01-30 08:41:21 | 2024-02-04 07:48:16 | online | no

tailscale logout

7 | parsec-sto-p01 | parsec-sto-p01 | [eH3Gg] | [2X1w2] | smilla | 100.64.0.1, fd7a:115c:a1e0::1 | false | 2024-01-30 08:42:36 | 2024-01-30 08:42:36 | offline | yes

(journalctl -f -u headscale.service | grep parsec)

Jan 30 08:42:36 headscale headscale[26922]: 2024-01-30T08:42:36Z INF ../../../home/runner/work/headscale/headscale/hscontrol/poll.go:32 > The client has closed the connection node=parsec-sto-p01 node_key=[2X1w2] omitPeers=false readOnly=false stream=true
Jan 30 08:42:36 headscale headscale[26922]: 2024-01-30T08:42:36Z INF Client requested logout node=parsec-sto-p01
Jan 30 08:42:36 headscale headscale[26922]: 2024-01-30T08:42:36Z INF ../../../home/runner/work/headscale/headscale/hscontrol/auth.go:556 > Successfully logged out node=parsec-sto-p01
Jan 30 08:42:40 headscale headscale[26922]: 2024-01-30T08:42:40Z ERR 🤮 Cannot expire node error="invalid value, should be pointer to struct or slice" name=parsec-sto-p01 node=parsec-sto-p01

systemctl restart tailscaled.service && tailscale up --login-server https://headscale.xxxxx.yy --reset --force-reauth

After OIDC login, Tailscale client just hangs and no logs with node name...

7 | parsec-sto-p01 | parsec-sto-p01 | [eH3Gg] | [2X1w2] | smilla | 100.64.0.1, fd7a:115c:a1e0::1 | false | 2024-01-30 08:42:36 | 2024-02-04 08:43:56 | offline | no

headscale node delete -i 7 --force

systemctl restart tailscaled.service && tailscale up --login-server https://headscale.xxxxx.yy --reset --force-reauth

Connecte and back online

7 | parsec-sto-p01 | parsec-sto-p01 | [eH3Gg] | [pdxcn] | smilla | 100.64.0.1, fd7a:115c:a1e0::1 | false | 2024-01-30 08:45:44 | 2024-02-04 08:45:44 | online | no

Originally created by @felixn-unity on GitHub (Jan 30, 2024). ## Bug description When doing Tailscale logout reconnect does not work. It only works when node has been deleted and a fresh Tailscale login ## Environment No docker og reverse-proxy Headscale running native on debian installed with headscale_0.23.0-alpha3_linux_amd64.deb Tailscale 1.58.2 on Ubuntu 22.04 (go version: go1.21.5) Tailscale 1.58.2 on iOS 17.2.1 iPone 13 - [ ] Headscale is behind a (reverse) proxy - [ ] Headscale runs in a container ## To Reproduce 7 | parsec-sto-p01 | parsec-sto-p01 | [eH3Gg] | [2X1w2] | smilla | 100.64.0.1, fd7a:115c:a1e0::1 | false | 2024-01-30 08:41:21 | 2024-02-04 07:48:16 | online | no tailscale logout 7 | parsec-sto-p01 | parsec-sto-p01 | [eH3Gg] | [2X1w2] | smilla | 100.64.0.1, fd7a:115c:a1e0::1 | false | 2024-01-30 08:42:36 | 2024-01-30 08:42:36 | offline | yes (journalctl -f -u headscale.service | grep parsec) Jan 30 08:42:36 headscale headscale[26922]: 2024-01-30T08:42:36Z INF ../../../home/runner/work/headscale/headscale/hscontrol/poll.go:32 > The client has closed the connection node=parsec-sto-p01 node_key=[2X1w2] omitPeers=false readOnly=false stream=true Jan 30 08:42:36 headscale headscale[26922]: 2024-01-30T08:42:36Z INF Client requested logout node=parsec-sto-p01 Jan 30 08:42:36 headscale headscale[26922]: 2024-01-30T08:42:36Z INF ../../../home/runner/work/headscale/headscale/hscontrol/auth.go:556 > Successfully logged out node=parsec-sto-p01 **Jan 30 08:42:40 headscale headscale[26922]: 2024-01-30T08:42:40Z ERR 🤮 Cannot expire node error="invalid value, should be pointer to struct or slice" name=parsec-sto-p01 node=parsec-sto-p01** systemctl restart tailscaled.service && tailscale up --login-server https://headscale.xxxxx.yy --reset --force-reauth After OIDC login, Tailscale client just hangs and no logs with node name... 7 | parsec-sto-p01 | parsec-sto-p01 | [eH3Gg] | [2X1w2] | smilla | 100.64.0.1, fd7a:115c:a1e0::1 | false | 2024-01-30 08:42:36 | 2024-02-04 08:43:56 | offline | **no** headscale node delete -i 7 --force systemctl restart tailscaled.service && tailscale up --login-server https://headscale.xxxxx.yy --reset --force-reauth Connecte and back online 7 | parsec-sto-p01 | parsec-sto-p01 | [eH3Gg] | [pdxcn] | smilla | 100.64.0.1, fd7a:115c:a1e0::1 | false | 2024-01-30 08:45:44 | 2024-02-04 08:45:44 | online | no
adam added the bug label 2025-12-29 02:21:16 +01:00
adam closed this issue 2025-12-29 02:21:16 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/headscale#621