mirror of
https://github.com/netbirdio/netbird.git
synced 2025-06-19 17:31:39 +02:00
Remove host manager restriction
This commit is contained in:
parent
2be6447959
commit
effaf6971b
@ -43,22 +43,9 @@ func (f *fileConfigurator) supportCustomPort() bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (f *fileConfigurator) applyDNSConfig(config HostDNSConfig, stateManager *statemanager.Manager) error {
|
func (f *fileConfigurator) applyDNSConfig(config HostDNSConfig, stateManager *statemanager.Manager) error {
|
||||||
backupFileExist := f.isBackupFileExist()
|
if !f.isBackupFileExist() {
|
||||||
if !config.RouteAll {
|
if err := f.backup(); err != nil {
|
||||||
if backupFileExist {
|
return fmt.Errorf("backup resolv.conf: %w", err)
|
||||||
f.repair.stopWatchFileChanges()
|
|
||||||
err := f.restore()
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("restoring the original resolv.conf file return err: %w", err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ErrRouteAllWithoutNameserverGroup
|
|
||||||
}
|
|
||||||
|
|
||||||
if !backupFileExist {
|
|
||||||
err := f.backup()
|
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("unable to backup the resolv.conf file: %w", err)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,8 +11,6 @@ import (
|
|||||||
nbdns "github.com/netbirdio/netbird/dns"
|
nbdns "github.com/netbirdio/netbird/dns"
|
||||||
)
|
)
|
||||||
|
|
||||||
var ErrRouteAllWithoutNameserverGroup = fmt.Errorf("unable to configure DNS for this peer using file manager without a nameserver group with all domains configured")
|
|
||||||
|
|
||||||
const (
|
const (
|
||||||
ipv4ReverseZone = ".in-addr.arpa."
|
ipv4ReverseZone = ".in-addr.arpa."
|
||||||
ipv6ReverseZone = ".ip6.arpa."
|
ipv6ReverseZone = ".ip6.arpa."
|
||||||
|
@ -85,15 +85,6 @@ func (r *resolvconf) supportCustomPort() bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (r *resolvconf) applyDNSConfig(config HostDNSConfig, stateManager *statemanager.Manager) error {
|
func (r *resolvconf) applyDNSConfig(config HostDNSConfig, stateManager *statemanager.Manager) error {
|
||||||
var err error
|
|
||||||
if !config.RouteAll {
|
|
||||||
err = r.restoreHostDNS()
|
|
||||||
if err != nil {
|
|
||||||
log.Errorf("restore host dns: %s", err)
|
|
||||||
}
|
|
||||||
return ErrRouteAllWithoutNameserverGroup
|
|
||||||
}
|
|
||||||
|
|
||||||
searchDomainList := searchDomains(config)
|
searchDomainList := searchDomains(config)
|
||||||
searchDomainList = mergeSearchDomains(searchDomainList, r.originalSearchDomains)
|
searchDomainList = mergeSearchDomains(searchDomainList, r.originalSearchDomains)
|
||||||
|
|
||||||
@ -111,8 +102,7 @@ func (r *resolvconf) applyDNSConfig(config HostDNSConfig, stateManager *stateman
|
|||||||
log.Errorf("failed to update shutdown state: %s", err)
|
log.Errorf("failed to update shutdown state: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = r.applyConfig(buf)
|
if err := r.applyConfig(buf); err != nil {
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("apply config: %w", err)
|
return fmt.Errorf("apply config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@ package dns
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/netip"
|
"net/netip"
|
||||||
"runtime"
|
"runtime"
|
||||||
@ -20,7 +19,6 @@ import (
|
|||||||
"github.com/netbirdio/netbird/client/internal/listener"
|
"github.com/netbirdio/netbird/client/internal/listener"
|
||||||
"github.com/netbirdio/netbird/client/internal/peer"
|
"github.com/netbirdio/netbird/client/internal/peer"
|
||||||
"github.com/netbirdio/netbird/client/internal/statemanager"
|
"github.com/netbirdio/netbird/client/internal/statemanager"
|
||||||
cProto "github.com/netbirdio/netbird/client/proto"
|
|
||||||
nbdns "github.com/netbirdio/netbird/dns"
|
nbdns "github.com/netbirdio/netbird/dns"
|
||||||
"github.com/netbirdio/netbird/management/domain"
|
"github.com/netbirdio/netbird/management/domain"
|
||||||
)
|
)
|
||||||
@ -502,7 +500,6 @@ func (s *DefaultServer) applyHostConfig() {
|
|||||||
|
|
||||||
if err := s.hostManager.applyDNSConfig(config, s.stateManager); err != nil {
|
if err := s.hostManager.applyDNSConfig(config, s.stateManager); err != nil {
|
||||||
log.Errorf("failed to apply DNS host manager update: %v", err)
|
log.Errorf("failed to apply DNS host manager update: %v", err)
|
||||||
s.handleErrNoGroupaAll(err)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
s.registerFallback()
|
s.registerFallback()
|
||||||
@ -550,23 +547,6 @@ func (s *DefaultServer) registerFallback() {
|
|||||||
s.registerHandler([]string{nbdns.RootZone}, handler, PriorityFallback)
|
s.registerHandler([]string{nbdns.RootZone}, handler, PriorityFallback)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *DefaultServer) handleErrNoGroupaAll(err error) {
|
|
||||||
if !errors.Is(ErrRouteAllWithoutNameserverGroup, err) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if s.statusRecorder == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
s.statusRecorder.PublishEvent(
|
|
||||||
cProto.SystemEvent_WARNING, cProto.SystemEvent_DNS,
|
|
||||||
"The host dns manager does not support match domains",
|
|
||||||
"The host dns manager does not support match domains without a catch-all nameserver group.",
|
|
||||||
map[string]string{"manager": s.hostManager.string()},
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *DefaultServer) buildLocalHandlerUpdate(customZones []nbdns.CustomZone) ([]handlerWrapper, []nbdns.SimpleRecord, error) {
|
func (s *DefaultServer) buildLocalHandlerUpdate(customZones []nbdns.CustomZone) ([]handlerWrapper, []nbdns.SimpleRecord, error) {
|
||||||
var muxUpdates []handlerWrapper
|
var muxUpdates []handlerWrapper
|
||||||
var localRecords []nbdns.SimpleRecord
|
var localRecords []nbdns.SimpleRecord
|
||||||
|
Loading…
x
Reference in New Issue
Block a user