Antech 2020-05-25
到《权威DNS那些事儿》最终篇,在上一篇内容中我们通过搭建实验环境,详细讲解了权威DNS的原理及细节。今天我们来探讨一下权威DNS变更的场景及对策。enjoy:
变更权威NS的环节主要有:在注册商平台修改NS相关信息、修改权威DNS的NS记录配置、新权威DNS的数据配置。
权威DNS变更主要的风险在于一旦操作不当,导致错误的NS记录在互联网的上扩散,那么就需要一个长的周期进行恢复。尤其是国内有些递归DNS上记录缓存时间强制为1-2天,这也意味着在没有人工介入的情况下,错误的域名记录将会在1-2天后才会被纠正。
常见的几种变更场景如下:
增加NS记录:增加1个或多个NS记录
更改NS记录:更改部分或全部NS记录
在现有NS记录中添加IPv6地址:在现有NS记录中增加IPv6地址
增加NS记录的风险相对较低,按如下流程进行即可,只是要考虑其生效时间,为可能存在的后续变更或使用预留提前量。
A、在权威区添加新的NS记录并配置对应的权威服务器;
B、通过注册商平台添加新的NS,等待上级权威生效,生效时间为 REGISTER_TIME;
C、上级区生效后,递归DNS也会有之前NS的缓存,最多缓存时间为 NS _TTL ;
D、待C流程后,递归DNS会从上级权威重新获取NS,这时候新的NS就能生效(没有该域名缓存的DNS会立即生效);
所以这个情况下,最长的生效时间为: REGISTER_TIME + NS_TTL,也就是说当注册局完成数据变更后,新的local DNS即可获得最新的NS列表,已有缓存的LocalDNS需要等待NS_TTL过期后才可获得最新的NS列表,该时间一般情况下不超过本地权威的TTL值。
以ZDNS举例,新增NS后,最长的生效期为REGISTER_TIME+3600秒,geely.com的生效期则最长为REGISTER_TIME+86400秒。
若是只变更多个NS记录中的一个,直接修改即可,修改完成后保持一段时间内原有NS记录IP的服务状态即可(安全起见建议2天)。
这个场景也不少见,比如要从某注册商平台将权威DNS解析迁移至本地或其他服务商,就会遇到这个场景。
此时,面临的最麻烦的情况是,该注册商的免费托管平台不允许新的外部权威DNS记录与原有的NS记录并行运行,这样没办法按照先增加新NS记录然后删除原有NS记录的方式进行变更,此时需要考虑线下的一些辅助手段。
比如原有域名托管在某注册商,此时想把权威DNS迁移至新的DNS服务器,需要跟该注册商确定NS记录全部变更为新的NS后,原有的托管服务器上的域名数据是否会保留以及保留多长时间,避免在正式操作时出现新的DNS没有在互联网更新,原有的DNS数据也被删除的空窗期(一般注册商都会在一段时间内保留域名数据,稳一手)。
只要确认原有权威DNS服务器上数据会保留,那就配置好新的DNS服务器后进行NS变更。
允许混跑的话,可以采用直接新增所需NS记录的方式进行,运行稳定后删除原有的NS记录。在整个迁移期间,都会有权威DNS正常提供权威域名解析服务。
这个场景是最近两年随着IPv6的推进部署开始逐渐被重视的场景。
A、如果IPv6的NS是在原有记录上添加,直接向对应的NS记录添加AAAA记录即可,并在注册商平台进行对应的添加,等待生效即可;
B、添加完成后等待注册局更新数据;
C、注册局数据更新后,无特殊设置的递归DNS会开始陆续更新NS记录;
D、有些强制修改NS缓存时间的递归DNS需要等待过期,经验值是2天左右;
P.S.:如果IPv6的NS是新增,就需要去注册商平台添加新的NS,按照增加NS记录操作即可。
递归DNS修改NS的缓存时间的概率是不确定的,若在线业务比较重要,建议按照最长时间来考虑,即NS缓存刷新时间为2天,加上注册局数据生效时间为2天,确保变更的步骤生效。
变更的原则是就长不就短,因为一旦有错误的记录发布到了互联网DNS系统,等待缓存过期的时间漫长且无助。如果真的不幸出现了这种情况,需要尽快分析导致问题的原因并采取弥补措施,时间越长,弥补的难度越大。
关于ZDNS
互联网域名系统国家工程研究中心(简称ZDNS)是国家发改委批复的国家级工程研究中心,是工信部批准的根镜像运行机构,是中科院孵化的专注于域名领域的高新技术企业;ZDNS连续四年在DDI(DNS、DHCP、IPAM)设备领域市场占有率第一,服务金融、广电、教育、政府、军工、医疗、互联网等多个行业,全球近千家大型企业。