Konfigurační soubor
Úplný příklad konfiguračního souboru YAML s komentáři najdete v souboru config.dist.yml.
dns
Objekt dns konfiguruje chování DNS serveru. Vyznačuje se těmito vlastnostmi:
cache
Objekt cache konfiguruje ukládání výsledků DNS dotazů do mezipaměti. Vyznačuje se těmito vlastnostmi:
enabled: Zda se mají výsledky DNS ukládat do mezipaměti.Příklad:
truesize: Maximální velikost mezipaměti výsledků DNS jako velikost dat čitelných pro člověka. Musí být větší než nula, pokud jeenablednastaveno natrue.Příklad:
128 MBclient_size: Maximální velikost mezipaměti výsledků DNS pro každou nakonfigurovanou adresu nebo podsíť klienta jako velikost dat čitelná pro člověka. Musí být větší než nula, pokud jeenablednastaveno natrue.Příklad:
4 MB
server
Objekt server konfiguruje zpracování příchozích požadavků. Vyznačuje se těmito vlastnostmi:
bind_retry: Konfigurace mechanismu opakování pro vazbu na adresy pro naslouchání. To je užitečné, pokud je server spuštěn dříve, než je síť připravena, a adresy ještě nejsou k dispozici, jako je tomu v některých edicích systému Windows při instalaci jako systémová služba.poznámkaTento objekt je k dispozici od v0.0.3.
Vyznačuje se těmito vlastnostmi:
enabled: Zda je povoleno opakování vazby, nebo ne.Příklad:
trueinterval: Interval mezi opakovanými pokusy jako doba trvání čitelná pro člověka.Příklad:
1scount: Maximální počet pokusů po prvním selhání. Pokud je tedycountrovno4, celkový počet pokusů bude pět.Příklad:
4
listen_addresses: Sada adres s porty, na kterých se má naslouchat.Příklad vlastnosti:
'listen_addresses':
- address: '127.0.0.1:53'
- address: '[::1]:53'
bootstrap
Objekt bootstrap konfiguruje překlad adres serverů upstream. Vyznačuje se těmito vlastnostmi:
servers: Seznam serverů pro překlad názvů hostitelů odchozích serverů.Příklad vlastnosti:
'servers':
- address: '8.8.8.8:53'
- address: '192.168.1.1:53'timeout: Časový limit pro spouštěcí požadavky DNS jako doba trvání čitelná pro člověka.Příklad:
2 s
upstream
Objekt upstream konfiguruje skutečné řešení požadavků. Vyznačuje se těmito vlastnostmi:
groups: Sada odchozích serverů s klíčem podle názvu skupiny. Vyznačuje se těmito vlastnostmi:address: Adresa odchozího serveru.Příklad:
'8.8.8.8:53'match: Seznam kritérií, podle kterých se má požadavek porovnat. Každá položka může obsahovat následující vlastnosti:question_domain: Doména nebo přípona domény, kterou má sada odchozích serverů použít k překladu.Příklad:
'mycompany.local'client: Adresa klienta nebo podsíť adresy klienta, ze které má sada odchozích serverů překládat požadavky. Nesmí mít žádné významné bity mimo masku podsítě.Příklad:
'192.0.2.0/24'
poznámkaVlastnosti zadané v rámci jedné položky se kombinují pomocí logického AND. Záznamy se kombinují pomocí logického OR.
Příklad vlastnosti:
'match':
- question_domain: 'mycompany.local'
client: '192.168.1.0/24'
- question_domain: 'mycompany.external'
- client: '1.2.3.4'
informacegroupsby měla obsahovat alespoň jednu položku s názvemdefaulta volitelně jednu položku s názvemprivate, obě by neměly mít vlastnostmatch.Skupina
defaultse použije, pokud mezi ostatními skupinami není žádná shoda. Skupinaprivatebude použita pro překlad požadavků PTR pro privátní IP adresy. Pokud není definována žádná skupinaprivate, budou tyto dotazy zodpovězeny pomocíNXDOMAIN.timeout: Časový limit pro odchozí požadavky DNS jako doba trvání čitelná pro člověka.Příklad:
2s
fallback
Objekt fallback konfiguruje chování DNS serveru v případě selhání. Vyznačuje se těmito vlastnostmi:
servers: Seznam serverů, které se mají použít poté, co aktuální upstream neodpověděl.Příklad vlastnosti:
'servers':
- address: 'tls://94.140.14.140'timeout: Časový limit pro záložní požadavky DNS jako doba trvání čitelná pro člověka.Příklad:
2s
debug
Objekt debug konfiguruje funkce ladění. Vyznačuje se těmito vlastnostmi:
pprof
Objekt pprof konfiguruje obsluhu HTTP pprof. Vyznačuje se těmito vlastnostmi:
port: Port, na kterém budou naslouchat ladicí požadavky HTTP na localhost.Příklad:
6060enabled: Zda je nebo není povoleno ladění profilů.Příklad:
true
log
Objekt log konfiguruje protokolování. Vyznačuje se těmito vlastnostmi:
output: Výstup, na který se zapisují protokoly.poznámkaZáznamy protokolu zapisované do systémového protokolu jsou ve formátu
text(viz níže) a používají systémovou časové razítko.Přípustné hodnoty:
syslogznamená, že se použije systémový protokol specifický pro danou platformu, což je syslog pro Linux a protokol událostí pro Windows.stdoutpro standardní výstupní datový tok.stderrpro standardní chybový datový tok.Absolutní cesta k souboru protokolu.
Příklad:
/home/user/logsPříklad:
C:\Users\user\logs.txtPříklad:
syslogformat: Určuje formát záznamů protokolu.Přípustné hodnoty:
default: Jednoduchý formát. Příklad:INFO service started prefix=program addr=127.0.0.1:53json: Strukturovaný formát JSON. Příklad:{"level":"INFO","msg":"service started","prefix":"program","addr":"127.0.0.1:53"}jsonhybrid: Stejně jakojson, ale s omezeným počtem polí. Příklad:{"level":"INFO","msg":"service started, attrs: prefix=program addr=127.0.0.1:53"}json: Strukturovaný textový formát. Příklad:level=INFO msg="service started" prefix=program addr=127.0.0.1:53
Příklad:
defaulttimestamp: Určuje, zda se má do položek protokolu zahrnout časové razítko.Příklad:
falseverbose: Určuje, zda má být protokol více informativní.Příklad:
false