diff --git a/client/internal/dns/server.go b/client/internal/dns/server.go index d122b6b92..908200b8d 100644 --- a/client/internal/dns/server.go +++ b/client/internal/dns/server.go @@ -302,6 +302,11 @@ func (s *DefaultServer) Stop() { s.ctxCancel() if s.hostManager != nil { + if srvs, ok := s.hostManager.(hostManagerWithOriginalNS); ok && len(srvs.getOriginalNameservers()) > 0 { + log.Debugf("deregistering original nameservers as fallback handlers") + s.deregisterHandler([]string{nbdns.RootZone}, PriorityFallback) + } + if err := s.hostManager.restoreHostDNS(); err != nil { log.Error("failed to restore host DNS settings: ", err) } else if err := s.stateManager.DeleteState(&ShutdownState{}); err != nil { @@ -309,10 +314,6 @@ func (s *DefaultServer) Stop() { } } - if srvs, ok := s.hostManager.(hostManagerWithOriginalNS); ok && len(srvs.getOriginalNameservers()) > 0 { - s.deregisterHandler([]string{nbdns.RootZone}, PriorityFallback) - } - s.service.Stop() maps.Clear(s.extraDomains)