dns服务器响应 异常,DNS云学堂|快速定位DNS解析异常问题,牢记这四种DNS状态码...

DNS的状态码在进行故障排查的时候起着至关重要的作用。在DNS的维护中会经常遇到DNS解析异常问题,通过DNS的状态码可以初步判断DNS解析的异常问题。本期云学堂通过详解DNS状态码的定义,给出常见状态码的场景举例。enjoy:

写在前面

本文针对Header section format的RCODE进行分析。

c6b4227a1d94fed2e809e0d65e23fcbc.png

此部分对应Wireshark中打开的DNS数据包Domian Name System部分Flags的RCODE

1

RFC1035[4.1.1]

0 NOERROR无错误条件

1 Format error,格式错误-名称服务器无法解释查询。

2 Server failure, 由于名称服务器问题,名称服务器无法处理该查询。

3 Name Error, 仅对来自权威名称服务器的响应有意义,此代码表示查询中引用的域名不存在。

4 Not Implemented , 未实现-名称服务器不支持所请求的查询类型。

5 Refused, 拒绝-名称服务器由于策略原因拒绝执行指定的操作。例如,名称服务器可能不希望将信息提供给特定请求者,或者名称服务器可能不希望对特定数据执行特定操作(例如,区域传送)。

6-15保留以备将来使用:

QDCOUNT一个无符号的16位整数,指定问题部分中的条目数。

ANCOUNT一个无符号的16位整数,用于指定答案部分中的资源记录数。

NSCOUNT一个无符号的16位整数,指定ame的数量授权记录部分中的服务器资源记录。

ARCOUNT一个无符号的16位整数,用于指定其他记录部分中的资源记录数。

2

RFC2136 [pag5-6]

rfc2136 [pag5-6]对DNS状态码的描述有所更新(1997发布):x

NOERROR 0无错误条件。

FORMERR 1名称服务器无法解释格式错误导致的请求。

SERVFAIL 2名称服务器在处理此请求时遇到内部故障,例如操作系统错误或转发超时。

NXDOMAIN 3应该存在的某些名称不存在。

NOTIMP 4名称服务器不支持指定的操作码。

REFUSED 5名称服务器出于策略或安全原因拒绝执行指定的操作。

YXDOMAIN 6确实存在一些不应该存在的名称。

YXRRSET 7确实存在一些不应该存在的RRset。

NXRRSET 8应该存在的某些RRset不存在。

NOTAUTH 9服务器对“区域”部分中命名的区域没有权威性。

NOTZONE 10在“前提条件”或“更新”部分中使用的名称不在“区域”部分指示的区域内。

ZOCOUNT区域部分中的RR数。

PRCOUNT前提条件部分中的RR数。

UPCOUNT更新部分中的RR数。

ADCOUNT附加数据部分中的RR数。

常见状态码分析

RFC中描述的状态码有很多,但是在绝大多数场景下只有几种状态会被使用到,例如:

0 NOERROR、2 SERVFAIL、3 NXDOMAIN、5 REFUSED

下面针对常见的几种状态码出现的场景进行介绍:

1

NOERROR

Response code 0 —— NOERROR

当服务器解析到结果时,将结果回复给客户端,此状态为 NOERROR,例:

环境说明

DNS服务器有test.com 权威区,有如下记录

场景一:域名正常解析到记录

场景二:请求一个域名时,这个域名类型树下如果存在其中一个类型,其他类型应答都为NOERROR

2)服务器应答NOERROR,并附带test.com 的SOA

2

SERVFAIL

Response code 2 —— SERVFAIL

递归DNS服务器至权威服务器的网络不通,或者DNS服务器发生错误,则会导致SERVFAIL

环境说明

场景一:递归DNS至权威DNS服务器因网络问题,解析超时

1)客户端向递归服务器发起DNS解析

2)由于网络问题,递归服务器向权威DNS解析超时,向客户端应答SERVFAIL

场景二:递归DNS缓存了某权威区NS域名的NXDOMAIN状态,客户端查询此权威区下的域名时,递归DNS应答SERVFAIL

3

NXDOMAIN

Response code 3 —— NXDOMAIN

解析某一域名,此域名没有任何类型的解析记录,例:

环境说明

DNS服务器有test.com 权威区,有如下记录

场景一:这个域名类型树下不存在任何一个类型,应答NXDOMAIN

1)客户端向DNS服务器解析ww123.tes.tcom 的A记录

2)服务器应答码为NXDOMAIN,并附带test.com 的SOA

4

REFUSED

Response code 5 —— REFUSED

客户端向DNS服务器查询域名,但是此DNS服务器需要对外递归查询,但是此DNS没有开启DNS递归功能,例:

环境说明

DNS服务器关闭递归功能,且有test.com 权威区,有如下记录:

2)DNS服务器应答REFUSED

本期云学堂就分享到这里,如果您有关于DNS状态码的其他问题,欢迎在文章下方留言,我们将安排专业的工程师为您答疑解惑。咱们下期再见~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值