From 672b3bbc923cbd8c928b9489882ca5552cbafc5e Mon Sep 17 00:00:00 2001 From: Fernando Serboncini Date: Wed, 7 Jan 2026 13:32:54 -0500 Subject: [PATCH] net/dns: skip DNS base config when using userspace networking When tailscaled gets started with userspace networking, it won't modify your system's network configuration. For this, it creates a noopManager for DNS management. noopManager correctly observes that there's no real OS DNS to send queries to. This leads to we completely dropping any DNS internal resolution from `dns query` This change alters this so that even without a base config we'll still allow the internal resolver to handle internal DNS queries Fixes #18354 Signed-off-by: Fernando Serboncini --- net/dns/manager.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/dns/manager.go b/net/dns/manager.go index 4441c4f69..c6c884921 100644 --- a/net/dns/manager.go +++ b/net/dns/manager.go @@ -388,9 +388,9 @@ func (m *Manager) compileConfig(cfg Config) (rcfg resolver.Config, ocfg OSConfig cfg, err := m.os.GetBaseConfig() if err == nil { baseCfg = &cfg - } else if isApple && err == ErrGetBaseConfigNotSupported { - // This is currently (2022-10-13) expected on certain iOS and macOS - // builds. + } else if err == ErrGetBaseConfigNotSupported { + // Expected when using noopManager (userspace networking) or on + // certain iOS/macOS builds. Continue without base config. } else { m.health.SetUnhealthy(osConfigurationReadWarnable, health.Args{health.ArgError: err.Error()}) return resolver.Config{}, OSConfig{}, err