CoreDNS配置文件解析

Coredns配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
.:54 {
logger {
level INFO
processname pfdns
}


proxy . /etc/resolv.conf
}


# all other domains are subject to interception
:53 {
logger {
level INFO
processname pfdns
}

pfdns {
}
# Anything not handled by pfdns will be resolved normally

# Default to system resolv.conf file
proxy . /etc/resolv.conf
log stdout
errors
}

resolv.conf文件解析

resolv.conf包含以下两个关键词:search 和 nameserver
nameserver后指定dns服务器ip,如8.8.8.8为google的dns服务器。
而search 则指定域名参数,当访问的域名参数无法被DNS解析时,resolver会在该域加上search参数,重新发送DNS请求,直到被正确解析或遍历完search中的列表。

例一:

1
2
3
4
5
6
7
[root@A hikari]# cat /etc/resolv.conf 
# Generated by NetworkManager
search localdomain
nameserver 8.8.8.8

root@A hikari]# ping news
ping: news: Name or service not known

例二:

1
2
3
4
5
6
7
[root@A hikari]# cat /etc/resolv.conf 
# Generated by NetworkManager
search google.com localdomain
nameserver 8.8.8.8

[root@A hikari]# ping news
PING news.google.com (172.217.24.14) 56(84) bytes of data.