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, 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: The configuration of the retry mechanism for binding to the listen addresses. 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:-
adresse: Adressen på upstream-serveren. Erautodevice.enabledsat tiltruefor denne gruppe, skal adressen være en URL med et af skemaernehttps,tlsellerquic.Eks.:
'8.8.8.8:53' -
autodevice: Repræsenterer en automatisk forbindelse til en enhed.bemærkAutodevice-indstillingen må kun bruges til AdGuard DNS-upstreams. Ellers kan vi ikke garantere korrekt funktion.
Den har flg. egenskaber:
-
enabled: Definerer om alle klienter i den aktuelle gruppe kan forbindes automatisk.infoDen prædefinerede gruppe
privateskal haveenabledsat til false, da den endnu ikke understøtter autodevice. -
profile_id: ID for en profil, hvor nye enheder vil blive tilføjet. -
device_type: En enhedstype oprettet til nye klienter.
Egenskabseksempel:
'autodevice':- enabled: true- profile_id: 'defa5678'- device_type: 'lnx' -
-
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. Gruppenprivatebruges også til at definere HumanID for klienter oprettet af funktionenautodevice. Hvis den ikke er defineret, anvendes en alternativ genereringsmetode, hvor HumanID'et dannes ud fra IP-adressen.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.Eksempel:
false -
verbose: Angiver om loggen skal være mere udførlig.Eksempel:
false