Linux之DNS篇
DNS简介
- DNS是Domain Name System的缩写,中文名为“域名系统”。在互联网中起着非常重要的作用。
- 它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。自从有了DNS我们去访问网站时就不会去记哪些晦涩的IP,就像现在我们访问百度一般都是输入或者直接搜索百度,应该没有人会通过百度的IP地址去访问吧!
- DNS使用的UDP的53端口号,当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
- DNS是工作在应用层的一个协议,用来管理域名和IP地址的映射关系的。
DNS域名解析
域名解析概述
域名解析就像我们初次去拜访一个人一样,我们要知道人家的门派号,然后根据地址去寻找。在Internet上只知道某台机器的域名还是不够的,还要有办法去找那台机器。寻找这台机器的任务由网上一种被称为域名服务器的设备来完成的,而完成这一任务的过程就称为域名解析。
域名解析过程
当一台机器a向其域名服务器A发出域名解析请求时,如果A可以解析,则将解析结果发给a,否则,,A将向其上级域名服务器B发出解析请求,如果B能解析,则将解析结果发给a,如果B无法解析,则将请求发个再上一级域名服务器C,如此下去,直至解析到为止。
DNS的工作过程
- 为了解析一个域名(),应用程序会调用域名解析库函数,并将域名作为参数传入其中。
此解析库函数会提取本机所设置的上连DNS服务器地址,并向此地址发送一个域名解析请求。
上连DNS服务器接到域名解析请求后,在本机查询此域名,找到后将其对应的IP地址返回给解析库函数。
解析库函数接收到上连DNS服务器返回的信息后,将此信息返回给应用程序。
DNS查询之递归查询
这里我们以域名为例子
- 为了解析,浏览器会调用域名解析库函数,并将域名作为参数传入其中。
- 此解析库函数会提取本机所设置的上连DNS服务器地址,并向此地址发送一域名解析请求。
- 上连DNS服务器接到域名解析请求后,在本机查找此域名,但是若没找到对应信息。
- 这时上连的DNS服务器就会求助于根DNS服务器()
- 然后请求就会逐级转发,顺序是cn的DNS服务器——的DNS服务器——的DNS服务器。(就是逐渐缩小范围)
- 由于一定是管理的资源记录的DNS服务器,于是,的DNS服务器会将所查询域名对应的IP地址返回给上一级。
- 这个IP地址会按照逆序依次回传,顺序是的DNS服务器——cn的DNS服务器——根DNS服务器。
- 最后根DNS服务器将这个信息返回给上连DNS服务器。
- 上连DNS服务器收到结果后,首先会将这个结果缓存到本机,同时,将其回传给用户浏览器。
这里有点很重要那就是上连的DNS服务器在收到结果后,不仅会把结果返回给调用者,还会自己缓存起来。
DNS查询之迭代查询
迭代查询的前四步与递归查询一样。(自我感觉:迭代查询就类似反向代理,都是用户访问资源,通过代理服务器转发到其他服务器)
上连DNS服务器解析不到就会将请求转发到根服务器,但是根服务器会将请求再返回给上连服务器,并告诉上连服务器可以去找cn服务器,然后cn服务器就会去找他的好盆友,edu再会去找的服务器,而知道的资源,所以拿到资源之后就交给上连DNS服务器。上连服务器拿到之后首先进行缓存,然后再个到用户的浏览器。
DNS的伙伴之nslookup
说到nslookup可能有些小伙伴不太熟悉这是干嘛的,nslookup是name server lookup的缩写,nslookup是用来查询DNS的。如你想知道百度的IP地址就可以使用nslookup。
// 如果你的linux系统里面没有nslookup命令则需要安装bind-utils软件包,这个软件包含有我们管理DNS的一些列命令,如host、dig、nslookup等
这里我以Redhat8为例
[root@server ~]# yum -y install bind-utils
nslookup的两种模式
第一种交互模式
- 在交互模式下,用户只需要执行一次nslookup,就可以向域名服务器进行请求查询
第二种非交互模式
- 在非交互模式下,用户发起的查询请求是一次性的,下次查询需要再执行nslookup。
交互模式
[root@server ~]# nslookup //这个尖括号表示进入了交互模式
>
// 此时的nslookup会连接到默认的域名服务器,就是/etc/中所配置的第一个DNS服务器地址。
// 若想自己指定一个DNS服务器地址,也可以只需要设置nslookup的第一个参数 "-",第二个参数则是要连接的DNS服务器的IP地址。
// 如连接到谷歌的DNS服务器。退出交互模式则可以使用ctrl+d
[root@server ~]# nslookup - 8.8.8.8
> 8.8.8.8
8.8.8. name = .
Authoritative answers can be found from:
// 查询百度域名IP地址
[root@server ~]# nslookup -
*** Invalid option:
>
Server: 192.168.182.2
Address: 192.168.182.2#53
Non-authoritative answer:
Name:
Address: 36.152.44.95
canonical name = .
非交互模式
// 在非交互模式下查询百度的IP
[root@server ~]# nslookup
Server: 192.168.182.2
Address: 192.168.182.2#53
Non-authoritative answer:
Name:
Address: 36.152.44.95
canonical name = .
[root@server ~]#
// 可以看到在非交互模式下完成查询之后会退回到shell状态,下次再需要查询就需要再次使用nslookup。
域名解析的缓存
通过上面的例子我们知道的nslookup,也提到了上连服务器的缓存。这里我们就来说一下
细心的朋友可能发现nslookup的输出内容中有一行Non-authoritative answer的字样,这个就是和缓存相关的。
[root@server ~]# nslookup
Server: 192.168.182.2
Address: 192.168.182.2#53
Non-authoritative answer:
Name:
Address: 36.152.44.95
canonical name = .
这里我们就来说一下关于DNS服务器的缓存
- 每个DNS服务器都有一个高速缓存区,这里面存放着这台DNS服务器最近“路过”的域名–IP地址的映射关系,以及获得这些映射关系的查询出处。若下次再有人访问同一个域名,这台上连DNS服务器就不需要再发起递归或迭代查询了。
- 现在又有一个问题那就是因为机器可能会出现故障,网站也会进行迁移,所以域名对应的IP地址会因此发生变化,这时就需要给DNS服务器的缓存设置一个期限,比如一天或几个小时。一旦超过期限DNS就不会信任这个域名,就会进行递归或迭代区查询。
- 但是这样还是会有问题。假如我们12点整在DNS上缓存了的域名解析,但是在12:03因为网站迁移修改了其对应的IP地址,这时正好有用户要访问,就会拿到已过期的IP地址
- 之所以会出现Non-authoritative answer字样是因为DNS是从自己的缓存中提取的解析数据返回给用户的,给出这个字样是基于上面两个原因,Non-authoritative answer意思是非权威的。
授权与非授权
在DNS的世界里没有谁知道所有的答案,比如:用户要访问这个IP地址,这里我们暂时将称为A主机;称为B主机。当用户访问时的DNS服务器将的域名解析授权给B主机。只有B才会返回有关域名解析,才是授权的;否则就是非授权。
一般情况下,一台DNS服务器从自身缓存中提取结果并返回给询问者,这个结果就是非授权的。
nslookup输出解析
// nslookup包含上下两个部分
- 上半部分: DNS服务器的信息
- 下半部分: 域名解析信息
[root@server ~]# nslookup
Server: 192.168.182.2 // 表示我们本次DNS解析使用的DNS服务器名称,默认会使用系统中的/etc/文件中所配置的第一个DNS 服务器
Address: 192.168.182.2#53 // 表示我们连接到的DNS服务器的具体IP地址和端口。这里的#53表示的是我们访问的DNS服务器的53端口号。53也是DNS Server服务器的端口号。
Non-authoritative answer: //这个地方我们上面已经提到过了,由于时间差的原因不是最新的,表示非权威
Name:
Address: 36.152.44.95 // 这个就是所对应的IP地址
canonical name = . //canonical name这个就是我们常说的别名所以的别名就是
DNS协议之五元组
DNS世界里面的五元组分别是{DomainName、TimeToLive、Class、Type、Value}
- DomainName(域名):指我们要查询的那个域名
- TimeToLive(生存期限):表示此域名在各DNS服务器缓存中应保存的时长。
- Class(类别):通常为IN,即Internet。另外还有CH(chaos)和HS(hesiod)两类,但目前几乎已经被淘汰了
- Type(类型):指出这条记录的类型,包括8种,即SOA、A、MX、NS、CNAME、PTR、HINFO和TXT。
- Value(值):针对不同类型,会有不同的值
DNS的八种类型
DNS的八种类型即Type的8个可选类型:
- SOA:start of Authority,授权起始。
- A:IP地址
- MX:邮件交换
- MS:域名服务器
- CNAME:别名,也叫规范名
- HINFO:主机描述信息,包括CPU和OS等信息
- PTR:指针,用于反向解析
- TXT:其他一些文本信息
类型SOA
SOA,即Start Of Authority,表示授权起始。
[root@server ~]# nslookup -type=soa
Server: 192.168.182.2
Address: 192.168.182.2#53
Non-authoritative answer:
origin =
mail addr =
serial = 2012145197
refresh = 300
retry = 300
expire = 2592000
minimum = 7200
Authoritative answers can be found from:
- Mail:管理员邮箱地址。
- Serial:版本序号,格式一般为年月日次。
- Refresh Slave:表示Slave的DNS服务器多久向Master的DNS服务器要一次更新数据。
- Retry:在发起Refresh时,如果Slave连接不到Master,那么间隔多久进行一次连接尝试。
- Expire:在发起Refresh时,如果Slave始终无法连接到Master,那么多久后放弃尝试。
- 即TTL,表示外部DNS服务器如果要缓存本DNS服务器的授权数据,那么保存时限是多久。
类型A
// A,表示从域名解析到IP地址。此处用来展示其对应的IP地址信息,俗称“A记录”。
[root@server ~]# nslookup -type=a
Server: 192.168.182.2
Address: 192.168.182.2#53
Non-authoritative answer:
Name:
Address: 220.181.38.251
Name:
Address: 220.181.38.148
类型MX
// MX,是Mail eXchanger的缩写,即邮件交换。此类型和邮箱服务器设置有关,用来表示当前域名对应的邮箱服务器。当域名没有配置对应邮箱服务器,则MX为空
[root@server ~]# nslookup -type=mx
Server: 192.168.182.2
Address: 192.168.182.2#53
Non-authoritative answer:
mail exchanger = 20 .
mail exchanger = 20 .
mail exchanger = 20 .
mail exchanger = 20 .
mail exchanger = 10 .
mail exchanger = 15 .
Authoritative answers can be found from:
类型NS
// NS,即Name Server,表示给定域名下所包含的DNS服务器信息。
[root@server ~]# nslookup -type=ns
Server: 192.168.182.2
Address: 192.168.182.2#53
Non-authoritative answer:
nameserver = .
nameserver = .
nameserver = .
nameserver = .
nameserver = .
Authoritative answers can be found from:
类型CNAME
// CNAME,即Canonical Name,也叫别名。如就是的别名
[root@server ~]# nslookup -type=cname
Server: 192.168.182.2
Address: 192.168.182.2#53
Non-authoritative answer:
canonical name = .
Authoritative answers can be found from:
类型PTR
// PTR,即指针,用来表示反解信息,即从IP地址查询其对应域名的映射关系。
[root@server ~]# nslookup -type=ptr
Server: 192.168.182.2
Address: 192.168.182.2#53
Non-authoritative answer:
canonical name = .
Authoritative answers can be found from:
类型HINFO
// HINFO,会包含CPU和OS等信息。
类型TXT
// TXT,即文本信息,表示有关此域名的一些信息。
nslookup交互模式
查看当前DNS的配置
[root@server ~]# nslookup
> set all
Default server: 192.168.182.2
Address: 192.168.182.2#53
Set options:
novc nodebug nod2
search recurse
timeout = 0 retry = 3 port = 53 ndots = 1
querytype = A class = IN
srchlist =
进入调试模式,查看更多交互信息
// set d2是高级调试模式,会输出更多的信息
> set debug //进入调试模式
>
Server: 192.168.182.2
Address: 192.168.182.2#53
------------
QUESTIONS: //发出的查询请求
, type = A, class = IN
ANSWERS: //返回的信息
->
internet address = 36.152.44.95
ttl = 5
AUTHORITY RECORDS:
ADDITIONAL RECORDS:
------------
Non-authoritative answer:
Name:
Address: 36.152.44.95
------------
QUESTIONS:
, type = AAAA, class = IN
ANSWERS:
->
canonical name = .
ttl = 5
AUTHORITY RECORDS:
ADDITIONAL RECORDS:
------------
canonical name = .
指定查询中默认的域名后缀
设置默认的域后缀,可以为我们的查询带来便捷
// 首先进行查询
[root@server ~]# nslookup
> set all
Default server: 192.168.182.2
Address: 192.168.182.2#53
Set options:
novc nodebug nod2
search recurse
timeout = 0 retry = 3 port = 53 ndots = 1
querytype = A class = IN
srchlist = //我们可以看到这个地方为空
> set domain= //设置默认域为百度
> set all //再次查询
Default server: 192.168.182.2
Address: 192.168.182.2#53
Set options:
novc nodebug nod2
search recurse
timeout = 0 retry = 3 port = 53 ndots = 1
querytype = A class = IN
srchlist = //变为百度
> image //直接查询image
Server: 192.168.182.2
Address: 192.168.182.2#53
Non-authoritative answer:
canonical name = .
Name:
Address: 36.152.44.79
在交互模式下设置type
通过set querytype=[value],我们可以更改信息查询的类型。
默认情况下,nslookup是查询域名所对应的A记录,而当你想查询其对应的MX记录等信息时,就需要更改查询的类型了。
目前常用的type值如下:
- A:查看主机的IPv4地址
- AAAA:查看主机的IPv6地址
- ANY:查看关于主机域的所有信息
- CNAME:查找与别名对应的正式名字
- HINFO:查找主机的CPU与操作系统类型
- MINFO:查找邮箱信息
- MX:查找邮件交换信息
- NS:查找主机域的域名服务器
- PTR:查找与给定IP地址匹配的主机名
- RP:查找域负责人记录
- SOA:查找域内的SOA地址
- UINFO:查找用户信息
// 例如,针对MX类型的查询结果
// 其他的类型的查询同下
[root@server ~]# nslookup
> set type=mx
>
Server: 192.168.182.2
Address: 192.168.182.2#53
Non-authoritative answer:
mail exchanger = 20 .
mail exchanger = 20 .
mail exchanger = 10 .
mail exchanger = 15 .
mail exchanger = 20 .
mail exchanger = 20 .
Authoritative answers can be found from:
DNS工具之dig
[root@server ~]# dig
; <<>> DiG 9.11.26-RedHat-9.11.26-6.el8 <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55326
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
;; Query time: 12 msec
;; SERVER: 192.168.182.2#53(192.168.182.2)
;; WHEN: 日 2月 20 21:25:31 CST 2022
;; MSG SIZE rcvd: 228
// 可以看出直接使用dig命令,dig会向上连DNS服务器查询"."(根域) 的NS记录。
给dig加个.
[root@server ~]# dig .
; <<>> DiG 9.11.26-RedHat-9.11.26-6.el8 <<>> .
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29023
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;. IN A
;; ANSWER SECTION:
. 5 IN A 120.232.65.146
. 5 IN A 120.232.65.174
. 5 IN A 112.53.42.28
. 5 IN A 112.53.42.46
;; Query time: 8 msec
;; SERVER: 192.168.182.2#53(192.168.182.2)
;; WHEN: 日 2月 20 21:27:30 CST 2022
;; MSG SIZE rcvd: 81
// 可以看出,这次输出的是根域的A记录,这个例子中展示了13个根域之一的.的五元组信息。
// 查询百度域名
[root@server ~]# dig @8.8.8.8 A //命令格式为dig@dnsserver name querytype
; <<>> DiG 9.11.26-RedHat-9.11.26-6.el8 <<>> @8.8.8.8 A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55039
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;. IN A
;; ANSWER SECTION:
. 311 IN CNAME .
. 295 IN CNAME .
. 73 IN A 103.235.46.39
;; Query time: 71 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 日 2月 20 21:31:05 CST 2022
;; MSG SIZE rcvd: 111
dig之批量查询
// dig可以从文件里面读取
[root@server ~]# cat
// -f参数开始批量查询,-t指定查询类型
[root@server ~]# dig -f -t A
; <<>> DiG 9.11.26-RedHat-9.11.26-6.el8 <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23201
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;. IN A
;; ANSWER SECTION:
. 5 IN A 36.152.44.95
;; Query time: 99 msec
;; SERVER: 192.168.182.2#53(192.168.182.2)
;; WHEN: 日 2月 20 21:36:42 CST 2022
;; MSG SIZE rcvd: 47
; <<>> DiG 9.11.26-RedHat-9.11.26-6.el8 <<>>
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55661
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;. IN A
;; ANSWER SECTION:
. 5 IN A 3.125.197.172
. 5 IN A 52.58.199.22
;; Query time: 10 msec
;; SERVER: 192.168.182.2#53(192.168.182.2)
;; WHEN: 日 2月 20 21:36:42 CST 2022
;; MSG SIZE rcvd: 59
化繁为简之-q
// -q可以显示的设置你要查询的域名
[root@server ~]# dig -q -t a
; <<>> DiG 9.11.26-RedHat-9.11.26-6.el8 <<>> -q -t a
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5094
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;. IN A
;; ANSWER SECTION:
. 5 IN A 36.152.44.95
;; Query time: 130 msec
;; SERVER: 192.168.182.2#53(192.168.182.2)
;; WHEN: 日 2月 20 21:41:34 CST 2022
;; MSG SIZE rcvd: 47
-x 选项反向解析,可以用来查询IP与域名的映射关系
[root@server ~]# dig -x 192.168.182.2
; <<>> DiG 9.11.26-RedHat-9.11.26-6.el8 <<>> -x 192.168.182.2
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5717
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;2.182.168.. IN PTR
;; ANSWER SECTION:
2.182.168.. 5 IN PTR 192.168.182.2.
;; Query time: 4 msec
;; SERVER: 192.168.182.2#53(192.168.182.2)
;; WHEN: 日 2月 20 21:43:28 CST 2022
;; MSG SIZE rcvd: 71
// 这个IP对应的根域服务器即他本身192.168.182.2.
// 使用tcp查询,大家都知道DNS在查询过程中交互默认使用的是UDP协议。下面就介绍一下使用TCP查询
[root@server ~]# dig +tcp @8.8.8.8
; <<>> DiG 9.11.26-RedHat-9.11.26-6.el8 <<>> +tcp @8.8.8.8
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26088
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;. IN A
;; ANSWER SECTION:
. 338 IN CNAME .
. 64 IN CNAME .
. 36 IN A 103.235.46.39
;; Query time: 62 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 日 2月 20 21:49:43 CST 2022
;; MSG SIZE rcvd: 111
默认追加域
[root@server ~]# dig +domain= image
; <<>> DiG 9.11.26-RedHat-9.11.26-6.el8 <<>> +domain= image
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2163
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;. IN A
;; ANSWER SECTION:
. 5 IN CNAME .
. 5 IN A 36.152.44.79
;; Query time: 9 msec
;; SERVER: 192.168.182.2#53(192.168.182.2)
;; WHEN: 日 2月 20 21:52:10 CST 2022
;; MSG SIZE rcvd: 78
// 跟踪dig查询的全过程
[root@server ~]# dig +trace
; <<>> DiG 9.11.26-RedHat-9.11.26-6.el8 <<>> +trace
;; global options: +cmd
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
. 5 IN NS .
;; Received 228 bytes from 192.168.182.2#53(192.168.182.2) in 8 ms
// 从本地DNS查找到根域DNS列表
com. 172800 IN NS .
com. 172800 IN NS .
com. 172800 IN NS .
com. 172800 IN NS .
com. 172800 IN NS .
com. 172800 IN NS .
com. 172800 IN NS .
com. 172800 IN NS .
com. 172800 IN NS .
com. 172800 IN NS .
com. 172800 IN NS .
com. 172800 IN NS .
com. 172800 IN NS .
com. 86400 IN DS 30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com. 86400 IN RRSIG DS 8 1 86400 20220305050000 20220220040000 9799 . LdN/Onsd57kvdpc4HkYoOOWx7sg4md/53ekEfa+6NPc691WbBl2f/7o0 G2PWqXdylNqOTwLOEx3mKtA2qf+Obpw7hBeSbdy1LhycEj7jBvIrt5wL llxTxESvdQnEPIr+BnPvuUskDPNDBYNBwqdj6KqAu4a3X3WXB8j7j2u4 yaYiqjw6jV7x8oUJt4yauxPbAM8EaQl2bAGpmYrXLspNfW1lkUHuEtD3 TEKbX3+UujUbCsfgPPXcG5Nv8P/2KCwHQ2Bx5VaPqlFSH2Np5TaXPzZq zKG330EuDMlBmk5cLfnrBcb9UpR2pbv5/OTVZpAWko6zLu+VNJtTPeX3 zqZPyA==
;; Received 1169 bytes from 198.97.190.53#53() in 338 ms
// 选择了192.168.97.190这台根域DNS来查询com.
. 172800 IN NS .
. 172800 IN NS .
. 172800 IN NS .
. 172800 IN NS .
. 172800 IN NS .
. 86400 IN NSEC3 1 1 0 - CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM
. 86400 IN RRSIG NSEC3 8 2 86400 20220224052340 20220217041340 38535 com. ivdQrmBnvn7gs2WZgZ64PCW1hPXqzYUiH+XGIcfo58UXGM4mDEXdtUH6 pHfbOdBbLlfurs3/HflIjmO+H6JV9mR4kA3Pcvrv4SaJUcMAMqdpwKxM gPjGYS+gBaMgqaKoafTAoP9w52zCfAd91VyZ7PWixuCVESMvyrCWMexb pmxP4IWF5qtkd3OsJtQi0nQ81F+ochOo/kFHZ/j8TiLFpA==
. 86400 IN NSEC3 1 1 0 - HPVV8SARM2LDLRBTVC5EP1CUB1EF7LOP NS DS RRSIG
. 86400 IN RRSIG NSEC3 8 2 86400 20220225053142 20220218042142 38535 com. AkfTaYJ5ecY+W0S2tBCxW5VMTfFUvB0Jpxvo8iJNyduduxzBkMqrOICX x+ua0m+nMJPzK9HIU8mdanVvz2pbVISL05OFhT+kQ91rpiJnABVh7RE5 wr4ARrnAwUEMjB8e59Nb0l5kjqMPL2K5FEl/VaqUs3QGushxjwMtAPzs Tmj3OV69DGPJK6dFlKfRlW2Wvx9FK8fhM/euKUKy6TXmVA==
;; Received 813 bytes from 192.12.94.30#53() in 193 ms
// 选择192.168.12.94这台域DNS服务器来查找的DNS列表
. 600 IN A 220.181.38.251
. 600 IN A 220.181.38.148
. 86400 IN NS .
. 86400 IN NS .
. 86400 IN NS .
. 86400 IN NS .
. 86400 IN NS .
;; Received 296 bytes from 220.181.33.31#53() in 43 ms
//最终找到
// 精简查询
[root@server ~]# dig +nocmd +nocomment +nostat
;. IN A
. 5 IN A 36.152.44.95