mirror of
https://github.com/juanfont/headscale.git
synced 2026-01-12 04:10:32 +01:00
[Bug] Clients still contact log.tailscale.com when connected to headscale unless TS_NO_LOGS_NO_SUPPORT=true #1110
Closed
opened 2025-12-29 02:28:19 +01:00 by adam
·
8 comments
No Branch/Tag Specified
main
update_flake_lock_action
gh-pages
kradalby/release-v0.27.2
dependabot/go_modules/golang.org/x/crypto-0.45.0
dependabot/go_modules/github.com/opencontainers/runc-1.3.3
copilot/investigate-headscale-issue-2788
copilot/investigate-visibility-issue-2788
copilot/investigate-issue-2833
copilot/debug-issue-2846
copilot/fix-issue-2847
dependabot/go_modules/github.com/go-viper/mapstructure/v2-2.4.0
dependabot/go_modules/github.com/docker/docker-28.3.3incompatible
kradalby/cli-experiement3
doc/0.26.1
doc/0.25.1
doc/0.25.0
doc/0.24.3
doc/0.24.2
doc/0.24.1
doc/0.24.0
kradalby/build-docker-on-pr
topic/docu-versioning
topic/docker-kos
juanfont/fix-crash-node-id
juanfont/better-disclaimer
update-contributors
topic/prettier
revert-1893-add-test-stage-to-docs
add-test-stage-to-docs
remove-node-check-interval
fix-empty-prefix
fix-ephemeral-reusable
bug_report-debuginfo
autogroups
logs-to-stderr
revert-1414-topic/fix_unix_socket
rename-machine-node
port-embedded-derp-tests-v2
port-derp-tests
duplicate-word-linter
update-tailscale-1.36
warn-against-apache
ko-fi-link
more-acl-tests
fix-typo-standalone
parallel-nolint
tparallel-fix
rerouting
ssh-changelog-docs
oidc-cleanup
web-auth-flow-tests
kradalby-gh-runner
fix-proto-lint
remove-funding-links
go-1.19
enable-1.30-in-tests
0.16.x
cosmetic-changes-integration
tmp-fix-integration-docker
fix-integration-docker
configurable-update-interval
show-nodes-online
hs2021
acl-syntax-fixes
ts2021-implementation
fix-spurious-updates
unstable-integration-tests
mandatory-stun
embedded-derp
prtemplate-fix
v0.28.0-beta.1
v0.27.2-rc.1
v0.27.1
v0.27.0
v0.27.0-beta.2
v0.27.0-beta.1
v0.26.1
v0.26.0
v0.26.0-beta.2
v0.26.0-beta.1
v0.25.1
v0.25.0
v0.25.0-beta.2
v0.24.3
v0.25.0-beta.1
v0.24.2
v0.24.1
v0.24.0
v0.24.0-beta.2
v0.24.0-beta.1
v0.23.0
v0.23.0-rc.1
v0.23.0-beta.5
v0.23.0-beta.4
v0.23.0-beta3
v0.23.0-beta2
v0.23.0-beta1
v0.23.0-alpha12
v0.23.0-alpha11
v0.23.0-alpha10
v0.23.0-alpha9
v0.23.0-alpha8
v0.23.0-alpha7
v0.23.0-alpha6
v0.23.0-alpha5
v0.23.0-alpha4
v0.23.0-alpha4-docker-ko-test9
v0.23.0-alpha4-docker-ko-test8
v0.23.0-alpha4-docker-ko-test7
v0.23.0-alpha4-docker-ko-test6
v0.23.0-alpha4-docker-ko-test5
v0.23.0-alpha-docker-release-test-debug2
v0.23.0-alpha-docker-release-test-debug
v0.23.0-alpha4-docker-ko-test4
v0.23.0-alpha4-docker-ko-test3
v0.23.0-alpha4-docker-ko-test2
v0.23.0-alpha4-docker-ko-test
v0.23.0-alpha3
v0.23.0-alpha2
v0.23.0-alpha1
v0.22.3
v0.22.2
v0.23.0-alpha-docker-release-test
v0.22.1
v0.22.0
v0.22.0-alpha3
v0.22.0-alpha2
v0.22.0-alpha1
v0.22.0-nfpmtest
v0.21.0
v0.20.0
v0.19.0
v0.19.0-beta2
v0.19.0-beta1
v0.18.0
v0.18.0-beta4
v0.18.0-beta3
v0.18.0-beta2
v0.18.0-beta1
v0.17.1
v0.17.0
v0.17.0-beta5
v0.17.0-beta4
v0.17.0-beta3
v0.17.0-beta2
v0.17.0-beta1
v0.17.0-alpha4
v0.17.0-alpha3
v0.17.0-alpha2
v0.17.0-alpha1
v0.16.4
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.16.0-beta7
v0.16.0-beta6
v0.16.0-beta5
v0.16.0-beta4
v0.16.0-beta3
v0.16.0-beta2
v0.16.0-beta1
v0.15.0
v0.15.0-beta6
v0.15.0-beta5
v0.15.0-beta4
v0.15.0-beta3
v0.15.0-beta2
v0.15.0-beta1
v0.14.0
v0.14.0-beta2
v0.14.0-beta1
v0.13.0
v0.13.0-beta3
v0.13.0-beta2
v0.13.0-beta1
upstream/v0.12.4
v0.12.4
v0.12.3
v0.12.2
v0.12.2-beta1
v0.12.1
v0.12.0-beta2
v0.12.0-beta1
v0.11.0
v0.10.8
v0.10.7
v0.10.6
v0.10.5
v0.10.4
v0.10.3
v0.10.2
v0.10.1
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.1
v0.8.0
v0.7.1
v0.7.0
v0.6.1
v0.6.0
v0.5.2
v0.5.1
v0.5.0
v0.4.0
v0.3.6
v0.3.5
v0.3.4
v0.3.3
v0.3.2
v0.3.1
v0.3.0
v0.2.2
v0.2.1
v0.2.0
v0.1.1
v0.1.0
Labels
Clear labels
CLI
DERP
DNS
Nix
OIDC
SSH
bug
database
documentation
duplicate
enhancement
faq
good first issue
grants
help wanted
might-come
needs design doc
needs investigation
no-stale-bot
out of scope
performance
policy 📝
pull-request
question
regression
routes
stale
tags
tailscale-feature-gap
well described ❤️
wontfix
Mirrored from GitHub Pull Request
No Label
bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/headscale#1110
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @word5355 on GitHub (Oct 13, 2025).
Is this a support request?
Is there an existing issue for this?
Current Behavior
When headscale is configured with logtail disabled in config.yaml, Tailscale clients still attempt to contact log.tailscale.com (DNS and HTTP).
Clients only stop contacting log.tailscale.com and log the message
You have disabled logging. Tailscale will not be able to provide support.whenTS_NO_LOGS_NO_SUPPORT=trueis set.Tailscale client is making DNS queries for log.tailscale.com and then attempting an HTTPS connection to the resolved IP (ec2-54-161-152-147.compute-1.amazonaws.com / 54.161.152.147).
Expected Behavior
Clients connected to a headscale server with logtail disabled should not attempt to contact log.tailscale.com.
Steps To Reproduce
TS_NO_LOGS_NO_SUPPORT=trueon the client and restart the client.You have disabled logging. Tailscale will not be able to provide support.and requests to log.tailscale.com stop.Environment
Runtime environment
Debug information
Happy to provide logs or captures if needed.
Note:
This issue appears related to #835 but is not identical: it focuses only on DNS queries to log.tailscale.com.
This issue covers the broader behavior where the client attempts to contact log.tailscale.com (not just DNS) and only respects TS_NO_LOGS_NO_SUPPORT when it is explicitly set to true. For this reason I'm opening a separate issue.
@kradalby commented on GitHub (Oct 15, 2025):
I think there is a misunderstanding that
TS_NO_LOGS_NO_SUPPORTand thelogtail.enabledoption does the same. By this I mean both from our side, and the users (as we have written the wrong documentation in the config example).As we cant really do anything about this, I propose we document that the option to disable telemetry is
TS_NO_LOGS_NO_SUPPORTand that the internal flag is not completely covering.logtail.enabledis also problematic for users using both headscale and tailscale with user switching, if the tailscale network requires logging, it will prevent the user from switching between the headscale and tailscale network.wdyt @nblock?
@word5355 commented on GitHub (Oct 15, 2025):
Thanks for the comment.
I'm not sure exactly, but from their statement, my understanding was that the option can disable logging and analytics (including on mobile apps)...
https://github.com/tailscale/tailscale/issues/7281#issuecomment-1430437613
https://github.com/tailscale/tailscale/pull/4437#issue-1207435654
@kradalby commented on GitHub (Oct 15, 2025):
I think the challenge is how early it can do it, when the client starts, it might not know that setting, while if you pass the env var, its there from the beginning. The recommendation should be to use
TS_NO_LOGS_NO_SUPPORTif they are concerned about this.@word5355 commented on GitHub (Oct 16, 2025):
I see.
Could this be considered a bug in the Tailscale client?
If the
logtail.enabledoption does not disable logging, this contradicts their statement that logs can be disabled by disabling logtail in Headscale.https://github.com/tailscale/tailscale/issues/7281#issuecomment-1430437613
Or maybe I just misunderstand their statement.
@kradalby commented on GitHub (Oct 16, 2025):
I think the way you would do this on mobile applications would be via MDM configuration, that is likely the way to set such options early enough to stop things from being configured.
I would not say it is. It becomes a chicken and egg problem, there might be things that would be necessary to log early in the startup process, before the client reaches the control server and since we disable this from the control server, it cant be turned off early enough.
The way I would look at it is that the clients are first and foremost designed to provide debugging opportunities for engineers working on them, and not for "us".
From the linked issue:
The information that might be logged, and particularly before the connection to the server should not be of any concern.
@nblock commented on GitHub (Oct 16, 2025):
Have you checked if the client sends logs to log.tailscale.com after it established a connection with Headscale or does establish a connection on startup and stops sending logs as soon as it receives its configuration from Headscale.
@word5355 commented on GitHub (Oct 16, 2025):
@kradalby
I agree. It's common and necessary for client software to have such features built-in.
However, there are people like me who prefer not to rely on external servers and want to minimize that dependency.
I believe that aligns with the design goal of headscale as well.
@nblock
Yes, it seems to be continuously attempting to connect to the log server, even though a connection to Headscale has been established and it is successfully connected to a remote node.
@kradalby commented on GitHub (Oct 16, 2025):
This is fair, but it does not rely on it, if you block them, you will still be fine.