
模块 1|DNS 将名称连接到信息
DNS 是 Domain Name System(域名系统)的缩写。它是一种分布式命名系统,允许客户端请求与域名关联的信息。地址查询是常见例子,但 DNS 也保存邮件路由、服务配置和其他用途的记录。
可以把 DNS 理解为回答一个已明确类型的问题。请求 A 记录是在请求 IPv4 信息;请求 MX 则是在请求邮件交换信息。同一个名称会因记录类型不同而得到不同答案。理解问题本身,是理解结果的关键。
模块 2|把名称与 URL 分开
在 https://www.example.com/guides 中,www.example.com 是主机名。HTTPS 是应用协议方案,/guides 是页面路径。普通的 DNS 地址查询针对主机名,而不是路径。
这种区分解释了为什么正常工作的首页和缺失的文章可能共享同一次成功的 DNS 查询。某个路径返回 404 属于 HTTP 或内容层。修改 DNS 记录通常不会创建缺失的页面。
模块 3|跟踪一次查询中的参与者
| 参与者 | 作用 | 有用的诊断问题 |
|---|---|---|
| 应用和本地解析器 | 请求答案,并可能使用本地缓存 | 应用需要哪个名称和类型? |
| 递归解析器 | 返回缓存答案或解析该问题 | 哪个解析器在何时回答了? |
| 根和顶级域委派 | 把解析引向相关区域 | 委派是否到达了预期的服务器? |
| 权威服务器 | 发布其区域的数据 | 当前发布的记录是什么? |
缓存答案可以避免重复整条路径。一次新的递归查询可能需要多个步骤,但用户通常不会手动联系每台服务器。诊断跟踪可以暴露更多过程,帮助进行调查。

模块 4|阅读一个小例子
假设客户端请求 app.example.com 的 A 记录。其解析器返回示例地址 192.0.2.30,TTL 为 300 秒。这个地址只是文档示例;TTL 描述了该答案的缓存时长。
客户端仍然需要连接服务并发起应用请求。DNS 答案无法证明服务在线、用户已获授权,或服务正在返回预期内容。请在排查记录中把这些检查分开。
模块 5|理解为什么两个答案可能不同
解析器可能缓存了不同时间取得的数据。域名也可能根据网络或位置使用不同答案。私有组织可能发布只存在于内部、而不存在于公共 DNS 中的记录。
在把差异称为错误之前,比较准确的名称、记录类型、解析器、网络环境和时间。先问清应用预期的结果是什么。不同的数字地址仍然可能都指向配置正确的服务。
模块 6|选择与问题匹配的记录
使用 A 记录指南 检查 IPv4 映射,使用 AAAA 指南 检查 IPv6 映射。使用 CNAME 查询检查别名。检查区域元数据和负缓存行为时使用 SOA。这些问题在同一流程中相互关联,但答案不能互相替代。
进行公开演示时,运行 nslookup -type=A example.com,并识别解析器和答案。然后只改变请求的记录类型。保持名称不变会让对比更容易理解。
模块 7|常见问题
DNS 和域名注册商是同一个东西吗?不是。注册和 DNS 托管可以由不同组织提供;DNS 答案取决于被委派的服务及其发布的记录。
DNS 能让网站安全吗?DNS 只是路径的一部分。HTTPS、身份验证、应用安全和适当的 DNS 保护解决的是不同问题。不要把查询成功当成安全结论。
模块 8|把概念变成一次有用的查询
先写出一个明确的问题,例如“这个公共主机名发布了哪个 IPv4 地址?”使用 nslookup 命令指南或 Arcvenza 的浏览器工具,打开 NSLookup;记录记录类型和解析器,并检查结果。如果响应报告不存在,请查看 NXDOMAIN 指南,不要从空白页面猜测原因。

