写点什么

一文读懂 DNS 解析原理、设置步骤、生效时间和常见问题

作者:国科云
  • 2024-07-03
    北京
  • 本文字数:2703 字

    阅读完需:约 9 分钟

在互联网通信中,DNS 扮演着至关重要的角色。DNS 作为互联网中的导航系统,负责将人们便于记忆的域名(如 www.example.com)转换成机器能够理解的 IP 地址(如 210.72.13.177),而这个转换的过程就是 DNS 解析。本文国科云将详细介绍 DNS 解析的原理、工作流程、设置步骤以及遇到的常见问题。

DNS 解析的原理

DNS 解析的原理可以简单地理解为翻译工作,即把域名翻译成对应的 IP 地址,让用户得以通过简单明了的域名去访问网站获取信息和服务,而不是纯数字构成的 IP 地址,DNS 解析让人们使用互联网变得更加便捷高效。

DNS 解析由分布式的 DNS 系统来管理域名和 IP 地址之间的映射关系。这种结构包括域名服务器、顶级域名服务器、权威域名服务器和本地域名服务器等多个层级。每个层级的域名服务器都负责维护其管辖范围内的域名信息,并通过域名解析服务将域名转换为 IP 地址。

DNS 解析的工作流程

(1)客户端发起查询

当用户在浏览器中输入一个域名(如 www.example.com)并尝试访问时,浏览器会首先检查本地缓存中是否已存在该域名的 IP 地址。如果不存在,浏览器会向本地 DNS 服务器发起查询请求。

(2)本地 DNS 服务器查询

本地 DNS 服务器收到查询请求后,会首先查看自身缓存中是否存在已有结果。如果缓存有记录,直接返回给客户端浏览器;如果没有,则代替客户端向根服务器发起请求。

(3)全球递归查询

本地 DNS 服务器向根域名服务器发起请求,如果根域名服务器不能给出最终结果,就会告知本地 DNS 服务器下一步向哪个顶级服务器发起查询。

本地 DNS 服务器向顶级服务器发起请求,顶级服务器不能直接解析出 IP 地址,就会告知本地 DNS 服务器下一级权威域名服务器的地址。

(4)返回解析结果

当找到能够解析出 IP 地址的权威服务器后,权威服务器会将 IP 地址返回给本地 DNS 服务器,本地 DNS 服务器再将结果返回给客户端。客户端获得 IP 地址后,即可与对应的主机建立连接。

(5)缓存更新

本地 DNS 服务器会将查询到的 IP 地址缓存一段时间,以便后续查询能够更快地得到响应。

怎么设置域名解析?

想要实现 DNS 解析的翻译效果,就需要网站管理人员对域名进行解析设置,将域名和服务器 IP 地址绑定起来,具体操作步骤如下:

(1)登录域名管理页面

首先要知道购买域名的域名注册商然后登录域名管理控制平台或其他管理页面。

(2)进入域名解析设置

在域名管理平台,找到“DNS 设置”“域名解析”之类的选项,不同的域名注册商界面可能不太一样,但通常都会有 DNS 设置相关的入口。通过 DNS 设置的入口进入域名解析设置的页面。

(3)添加或修改解析记录

在域名解析设置页面,点击“添加解析记录”或类似的按钮,会弹出添加解析的对话框,设置各项参数。

主机值:如果只针对主域名做解析,填写“@”或留空;如果做泛解析,填写“*”;如果针对某个子域名做解析,填写子域名名称,如“www”。

记录类型:根据需要选择合适的记录类型,如 A 记录(指向 IPv4 地址)、AAAA 记录(指向 IPv6 地址)、CNAME 记录(指向另一个域名)等。

TTL 值:设置域名解析记录在 DNS 服务器中的缓存时间。一般情况下,使用默认值即可;如果需要频繁修改解析记录或对安全性要求较高,可以设置较小的 TTL 值,反之则可以设置较大的 TTL 值。

记录值:根据记录类型填写相应的值。例如,A 记录填写 IPv4 地址,AAAA 记录填写 IPv6 地址,CNAME 记录填写另一个域名。

解析线路:如无特殊情况,使用默认线路即可。

(4)保存设置

