From 6124e3b93789b37b877e2132eac55b117da28fc0 Mon Sep 17 00:00:00 2001 From: Viktor Liu <17948409+lixmal@users.noreply.github.com> Date: Fri, 28 Mar 2025 11:14:32 +0100 Subject: [PATCH] [client] Disable systemd-resolved default route explicitly on match domains only (#3584) --- client/internal/dns/systemd_linux.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/client/internal/dns/systemd_linux.go b/client/internal/dns/systemd_linux.go index a87cc73e5..db1418ef1 100644 --- a/client/internal/dns/systemd_linux.go +++ b/client/internal/dns/systemd_linux.go @@ -38,7 +38,6 @@ const ( type systemdDbusConfigurator struct { dbusLinkObject dbus.ObjectPath - routingAll bool ifaceName string } @@ -124,18 +123,19 @@ func (s *systemdDbusConfigurator) applyDNSConfig(config HostDNSConfig, stateMana } if config.RouteAll { - log.Infof("configured %s:%d as main DNS forwarder for this peer", config.ServerIP, config.ServerPort) err = s.callLinkMethod(systemdDbusSetDefaultRouteMethodSuffix, true) if err != nil { - return fmt.Errorf("setting link as default dns router, failed with error: %w", err) + return fmt.Errorf("set link as default dns router: %w", err) } domainsInput = append(domainsInput, systemdDbusLinkDomainsInput{ Domain: nbdns.RootZone, MatchOnly: true, }) - s.routingAll = true - } else if s.routingAll { - log.Infof("removing %s:%d as main DNS forwarder for this peer", config.ServerIP, config.ServerPort) + log.Infof("configured %s:%d as main DNS forwarder for this peer", config.ServerIP, config.ServerPort) + } else { + if err = s.callLinkMethod(systemdDbusSetDefaultRouteMethodSuffix, false); err != nil { + return fmt.Errorf("remove link as default dns router: %w", err) + } } state := &ShutdownState{