新闻详情

DNS云学堂 | 行车不规范亲人两行泪,NS不规范运维两行泪

20
发表时间:2021-01-16 16:03

NS记录在ZONE委派的时候起到了至关重要的作用, 在项目中经常会遇到父域或者子域的NS记录配置错误,导致了各种各样的问题。本期云学堂通过场景模拟,分析问题原因,给出NS配置具体建议及规范。enjoy:


一个真实发生的案例


某日,用户向ZDNS专家团队求助,自己集团的部分域名在全国部分运营商LDNS无法解析。经过分析,发现是该域名的NS不规范导致的最终问题。用户按照NS配置建议进行DNS配置后,彻底解决了相关问题。在分析这一案例的过程中,我们认识到:1)NS规范配置影响到一个DNS权威区是否合法,在日常运维工作中应当重视NS配置合规性;2)在各种场景下如何规范配置NS记录是普遍存在的问题。



场景模拟


概述


现网配置如下(模拟环境),使用三台服务器模拟DNS系统中的各种角色:

1)根+顶级域服务器:10.1.112.98

2)二级权威服务器:10.1.112.54

3)递归服务器:10.1.112.252(根配置指向10.1.112.98)

在递归服务器上:将根服务器指向10.1.112.98(这样的目的就是使其不使用默认的13个根),这样递归服务器便从我们的"测试根+顶级域"开始请求。


详细配置


各角色DNS基础配置如下:

1)根+顶级域服务器:10.1.112.98有如下记录:

@区(根区):

图片

com区:

图片


2)二级权威服务器:10.1.112.54有如下记录:

test.com权威区:

图片


3)递归服务器:10.1.112.252有如下记录:

根配置(指向根+顶级域服务器):

图片


温馨提示:基础配置涉及到NS及A记录的创建,建议先充分理解后再往下观看。


模拟解析


模拟客户端向递归服务器发起如下解析,制造解析错误现象:

1)dig 指向递归服务器:10.1.112.252请求www.test.com,正常应答

图片


2)dig 指向递归服务器:10.1.112.252请求ns.test.com,应答NXDOMAIN

图片


3)dig 指向递归服务器:10.1.112.252请求new1.test.com,应答SERVFAIL

图片


问题分析


下面根据图解详细分析每次请求的详细逻辑:

1)请求的正常应答:

图片

由上图可知,递归服务器按照正常的逻辑递归查询,并拿到最终结果应答给客户端。


2)请求ns.test.com,应答NXDOMAIN

缓存是顶级域应答的NS及NS_glue值,而非权威服务器应答的结果,当递归服务器收到ns.test.com.的请求时,递归服务器会认为顶级域应答的NS_gule值不能作为权威结果应答给客户端,递归服务器会再次请求向test.com权威服务器请求ns.test.com.域名

图片


3)请求new1.test.com,得到SERVFAIL的应答

先了解SERVFAIL的定义:"ServFail"在[ RFC 1035 ]有所解释:

RCODE响应码为2 :Server failure

The name server was unable to process this query due to a problem with the name server. (由于名称服务器出现问题,名称服务器无法处理此查询)

在数据包中的response中的Rcode字段:

图片


最常见到:DNS服务器解析超时应答SERVFAIL,但是此次SERVFAIL的原因不是因为解析超时。SERVFAIL原因分析:


请求逻辑:

图片


具体原因为:

1、第二次请求的第三小步中的ns.test.com域名请求的结果为NXDOMAIN,而test.com权威服务器应答的结果优先级比顶级域权威服务器应答的"可信度"更高,此次请求导致了递归服务器上test.com的NS_gule被置为NXDOMIAN状态。


2、递归服务器在NS_gule被置为NXDOMIAN状态这一段时间内(一般情况,这段时间按照test.com权威区中SOA记录中的最小TTL进行缓存),再也无法向test.com发起新的域名请求!(一旦出现这种问题,需要有在全网快速清除错误缓存的能力,方能使业务快速回复正常)


NS配置建议及规范


如上是一次NS不规范导致的案例分享,那么针对NS配置有如下的配置规范建议:


1)建议父域与子域协商配置NS配置,NS记录保持一致,规范建议配置:

例:在test.com权威DNS服务器上,需要将bjdc.test.com授权给第三方DNS服务器进行权威解析,那么建议如下配置:

在test.com权威DNS服务器上创建如下记录:

bjdc.test.com    NS ns.bjdc.test.com

ns.bjdc.test.com A   <第三方DNS服务器>


在ns.bjdc.test.com第三方权威服务器上创建如下记录:

bjdc.test.com    NS   ns.bjdc.test.com  

ns.bjdc.test.com A <第三方DNS服务器>

(即保证:NS对应的域名能够在第三方权威服务器上找到A记录)


2)因特殊情况,父子域NS无法保持一致的情况,规范建议配置:

例:在test.com权威DNS服务器上,需要将bjdc.test.com授权给第三方DNS服务器进行权威解析,那么建议如下配置:

在test.com权威DNS服务器上创建如下记录:

bjdc.test.com   NS   bjdcns.test.com

bjdcns.test.com   A <第三方DNS服务器>

(即保证:NS对应的域名能够在父域服务器上找到A记录)


3)作为互联网权威时,NS记录对应的gule值填写公网地址

图片

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


_______________
_______________
_______________
_______________
ZDNS
核心网络设备
ZDNS Cloud
顶级域名
友情互联:
_______________________________________________________________________________________________________________________________
邮箱:support@zdns.cn
7*24小时客户服务
咨询电话:400-6688-876
标签:
请输入要描述的内容进行内容补充 请输入要描述的内容
01
03
请输入要描述的内容进行内容补充 请输入要描述的内容
_______________________________________________________________________________________________________________________________
互联网域名系统北京市工程研究中心有限公司 版权所有 © 2022 
官方微信
DDI网络核心服务
顶级域名申请
IP 地址管理
DNS 安全
智能 DNS
域名资质
两地三中心
流量调度
DNS 云解析
新顶级域直通车
________________________________________________________________________________________________________________________________
联系我们
产品方案咨询
7*24小时热线:400-6688-876
——————————