Spring til hovedindhold

Opsætningsfil

Se filen config.dist.yml for et fuldstændigt eksempel på en YAML opsætningsfil med kommentarer.

dns

dns-objektet opsætter adfærden for DNS-serveren. Den har flg. egenskaber:

cache

cache-objektet opsætter caching af DNS-forespørgselsresultaterne. Den har flg. egenskaber:

  • 'enabled': Hvorvidt DNS-resultaterne skal cachelagres eller ej.

    Eks.: true

  • size: Den maksimale størrelse af DNS-resultatcachen som menneskelig læsbar datastørrelse. Den skal være større end nul, hvis enabled er true.

    Eks.: 128 MB

  • client_size: Maks. størrelse på DNS-resultatcachen for hver opsat klients adresse eller undernetværk som menneskelig læsbar datastørrelse. Den skal være større end nul, hvis enabled er true.

    Eks.: 4 MB

server

server-objektet opsætter håndteringen af indgående forespørgsler. Den har flg. egenskaber:

  • listen_addresses: Sættet af adresser med porte at lytte på.

    Egenskabseksempel:

    'listen_addresses':
    - address: '127.0.0.1:53'
    - address: '[::1]:53'

bootstrap

bootstrap-objektet opsætter opløsningen af upstream serveradresser. Den har flg. egenskaber:

  • servers: Listen over servere til at opløse værtsnavnene på upstream-servere.

    Egenskabseksempel:

    'servers':
    - address: '8.8.8.8:53'
    - address: '192.168.1.1:53'
  • 'timeout': Timeout for bootstrap DNS-forespørgsler som en menneskelig læsbar varighed.

    Eks.: 2 s

upstream

'upstream'-objektet opsætter den faktiske forespørgselsopløsning. Den har flg. egenskaber:

  • groups: Sættet af upstream-servere med gruppens navn som nøgle. Den har flg. felter:

    • address: Opstrømsserveradresse.

      Eks.: '8.8.8.8:53'

    • match: Listen over kriterier forespørgslen skal matches imod. Hver post kan indeholde flg. egenskaber:

      • question_domain: Domænet eller et suffiks af domænet, som sættet af upstream-servere skal bruges til at opløse.

        Eks.: 'mycompany.local'

      • client: Klientadressen eller et undernet af klientadressen, hvorfra sættet af upstream-servere skal opløse forespørgsler. Den må ikke have betydende bits uden for undernetmasken.

        Eks.: '192.0.2.0/24'

      bemærk

      Egenskaber angivet i en enkelt post kombineres med et logisk AND. Poster kombineres med et logisk OR.

      Egenskabseksempel:

      'match':
      - question_domain: 'mycompany.local'
      client: '192.168.1.0/24'
      - question_domain: 'mycompany.external'
      - client: '1.2.3.4'
    info

    groups skal indeholde mindst én post med navnet default og evt. en post med navnet private, og begge skal ikke have nogen match-egenskab.

    default-gruppen bruges, når ingen match eksisterer blandt de øvrige grupper. private-gruppen vil blive brugt til opløsning af PTR-forespørgsler for de private IP-adresser. Sådanne forespørgsler besvares med NXDOMAIN, hvis ingen private-gruppe er defineret.

  • 'timeout': Timeout for upstream DNS-forespørgsler som en menneskelig læsbar varighed.

    Eks.: 2s

fallback

fallback-objektet opsætter adfærden for DNS-serveren i tilfælde af fejl. Den har flg. egenskaber:

  • servers: Listen over servere til brug ved manglende svar fra den aktuelle upstream.

    Egenskabseksempel:

    'servers':
    - address: 'tls://94.140.14.140'
  • 'timeout': Timeout for fallback DNS-forespørgsler som en menneskelig læsbar varighed.

    Eks.: 2s

debug

debug-objektet opsætter fejlfindingsfunktionerne. Den har flg. egenskaber:

pprof

pprof-objektet opsætter pprof HTTP-rutiner. Den har flg. egenskaber:

  • port: Porten, der skal lyttes til efter fejlfindings HTTP-forespørgsler på localhost.

    Eks.: 6060

  • 'enabled': Hvorvidt fejlretningsprofileringen er aktiveret eller ej.

    Eks.: true

log

"log"-objektet opsætter logningen. Den har flg. egenskaber:

  • output: Det output, hvortil logger skrives.

    bemærk

    Logposter skrevet til systemloggen er i tekstformat (se nedenfor) og bruger systemets tidsstempling.

    Gyldige værdier:

    • syslog betyder, at den platformsspecifikke systemlog bruges, dvs. syslog til Linux og Event Log til Windows.

    • "stdout" for standard outputstrøm.

    • "stdout" for standard fejlstrøm.

    • Absolut sti til logfilen.

    Eks.: /home/user/logs

    Eks.: C:\Users\user\logs.txt

    Eks.: syslog

  • format: Angiver formatet for logposterne.

    Gyldige værdier:

    • standard: Et simpelt format. Eksempel:

      INFO service started prefix=program addr=127.0.0.1:53
    • json: Et struktureret JSON-format. Eksempel:

      {"level":"INFO","msg":"service started","prefix":"program","addr":"127.0.0.1:53"}
    • jsonhybrid: Samme som json, men med et begrænset antal felter. Eksempel:

      {"level":"INFO","msg":"service started, attrs: prefix=program addr=127.0.0.1:53"}
    • text: Et struktureret tekstformat. Eksempel:

      level=INFO msg="service started" prefix=program addr=127.0.0.1:53

    Eks.: default

  • timestamp: Angiver, om et tidsstempel skal medtages i logposterne.

    Eks.: false

  • verbose: Angiver om loggen skal være mere udførlig.

    Eks.: false