DNS入门学习:DNS解析生效问题(中科三方)

在修改域名解析记录或DNS服务器之后,DNS解析并不会立即生效,这给很多网站管理者带来了很多困扰,了解DNS解析生效原理以及不同情况下DNS解析生效时间,对于网站管理工作有很大帮助。本文中科三方针对不同情况下DNS解析生效时间做下简单介绍。

一、DNS解析生效原理

在DNS解析体系中,权威解析服务器负责域名与IP的关系映射,给出最终权威数据,然而负责将这个解析数据告知客户端的却是分布于世界各地的递归服务器。因此,DNS解析生效需要权威解析服务器和递归解析服务器两部分同时生效,才能让客户端获取到最新的正确解析数据。

网站管理人员在权威解析服务器直接根据域名和IP的对应关系,添加或修改解析记录,一般情况下,权威解析服务器的解析记录很快就能生效。而各地递归解析服务器的解析记录并不会立即生效,而是需要等待不同的时间,才能完成解析记录的同步更新,这里我们需要了解DNS结构中的缓存机制。

为了提高解析速度,DNS结构中引入了缓存机制。当递归服务器从权威服务器请求到解析数据后,除了告知客户端外,还会将数据在自身储存一段时间,这就是DNS缓存。当客户端再请求同一网站时,递归服务器首先会查看自身缓存中的信息,如果缓存中信息没有失效,直接将解析记录数据返回客户端,而无需再进行全球的迭代查询;如果DNS缓存失效,则递归服务器需要重新向权威服务器发起请求。

DNS缓存提升了解析效率,但同样存在很大的问题,其中之一就是解析生效问题。当服务器IP发生变更,解析记录修改时,各地的递归服务器无法及时同步新的解析记录,就可能导致客户端请求到旧的结果访问到错误的网站,这就是我们经常遇到的DNS解析不生效问题。DNS解析不生效很多情况都是因为修改解析记录或DNS服务器,而递归服务器没有及时更新导致的,因此了解不同情况下DNS解析生效时间对做好域名管理非常有必要。

二、DNS解析生效时间

全球有很多解析服务节点和DNS服务器(递归服务器,下同),在设置域名解析记录后,将结果同步至全球各个DNS服务器,这一过程所需的时间就是解析生效时间。

DNS解析生效时间大致可以分为三种情况:

(1)新增解析记录

由于此前各地DNS服务器中并没有储存该域名的解析记录数据,所以当客户端请求后,DNS服务器就需要去请求权威服务器,因此能够获取到新的解析记录,DNS解析即时生效。

(2)修改或删除解析记录

与新增解析记录不同,修改或删除解析记录并不会立即生效,因为各地的DNS服务器已经存储了旧的解析记录,修改或删除解析记录后,并不能及时同步新的解析记录。客户端请求时,DNS服务器仍然会将DNS缓存中旧的数据告知客户端,最终的生效时间取决于不同DNS服务器中DNS缓存的刷新时间,一般情况下等同于之前解析记录中的TTL时间。假如之前的解析设置中TTL值为10分钟,那么修改或删除解析记录会在10分钟内实现全球生效。

(3)修改DNS服务器

修改DNS服务器与修改域名解析记录一样,也不会立即生效,在DNS缓存失效前,DNS服务器仍然会请求原来的权威服务器,最终的生效时间同样取决于DNS服务器缓存刷新时间。但由于各地DNS服务器的刷新时间不一致,且刷新时间较长,可能就会导致有的DNS生效,有的DNS未生效情况的发生,全球DNS服务器全部生效需要等待24-48小时(.com 等国际域名需要 48 小时,.cn 等国内域名需要 24 小时)。

相关推荐
烷烯3 小时前
安全基础DAY1-安全概述
linux·服务器·安全·常见网路攻击
YueiL4 小时前
Linux文件系统基石:透彻理解inode及其核心作用
linux·网络·数据库
暗流者6 小时前
信息安全简要
开发语言·网络·php
AORO20259 小时前
三防平板+天通卫星电话,打通无人之境的通信经脉
大数据·网络·人工智能·5g·电脑·信息与通信
清 晨9 小时前
Web3.0引领互联网未来,助力安全防护升级
安全·web3·互联网·facebook·tiktok·instagram·clonbrowser
Jooolin9 小时前
【Linux】Linux 的权限:你必须掌握的文件安全基础
linux·安全·ai编程
Bruce_Liuxiaowei10 小时前
.htaccess 文件上传漏洞绕过总结
windows·安全·网络安全·php·apache
长弓三石10 小时前
鸿蒙网络编程系列61-仓颉版基于TCP实现最简单的HTTP服务器
网络·harmonyos·鸿蒙·仓颉
cver12311 小时前
建筑物实例分割数据集-9,700 张图片 城市规划与发展 灾害评估与应急响应 房地产市场分析 智慧城市管理 地理信息系统(GIS) 环境影响评估
人工智能·安全·目标检测·机器学习·计算机视觉·目标跟踪·智慧城市
潘多编程12 小时前
Spring Boot + Angular 实现安全登录注册系统:全栈开发指南
spring boot·安全·angular.js