Opsætningsfil
See file config.dist.yml for a full example of a YAML configuration file with comments.
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, hvisenabledertrue.Eksempel:
128MB -
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, hvisenabledertrue.Eksempel:
4MB
server
server-objektet opsætter håndteringen af indgående forespørgsler. Den har flg. egenskaber:
-
bind_retry: Opsætningen af genforsøgs-mekanismen for knytning til lytteadresserne. Dette er nyttigt, hvis serveren startes, før netværket er klar, og adresserne endnu ikke er tilgængelige, som på visse Windows-versioner når installeret som en systemtjeneste.bemærkDette objekt tilgængeligt siden v0.0.3.
Den har flg. egenskaber:
-
enabled: Om tilknytnings-genforsøg er aktiveret eller ej.Eks.:
true -
interval: Intervallet mellem gentagelser som en menneskelig læsbar varighed.Eks.:
1s -
count: Det maksimale antal forsøg efter første fejlslagne forsøg. Dvs., såfremtcounter4, udgør det samlede antal forsøg fem.Eks.:
4
-
-
listen_addresses: Sættet af adresser med porte at lytte på.Egenskabseksempel:
'listen_addresses':- address: '127.0.0.1:53'- address: '[::1]:53' -
pending_requests: Opsætning til håndtering af samtidige dubletforespørgsler, som anvendes til at afbøde cache poisoning-angreb.bemærkDette objekt tilgængeligt siden v0.0.4.
-
enabled: Hvis sandt, vil serveren kun udføre en enkelt forespørgsel for hvert unikt spørgsmål. Standard er sand.Eks.:
true
-
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.
Eksempel:
2s
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. egenskaber:-
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ærkEgenskaber 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' -
infogroupsskal indeholde mindst én post med navnetdefaultog evt. en post med navnetprivate, og begge skal ikke have nogenmatch-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 medNXDOMAIN, hvis ingenprivate-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ærkLogposter skrevet til systemloggen er i tekstformat (se nedenfor) og bruger systemets tidsstempling.
Gyldige værdier:
-
syslogbetyder, 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/logsEks.:
C:\Users\user\logs.txtEks.:
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 somjson, 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