填写完各项参数,检查无误后,点击保存或提交按钮,等待解析记录的生效。

(5)等待解析生效

新添加的解析记录通常会即时生效,但修改或删除的解析记录可能需要等待一段时间(一般为 10-30 分钟,具体取决于 TTL 值的设置)才能在全球 DNS 服务器上更新并生效。

(6)验证解析结果

可以通过命令行工具(如 ping 或 nslookup)输入域名,看能否指向对应的目标地址,如果能显示正确的 IP 地址,则表明解析已经生效。

不同场景下的解析生效时间

(1)新添加解析记录

如果是首次添加解析记录,由于各地的本地 DNS 服务器中没有相关缓存记录,所以用户发起请求,直接请求权威解析服务器,获得最新添加的解析记录,因此这种情况下,域名解析是实时生效的。

(2)修改解析记录

因为各地的 DNS 服务器中有缓存记录,所以用户请求域名,仍然会从缓存中读取原解析记录。只有当各地的 DNS 缓存失效后,才会去请求权威解析服务器获取最新的解析记录。解析生效时间和原解析记录中的 TTL 值相关。

(3)删除解析记录

和修改解析记录一样,删除解析记录也不会立即生效,也是和原解析记录中的 TTL 值相关。

(4)修改 DNS 服务器。

修改 DNS 服务器也不会实时生效。因为缓存的原因,即使修改了 DNS 服务器,当用户发起请求时,仍然会请求原来的 DNS 服务器。只有等缓存失效后,新的 DNS 服务器才会生效,这个时间一般在 24—48 小时之间。

解析不生效常见问题

解析记录设置好了之后,有时候检查会发现解析没有生效,访问域名没有办法指向正确的地址,可能是由于下面原因造成的:

解析设置问题:在添加或修改解析记录时,如果各项参数填写错误,就会导致 DNS 解析失败。

DNS 缓存问题:如果 DNS 缓存没有失效,用户发起请求后,本地 DNS 服务器仍然会从缓存中读取结果,而不是请求最新的记录。

域名状态异常:域名状态出现 pendingverification、serverhold、clienthold 等情况时,意味着域名被域名注册商或注册局暂停了解析功能,会出现 DNS 解析失败的情况。

DNS 劫持:由于 DNS 解析在网络通信中的重要作用,使其成为网络攻击的重点目标,如果 DNS 遭到劫持,就会将用户的请求重定向到错误的站点。

DNS 服务器故障:如果域名授权的权威服务器发生线路拥堵或宕机,也不能提供正常的解析服务,导致域名解析不生效。

DNS 解析不生效解决方法

如果是因为 DNS 缓存问题导致 DNS 解析不生效,就属于正常现象,只需要等待 DNS 缓存失效,新的解析就会自动生效。

如果是其他非正常原因造成的 DNS 解析不生效,可以采取以下措施:

首先,检查 DNS 解析配置,看看记录类型、主机值、解析线路、记录值等各项参数是否正确。

其次,通过 whois 工具查看域名的状态,检查域名状态是否异常,如果出现上述状态,及时和域名注册商联系查明原因。

再次,选择专业的 DNS 服务器,DNS 服务器的安全与性能对 DNS 解析的稳定和速度影响很大,所以在选择域名授权的 DNS 服务器时一定要慎重选择。

如果是因为 DNS 劫持造成的解析失败,就需要联系域名注册商或者解析服务商去处理,或者更换更专业安全的 DNS 服务器,如国科云智能云解析,具备 DNSSEC、高防 DNS、全局流量管理等功能,能够有效域名 DNS 劫持、缓存污染等针对 DNS 解析环节发动的网络攻击。

总而言之,DNS解析是互联网中不可或缺的一部分,它确保了用户能够通过易于记忆的域名访问网站和服务。通过了解 DNS 解析的原理、工作流程、设置步骤和常见问题,我们可以更好地配置和管理 DNS 设置,提高网络访问的效率和安全性。

用户头像

国科云

关注

还未添加个人签名 2021-01-07 加入

还未添加个人简介

评论

发布
暂无评论
一文读懂DNS解析原理、设置步骤、生效时间和常见问题_国科云_InfoQ写作社区