DNS 系统将人类可读域名转换为计算机可识别的IP地址,使用户能访问目标网站。
当用户在 Web 浏览器中输入域名时,用户的计算机会与 DNS 解析器通信,DNS 解析器导航 DNS 系统,以访问具有所请求网站的 IP 地址的权威名称服务器(通常是主服务器,但有时如果主服务器关闭或过载,则为辅助服务器)。这个对应的 IP 地址被发送回给用户,并且用户连接到该网站。
管理员在主 DNS 服务器配置域的区域与 DNS 记录。辅服务器用于构建系统弹性。这些服务器存储主服务器区域记录的完整副本,在主服务器不可用时处理查询解析。
公司可能会设置数十台服务器,并将主域名服务器中的区域(及其中的记录)复制到所有辅助服务器。
主 DNS 服务器还存有域的授权起始 (SOA) 记录,其作用类似版本控制系统——向辅服务器通知主区域文件更新,并跟踪与备份服务器的复制过程。
互联网用户不可见主 DNS 服务器和辅 DNS 服务器区别。两者信息相同,区别仅对管理员有意义。主服务器执行修改,辅服务器同步副本。
此系统在 DNS 流量路由与网络弹性中起核心作用。
域名系统 (DNS) 是互联网标准协议的组成部分,负责将人类友好的域名转换为计算机用于在网络上识别彼此的互联网协议 (IP) 地址。
通常被称为“互联网的电话簿”,一个更现代的类比是 DNS 管理域名的方式与智能手机管理联系人的方式类似。智能手机通过将电话号码存储在易于搜索的联系人列表中,用户无需记住单个电话号码。
同样,DNS 使用户能够使用互联网域名而不是 IP 地址连接到网站。用户无需记忆网页服务器地址如“93.184.216.34”,只需访问“www.example.com”即可获取所需结果。
主 DNS 服务器存储名称服务器 (NS) 记录、A 记录、MX 记录及 CNAME 记录(含其他类型),将准确数据信息路由至用户。
关键的是,主服务器还存有域的 SOA 记录。SOA 记录提供域的权威信息,包括主名称服务器、管理员邮箱、刷新计时器(指定区域刷新频率)及域序列号。
注册域时会创建其名称服务器 (NS) 记录,并将其存储在主 DNS 服务器上,该服务器通常由托管公司或 DNS 服务提供商提供。管理员修改或更新 DNS 记录时,必须在主 DNS 服务器操作。然后,变更将传播至所有辅服务器。
服务器管理员可以指定任意 DNS 服务器为主或辅服务器。事实上,服务器可以在一个区域中指定为主服务器,在另一个区域中指定为辅服务器。但每个 DNS 区域仅允许存在单一主服务器。
当用户在浏览器或应用程序中输入域名时,请求将发送至递归解析器。通常,用户设备预设互联网服务提供商 (ISP) 提供的 DNS 设置,以确定部署的解析器。
解析器检查 DNS 缓存(Web 浏览器或 Windows 或 Linux 等操作系统中的临时存储)以查找域的相应 IP 地址。如果未缓存 DNS 查询数据,则解析器会从权威 DNS 服务器检索该数据,该服务器查找 DNS 区域文件,缓存 DNS 记录(由记录的生存时间 (TTL) 指定的时间),并将相应的 IP 地址返回给用户的设备。
随后,浏览器或应用程序可以向该 IP 地址的主机服务器发起连接,访问目标网站或服务。
DNS 服务器按职能分为“主服务器”和“辅服务器”两类。主 DNS 服务器是域 DNS 记录的权威来源,存储区域文件的原始读写版本;辅 DNS 服务器则持有区域文件的只读副本,用于负载均衡与冗余管理。如果主服务器出现故障,查询将自动路由至辅服务器处理。
辅 DNS 服务器是非必需的;当只有主服务器可用时,DNS 系统可以正常工作。但域名注册商通常要求至少配置一台辅服务器,以实现轮询 DNS(将流量均分至各服务器)、防范拒绝服务攻击并构建系统弹性。当一台或多台服务器出现故障时,备用服务器仍可连接用户至目标网站。
主服务器和辅服务器共同维护 DNS 系统效率:协同使用时,用户查询可以由任意可用的服务器处理(无论主辅状态)。但是,下面详述主 DNS 服务器和辅 DNS 服务器之间的区别。
除了存储主区域文件外,主 DNS 服务器还响应域管理员的更新请求,并处理动态更新。辅助区域服务器是备份服务器,在主服务器宕机或主服务器过载时处理 DNS 请求。
主域名服务器上的主区域文件包含所有 A 记录(IPv4 地址记录);AAAA 记录(IPv6 地址记录);MX 记录(定向到邮件服务器);CNAME 记录(将别名映射到其真实或“规范”域名);SOA 记录(包含域的所有管理信息);以及给定域的 TXT 记录(指示电子邮件身份验证的发件人策略框架记录)。管理员直接管理此文件,对 DNS 记录的任何更新或更改都首先在此处进行。
辅助 DNS 服务器是从主服务器传输过来的区域文件的副本。它们不能直接修改或编辑区域文件。相反,它们会定期与主服务器联系,检查称为区域传输的过程中的更新。
配置主 DNS 涉及设置区域文件、资源记录和访问控制,并且可能包括安排到指定辅助服务器的权威和增量区域传输(AXFR 和 IXFR)。
辅 DNS 配置要求管理员在主服务器和辅服务器之间设置用于区域数据传输的通信协议,并指定与主服务器的签入更新频率。
尽管主 DNS 服务器是必不可少的,但它也代表单点故障。如果它崩溃且无指定辅服务器接管工作负载,整个 DNS 解析过程将受到影响。辅服务器不能脱离主 DNS 服务器独立存在;但当主服务器宕机时,辅服务器可维持 DNS 正常运行直至主服务器恢复。
管理员依赖辅 DNS 服务器支持主服务器并最大限度地提高系统弹性。
由于辅服务器拥有权威域名服务器记录的完整副本,可在主服务器崩溃或不可用时接管工作。但是,如果需要管理员手动创建和管理副本,将导致主辅服务器间数据延迟。相反,主辅 DNS 机制通过自动复制过程解决此问题。
当管理员对主服务器进行更改时,SOA 记录中的域序列号会更改为序列中的下一个数字(例如,如果序列号是 SOA 1,则会更改为 SOA 2)。
在传统 DNS 配置中,辅助域名服务器按预设间隔查询主服务器,获取当前 SOA 序列号。如果主服务器报告变更,辅服务器发起 AXFR 或 IXFR 请求启动复制。随后主服务器将更新数据及新 SOA 序列号传回辅服务器。
这种 DNS 配置强制辅助服务器启动 XFR 拉取请求,以了解主服务器是否发生了更改,从而增加一个步骤,减慢 DNS 速度。
但是,现代配置采用“NOTIFY”协议:当管理员进行更改时,主域名服务器向备份服务器发送用户数据报协议 (UDP) 消息。辅服务器随即检查 SOA 序列号确认变更,发起更新拉取请求。
对主 DNS 和辅助 DNS 使用这种方法有助于系统管理员最大限度地提高系统可靠性和弹性。它还能保持服务器同步并确保用户可以访问任何服务器以获取最新信息。
虽然使用主 DNS 和辅助 DNS 是通过互联网冗余实现可靠性的最常见方法,但这种做法也并非没有挑战。主-辅助方法通常无法适应高级功能,例如全局服务器负载均衡 (GSLB)。
诸如 GSLB 等流量调度工具根据地理位置邻近性引导用户访问 DNS 服务器。DNS 路由器自动将请求发送至最近的可用服务器,以加速解析过程。
但此功能多为专有技术,无法通过 XFR 协议传输。域名管理员可在主域名服务器配置 GSLB,但无法将该配置转移至辅服务器。
为解决此问题,企业可以选择具备专有系统的供应商,以支持全球多服务器部署。 例如,任播 DNS 允许管理员将单一 IP 地址(或 IP 地址组)分配给多个地理位置分散的服务器。
不同于传统 DNS 的一对一通信模式,任播实现一对多通信。因此,当用户发起请求时,该请求将被发送至解析器网络(而非单一解析器),并由最近的可用服务器完成解析。
或者,如果采用多供应商方案,组织可以设置多个主域名服务器,使用户请求在其间动态分配。管理员无需依赖辅 DNS 和 XFR 传输,而可直接通过 API 配置所有服务器。
主辅 DNS 对查询路由均至关重要,优化主 DNS 服务器可以加速整个 DNS 系统。企业通过以下实践最大限度地利用其 DNS。
选择具备高可用性、完善冗余协议及高效技术支持服务的 DNS 供应商,确保快速可靠的查询响应。
主 DNS 服务涵盖公共 DNS 服务到高级托管 DNS 服务器等方案,最佳选择取决于企业需求1、预算及复杂度。公共 DNS 虽提供免费开放访问,但升级高级 DNS 可实现更精细控制。
及时更新 DNS 记录以反映 IP 地址、基础设施及服务变更,确保持续准确的域名解析。
传统的主/辅助 DNS 架构在现代托管 DNS 提供商中已经过时。如今大多数提供商都提供名称服务器 IP 供使用,而每个 IP 背后都有一个 DNS 服务器池,这些服务器使用任播(一对多传输协议)路由请求。与经典模型相比,这种方法往往提供更好的冗余和更高的可用性。
然而,即使在高级 DNS 部署中,辅 DNS 服务仍具价值:
辅 DNS 使团队能够访问指向其组织中托管的旧 DNS 服务器的工具、代码和旧系统。在架构迁移期间,辅服务器允许管理员在不中断依赖项的情况下定义辅 DNS 提供商。这样可以使所有现有进程保持同步,但使新的 DNS 服务器能够在内部服务器变慢或出现故障时做出响应。
对于许多拥有高流量站点和任务关键型 Web 应用程序的组织来说,中断是不能容忍的。如果主 DNS 服务器遇到延迟或其他问题,使用辅助域名服务器可帮助管理员避免任何单点故障。
托管服务可为您的组织配置专用 DNS 部署——该部署在其与常规托管 DNS 服务不同的网络和服务器上运行。此方案在保持单一供应商服务的同时实现冗余。此外,专用部署不会与其他组织共享,因此它不会受到针对服务上其他客户的攻击。
IBM NS1 Connect 是一项完全托管的云服务,用于企业 DNS、DHCP、IP 地址管理和应用程序流量导向。
IBM 的云网络解决方案可实现高性能连接,为应用程序和业务提供支持。
使用 IBM Technology Lifecycle Services 整合数据中心支持,以实现云网络等。
1 “大型企业是否应该自托管其权威 DNS?”,IBM.com,2024 年 2 月 1 日
2 “为什么 DNS 防护应作为混合云安全第一步”, (TechRadar,2024 年 2 月 1 日