DNS云学堂 | 权威DNS那些事儿(中)1574
发表时间:2020-07-15 10:00 书接上回,在上一篇内容中重点剖析了互联网DNS体系及造成权威DNS变更复杂的主要原因,今天我们通过搭建实验环境,研究权威DNS的原理及细节。enjoy: 在介绍实验过程之前,先直接说结论,建议为权威NS记录变更预留2天时间是一个相对保险的建议值,可以确保全网绝大部分LocalDNS都会刷新。若超过这个时间后仍有问题,需要考虑其他可能的原因。实际上从工程经验看,域名变更后大部分ISP和Public DNS最多在1-2小时后就可以刷新。 P.S. 若需要变动的是edu.cn、gov.cn等结尾的域名,建议提前联系域名注册管理机构进行流程和手续的咨询,切记~ 之前的文章中,从互联网DNS体系并不能看出DNS的实际运行机制,因此我们首先搭建实验环境来进行模拟,在此基础上研究权威DNS的原理及细节。 1.1 搭建实验环境 带着这些疑问我们搭建了互联网DNS的模拟环境,由1台根DNS(兼职顶级域)、2台权威DNS和1台递归DNS组成。 测试根DNS配置根区及com顶级域: com. 1800 IN NS ns.com. ns.com. 1800 IN A 192.168.30.135 ns1.test.com. 660 IN A 192.168.30.136 test.com. 600 IN NS ns1.test.com. ns2.test.com. 660 IN A 192.168.30.137 test.com. 600 IN NS ns2.test.com. 测试权威DNS配置test.com权威区域(记录相同TTL不同,便于识别); 以上就是本次搭建的实验环境及其关键配置。 1.2 实验原理及路线 根权威、顶级域权威、二级及以上级域权威、递归是互联网DNS体系的组成部分,根权威包含1000多个顶级域NS记录,顶级域权威包含归属于其区域的二级域名权威DNS的NS记录,依次类推,而负责从各级权威获取信息直至完成域名解析的就是递归服务器。为了确保分级的、复杂的流程下信息的准确传递,DNS协议设计了很多保证措施,并最终由DNS软件来实现。 递归DNS会从不同级别的权威DNS上获取NS记录并发起迭代查询,直至最终获取到需要的域名记录的解析结果。在实际使用过程中,递归DNS会从上级权威获取下级权威的NS记录(包括记录名称和Gelu IP),同时也会从下级权威DNS获取其NS记录,这两个记录很可能是不一致的,这就是本次实验主要验证的内容。 实验步骤如下: 1) 在测试顶级域DNS上只配置test.com的NS记录ns1,指向测试权威DNS 01,并在权威DNS 01上也只配置ns1,在测试客户端上观察解析结果; 2) 在权威DNS 01上配置第二个NS记录ns2,等测试域名记录www.test.com过期后,在测试客户端上观察解析结果; 3) 在测试顶级域DNS上添加test.com的NS记录ns2,指向测试权威DNS 02,并关闭测试权威DNS01,等测试域名记录www.test.com过期后,在测试客户端上观察解析结果; 1.3 实验过程 首先清除递归DNS和操作系统上的缓存记录(不光递归DNS有缓存,还有浏览器缓存和操作系统(OS)缓存,不清除缓存可能会影响实验结果)。 在测试顶级域DNS上只配置test.com的NS记录ns1,指向测试权威DNS 01,并在权威DNS 01上也只配置ns1。测试客户端结果如下: 在权威DNS 01上配置第二个NS记录ns2,等测试域名记录www.test.com过期后,在测试客户端上观察解析结果如下: 在测试顶级域DNS上添加test.com的NS记录ns2,指向测试权威DNS 02,并关闭测试权威DNS01,等测试域名记录www.test.com过期后,在测试客户端上观察解析结果如下: 上述测试为连续测试,每次均等待 www.test.com的A记录过期后重新进行查询。 1.4 实验结论及分析 由该实验可得出以下推论:
声明:此篇为ZDNS-国家工程研究中心原创文章,转载请标明出处链接:https://www.zdns.cn/news/98.html
|