dns

package
v2.6.1-rc.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 16, 2022 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConnPool added in v2.5.4

type ConnPool struct {
	// contains filtered or unexported fields
}

func NewConnPool added in v2.5.4

func NewConnPool(addr string, poolSize int) (*ConnPool, error)

func (*ConnPool) Close added in v2.5.4

func (cp *ConnPool) Close()

func (*ConnPool) Exchange added in v2.5.4

func (cp *ConnPool) Exchange(ctx context.Context, client *dns.Client, msg *dns.Msg) (r *dns.Msg, rtt time.Duration, err error)

func (*ConnPool) LocalAddrs added in v2.5.4

func (cp *ConnPool) LocalAddrs() []*net.UDPAddr

func (*ConnPool) RemoteAddr added in v2.5.4

func (cp *ConnPool) RemoteAddr() string

type FallbackPool added in v2.5.4

type FallbackPool interface {
	Exchange(context.Context, *dns.Client, *dns.Msg) (*dns.Msg, time.Duration, error)
	RemoteAddr() string
	LocalAddrs() []*net.UDPAddr
}

type Resolver

type Resolver func(ctx context.Context, domain string) ([]net.IP, error)

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server is a DNS server which implements the github.com/miekg/dns Handler interface

func NewServer

func NewServer(config *rpc.DNSConfig, clusterLookup func(context.Context, string) ([][]byte, error)) *Server

NewServer returns a new dns.Server

func (*Server) GetConfig

func (s *Server) GetConfig() *rpc.DNSConfig

func (*Server) RequestCount

func (s *Server) RequestCount() int

RequestCount returns the number of requests that this server has received.

func (*Server) Run

func (s *Server) Run(c context.Context, initDone chan<- struct{}, listeners []net.PacketConn, fallbackPool FallbackPool, resolve Resolver) error

Run starts the DNS server(s) and waits for them to end

func (*Server) ServeDNS

func (s *Server) ServeDNS(w dns.ResponseWriter, r *dns.Msg)

ServeDNS is an implementation of github.com/miekg/dns Handler.ServeDNS.

func (*Server) SetClusterDomainAndDNS

func (s *Server) SetClusterDomainAndDNS(domain string, dnsIP net.IP)

func (*Server) SetSearchPath

func (s *Server) SetSearchPath(ctx context.Context, paths, namespaces []string)

SetSearchPath updates the DNS search path used by the resolver

func (*Server) Worker

func (s *Server) Worker(c context.Context, dev *vif.Device, configureDNS func(net.IP, *net.UDPAddr)) error

Notes

Bugs

  • I have no idea why a lookup for localhost even makes it to here on my home WiFi when connecting to a k3sctl cluster (but not a kubernaut.io cluster). But it does, so I need this in order to be productive at home. We should really root-cause this, because it's weird.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL