Documentation
¶
Index ¶
- Variables
- func ClearEgressDomainPatterns()
- func Configure() error
- func Init() error
- func LookupHostViaPublicDNS(name string) ([]net.IP, error)
- func MatchesEgressDomain(name string) bool
- func NormalizeEgressLookupDomain(domain string) (string, error)
- func ResolveEgressQuery(r *dns.Msg) (*dns.Msg, error)
- func SyncDNS(network string, dnsEntries []models.DNSEntry) error
- func SyncEgressDomainPatterns(domains []models.EgressDomain)
- type DNSResolver
- type DNSServer
Constants ¶
This section is empty.
Variables ¶
var ( ErrNXDomain = errors.New("non existent domain") ErrNoQTypeRecord = errors.New("domain exists but no record matching the question type") )
Functions ¶
func ClearEgressDomainPatterns ¶ added in v1.6.0
func ClearEgressDomainPatterns()
ClearEgressDomainPatterns removes egress-domain public DNS overrides.
func LookupHostViaPublicDNS ¶ added in v1.6.0
LookupHostViaPublicDNS resolves a hostname using configured egress DNS nameservers. It falls back to public resolvers (8.8.8.8, then 1.1.1.1) when no nameserver matches. It stops at the first resolver that returns addresses.
func MatchesEgressDomain ¶ added in v1.6.0
MatchesEgressDomain reports whether name should be resolved via public DNS instead of local Netmaker records.
func NormalizeEgressLookupDomain ¶ added in v1.6.0
NormalizeEgressLookupDomain strips a leading "*." used in egress domain policy names.
func ResolveEgressQuery ¶ added in v1.6.0
ResolveEgressQuery forwards a DNS query to egress nameservers when the name is an egress domain.
func SyncEgressDomainPatterns ¶ added in v1.6.0
func SyncEgressDomainPatterns(domains []models.EgressDomain)
SyncEgressDomainPatterns updates the list of domain patterns answered via public DNS.
Types ¶
type DNSResolver ¶
type DNSResolver struct {
DnsEntriesCacheStore map[string]dns.RR
DnsEntriesCacheMap map[string][]dnsRecord
}
var DnsResolver *DNSResolver
func (*DNSResolver) RegisterA ¶
func (d *DNSResolver) RegisterA(record dnsRecord) error
Register A record
func (*DNSResolver) RegisterAAAA ¶
func (d *DNSResolver) RegisterAAAA(record dnsRecord) error
Register AAAA record