描述
遞迴解析器使用已定義的 IP 位址解析網域,或使用已定義的解析器解析其他對應的網域。
語法
recursor {
[external-yaml config-file-path]
[external-json config-file-path]
[verbose 0..2]
zone: zone.name
[resolver non-default {
urls udp://ip-1:port udp://ip-n:port
[timeout_ms 500]
}]
[alias alias-name | * {
[hosts domain-1 domain-n]
[ips ip-1 ip-n]
[resolver_name non-default]
[ttl custom-ttl]
}]
}
recursor
定義
zone
- 遞迴解析器的 DNS 區域verbose
- stdout 記錄層級0
- 最小1
- 中等2
- 詳盡
resolvers
- 其他 DNS 伺服器- map-key/id:解析器的名稱,
default
會覆寫系統預設解析器 urls
:URL 位址清單,範例:udp://127.0.0.1:53
(系統預設以://default
表示)timeout_ms
:解析器連線逾時時間,單位為毫秒
- map-key/id:解析器的名稱,
aliases
- 網域別名- map-key/id:別名的名稱、子網域或
*
(如果您希望遞迴解析器作為 DNS 中繼器) ips
:作為回應一部分傳回的 IP 位址hosts
:要解析的網域,如此獲得的 IP 位址將作為回應的一部分傳回resolver_name
:已定義的解析器參考,預設當然是…default
:)ttl
:DNS 記錄的存活時間(以秒為單位)
- map-key/id:別名的名稱、子網域或
指標
如果已啟用監控(透過 prometheus 指令),則會匯出 以下指標。
健康狀態
此外掛程式會實作動態健康狀態檢查。它總是會回傳健康狀態。
範例
Corefile
recursor {
[external-yaml config-file-path]
[external-json config-file-path]
[verbose 0..2]
zone: demo.svc
resolver dns-c {
urls udp://1.1.1.1:53 udp://1.0.0.1:53
timeout_ms 500
}
resolver dns-g {
urls udp://8.8.8.8:53 udp://8.8.4.4:53
}
resolver demo {
urls udp://10.0.0.1:53
}
alias alias1 {
hosts www.example.org www.example.com
resolver_name dns-c
ttl 11
}
alias alias2 {
ips 10.0.0.1 10.0.0.2
ttl 12
}
alias alias3 {
ips 10.0.0.1 10.0.0.2
hosts www.example.net
resolver_name dns-g
ttl 13
}
alias alias4 {
hosts www.example.net
ttl 14
}
alias * {
resolver_name demo
ttl 15
}
}
外部 YAML
zone: demo.svc
resolvers:
dns-c:
urls: [ udp://1.1.1.1:53, udp://1.0.0.1:53 ]
timeout_ms: 500
dns-g:
urls: [ udp://8.8.8.8:53, udp://8.8.4.4:53 ]
demo:
urls: [ udp://10.0.0.1:53 ]
aliases:
alias1:
hosts: [ www.example.org, www.example.com ]
resolver_name: dns-c
ttl: 11
alias2:
ips: [ 10.0.0.1, 10.0.0.2 ]
ttl: 12
alias3:
ips: [ 10.0.0.1, 10.0.0.2 ]
hosts: [ www.example.net ]
resolver_name: dns-g
ttl: 13
alias4:
hosts: [ www.example.net ]
ttl: 14
"*":
resolver_name: demo
ttl: 15
外部 JSON
{
"zone": "demo.svc",
"resolvers": {
"dns-c": {
"urls": [ "udp://1.1.1.1:53", "udp://1.0.0.1:53" ],
"timeout_ms": 500
},
"dns-g": {
"urls": [ "udp://8.8.8.8:53", "udp://8.8.4.4:53" ]
},
"demo": {
"urls": [ "udp://10.0.0.1:53" ]
}
},
"aliases": {
"alias1": {
"hosts": [ "www.example.org", "www.example.com" ],
"resolver_name": "dns-c",
"ttl": 11
},
"alias2": {
"ips": [ "10.0.0.1", "10.0.0.2" ],
"ttl": 12
},
"alias3": {
"ips": [ "10.0.0.1", "10.0.0.2" ],
"hosts": [ "www.example.net" ],
"resolver_name": "dns-g",
"ttl": 13
},
"alias4": {
"hosts": [ "www.example.net" ],
"ttl": 14
},
"*": {
"resolver_name": "demo",
"ttl": 15
}
}
}
另請參閱
請參閱手冊。