mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
3031 字
9 分钟
DNS 域名系统基础指南
2026-03-19

DNS 域名系统基础指南#

这是一篇面向零基础读者的 DNS 教程,尽可能用通俗易懂的语言解释复杂的概念。


前言:为什么要学 DNS#

在正式开始之前,我们先来思考一个问题:为什么我们需要 DNS?

想象一下这样的场景:

你想给朋友打电话,但你不记得朋友的手机号码,只记得他的名字”小明”。

在日常生活中,你会怎么做?你可能会翻看通讯录,搜索”小明”,然后找到对应的电话号码。

DNS 的作用就类似于通讯录。当你在浏览器中输入 bayunmoyu.com 时,计算机并不知道这个域名对应哪个服务器,需要通过 DNS 将域名转换为 IP 地址,才能建立网络连接。

如果没有 DNS

  • 我们需要记住所有网站的 IP 地址(如 142.250.185.78 而不是 google.com
  • 如果服务器更换 IP 地址,所有收藏的链接都会失效
  • 无法实现一个服务器托管多个网站

第一章:什么是 DNS#

1.1 DNS 的定义#

DNS(Domain Name System,域名系统) 是互联网的一项核心服务,它作为一个分布式数据库,将人类可读的域名(如 bayunmoyu.com)转换为机器可识别的 IP 地址(如 192.168.1.1)。

你可以把 DNS 理解为互联网的电话簿通讯录

1.2 域名由什么组成#

让我们以 www.bayunmoyu.com 为例,解释域名的结构:

部分名称示例
子域名Subdomainwww、blog、api、mail
二级域Domainbayunmoyu
顶级域TLD.com、.cn、.org、.net

1.3 常见顶级域分类#

通用顶级域(gTLD)

  • .com - 商业机构
  • .org - 非营利组织
  • .net - 网络服务机构
  • .edu - 教育机构
  • .gov - 政府机构

国家代码顶级域(ccTLD)

  • .cn - 中国
  • .jp - 日本
  • .uk - 英国
  • .de - 德国

第二章:DNS 的层级结构#

2.1 分布式架构#

DNS 采用分布式、层级式的架构,没有一台 DNS 服务器存储所有的域名信息。这种设计有以下优点:

  • 高可用性:即使部分服务器故障,其他服务器仍能正常工作
  • 扩展性强:可以无限扩展域名数量
  • 负载均衡:分散查询压力

2.2 DNS 服务器的类型#

DNS 系统中有多种类型的服务器,各司其职:

根域名服务器(Root Server)#

  • 全球只有 13 组 根域名服务器(A-M)
  • 负责管理顶级域(如 .com.cn)的服务器地址
  • 是 DNS 查询的起点

顶级域服务器(TLD Server)#

  • 负责特定顶级域下的所有二级域名
  • 例如:.com 服务器管理所有 .com 结尾的域名

权威域名服务器(Authoritative Server)#

  • 存储实际的 DNS 记录
  • 是域名解析的”最终负责人”
  • 通常由域名注册商或 DNS 服务商提供

递归域名服务器(Recursive Resolver)#

  • 负责完整查询流程的”中介”
  • 通常由 ISP(网络服务商)提供
  • 会缓存查询结果以提高速度
  • 其核心行为是代表用户客户端向各级 DNS 服务器发起递归查询,直到获得最终答案

2.3 层级关系图#

graph TD A[用户终端] --> B[递归 DNS] B --> C[根 DNS .] C --> D[.com DNS] E[权威 DNS] --> |返回 IP| B B --> |返回 IP| A C -.-> F[.cn DNS] C -.-> G[.org DNS] D -.-> H[.net DNS] style A fill:#e1f5fe style B fill:#fff3e0 style C fill:#ffcdd2 style D fill:#c8e6c9 style E fill:#f3e5f5

💡 提示:这张图展示了 DNS 查询的整体流程。递归 DNS 就像一个”中介”,帮我们一步步找到最终的 IP 地址。


💡 说明:本文中 example.com 是 ICANN 保留的示例域名,用于文档和测试,实际使用时请替换为自己的域名。

第三章:常见 DNS 记录类型#

了解了 DNS 服务器如何工作后,我们来看存储在这些服务器上的具体”指令”——DNS 记录。

DNS 记录(Record)是存储在权威 DNS 服务器中的信息,不同类型的记录有不同的用途。

3.1 A 记录(Address Record)#

最常用的记录类型,将域名指向一个 IPv4 地址。

举例说明

假设你有一个服务器,IP 地址是 192.168.1.100,你想让 example.com 指向这个服务器:

记录类型主机记录TTL
A@192.168.1.100600
  • 主机记录@ 表示直接解析 example.com
  • TTL:600 秒(10分钟),表示缓存时间

3.2 AAAA 记录#

与 A 记录类似,但用于 IPv6 地址

记录类型主机记录TTL
AAAA@2001:0db8:85a3:0000:0000:8a2e:0370:7334600

💡 小知识:IPv6 地址是未来趋势,现在大多数网站同时提供 A 和 AAAA 记录。

3.3 CNAME 记录(Canonical Name)#

创建别名,让一个域名指向另一个域名。

使用场景

www.example.com 指向 example.com(@ 代表根域名):

记录类型主机记录TTL
CNAMEwww@600
A@192.168.1.100600

这样 www.example.com 实际上会和 example.com 解析到同一个 IP。

3.4 MX 记录(Mail Exchange)#

指定邮件服务器,用于邮件收发。

举例

记录类型主机记录优先级TTL
MX@mail.example.com103600
  • 优先级:数字越小,优先级越高。邮件首先发送到优先级为 10 的服务器
  • 通常需要配合 A 记录使用

3.5 TXT 记录#

存储任意文本信息,用途广泛。

常见用途

  1. SPF 验证(防止邮件伪造):
记录类型主机记录TTL
TXT@v=spf1 include:_spf.example.com ~all3600
  1. 域名验证
记录类型主机记录TTL
TXT@google-site-verification=xxxxxxx3600
  1. DKIM 签名
记录类型主机记录TTL
TXTdefault._domainkeyv=DKIM1; k=rsa; p=xxxxx…3600

3.6 NS 记录(Name Server)#

指定域名的权威 DNS 服务器

示例

记录类型主机记录
NS@ns1.dnspod.net
NS@ns2.dnspod.net
graph LR 域名[🌐 example.com] -->|查询| NS1[🌍 ns1.dnspod.net] 域名[🌐 example.com] -->|查询| NS2[🌍 ns2.dnspod.net] style 域名 fill:#fff3e0 style NS1 fill:#c8e6c9 style NS1 fill:#c8e6c9 style NS2 fill:#c8e6c9

⚠️ 重要:NS 记录在域名注册商处设置,控制整个域名的解析服务器。

3.7 记录类型对比表#

记录类型用途示例值
AIPv4 地址192.168.1.1
AAAAIPv6 地址2001:db8::1
CNAME域名别名example.com
MX邮件服务器mail.example.com
TXT文本信息v=spf1…
NSDNS 服务器ns1.example.com
CAA证书颁发授权0 issue “letsencrypt.org”
PTRIP 反向解析example.com

第四章:DNS 查询的完整流程#

4.1 场景描述#

假设你在浏览器中输入 www.bayunmoyu.com,让我们追踪整个查询过程。

4.2 查询步骤图解#

sequenceDiagram participant 用户 as 用户 participant 浏览器 as 浏览器 participant 递归DNS as 递归DNS participant 根DNS as 根DNS participant 顶级域DNS as 顶级域DNS participant 权威DNS as 权威DNS 用户->>浏览器: 输入 www.bayunmoyu.com alt 缓存命中 浏览器-->>用户: 返回IP else 缓存未命中 浏览器->>递归DNS: 查询DNS 递归DNS->>根DNS: 查找 .com DNS 根DNS-->>递归DNS: 请询问顶级域DNS 递归DNS->>顶级域DNS: 查找 bayunmoyu.com 顶级域DNS-->>递归DNS: 请询问权威DNS 递归DNS->>权威DNS: 查询IP 权威DNS-->>递归DNS: 192.168.1.100 递归DNS->>浏览器: 返回IP 浏览器->>用户: 连接到服务器 end

📌 图解说明:这是完整的 DNS 查询流程,数字标注的每一步都代表一次网络请求。实际查询通常只需要 3-4 步(取决于缓存情况)。

4.3 本地缓存#

为了提高效率,DNS 查询结果会在多个位置缓存:

缓存位置说明
浏览器缓存浏览器会自动缓存 DNS 结果
操作系统缓存Windows/Mac/Linux 操作系统级别缓存
递归 DNS 缓存ISP 的 DNS 服务器会缓存

查看本机 DNS 缓存(Windows)

ipconfig /displaydns

清除本机 DNS 缓存

ipconfig /flushdns

第五章:如何配置 DNS#

5.1 配置 DNS 的基本步骤#

  1. 购买域名:从域名注册商(如阿里云、腾讯云、Namecheap)购买
  2. 选择 DNS 服务商:使用注册商提供的 DNS,或使用 Cloudflare、DNSPod 等第三方服务
  3. 添加 DNS 记录:在 DNS 控制面板中添加相应的记录
  4. 等待生效:DNS 传播通常需要几分钟到 48 小时

5.2 常见 DNS 服务商对比#

服务商特点免费版
Cloudflare全球CDN+DNS,速度快,安全性高✅ 有
阿里云 DNS国内速度快,稳定✅ 有
DNSPod国内品牌,功能丰富✅ 有
Google Cloud DNS谷歌背书,全球可用✅ 有(300美元免费额度)
AWS Route 53亚马逊云服务,集成性好✅ 有(每月100万次查询)

5.3 配置示例(以 Cloudflare 为例)#

  1. 注册 Cloudflare 账号
  2. 添加域名,Cloudflare 会扫描现有 DNS 记录
  3. 修改域名的 NS 记录指向 Cloudflare
  4. 在 Cloudflare 控制面板中添加记录:
记录类型主机记录代理状态
A@192.168.1.100已代理
CNAMEwww@已代理
MX@mail.example.comDNS only
TXT@v=spf1…DNS only

💡 提示

  • 已代理:流量经过 Cloudflare CDN,提供 DDoS 防护和加速
  • DNS only:流量不经过 CDN,仅做 DNS 解析

第六章:常用 DNS 命令和工具#

6.1 nslookup(最基础)#

Windows/Mac/Linux 通用

# 查询 A 记录
nslookup bayunmoyu.com
# 指定 DNS 服务器查询
nslookup bayunmoyu.com 8.8.8.8
# 查询 MX 记录
nslookup -type=MX bayunmoyu.com

6.2 dig(功能强大)#

Linux/Mac 专用,Windows 需要安装

# 基本查询
dig bayunmoyu.com
# 只显示 ANSWER 部分
dig bayunmoyu.com +short
# 查询特定记录类型
dig bayunmoyu.com AAAA
dig bayunmoyu.com MX
dig bayunmoyu.com TXT
# 指定 DNS 服务器
dig @8.8.8.8 bayunmoyu.com
# 跟踪完整查询路径
dig bayunmoyu.com +trace

6.3 ping#

# 简单测试域名解析
ping bayunmoyu.com

6.4 在线 DNS 查询工具#

工具网址特点
DNS Checkerdnschecker.org全球 DNS 传播检查
ViewDNS.infoviewdns.info多种 DNS 查询工具
WhatsMyDNSwhatsmydns.net全球 DNS 传播验证

第七章:常见问题与解决方案#

问题1:DNS 解析失败,提示”服务器找不到地址”#

可能原因

  • 域名拼写错误
  • DNS 记录配置错误
  • DNS 尚未传播完成

解决方法

  1. 检查域名是否拼写正确
  2. 登录 DNS 服务商控制台检查记录
  3. 等待最多 48 小时(DNS 传播)
  4. 尝试更换 DNS 服务器

问题2:修改 DNS 后网站访问不了旧内容#

原因:DNS 传播需要时间,旧 DNS 服务器上还有缓存

解决方法

  1. 等待 DNS 完全生效(最长 48 小时)
  2. 清除浏览器缓存
  3. 清除本机 DNS 缓存:ipconfig /flushdns
  4. 更换网络(如使用手机数据)

问题3:部分地区无法访问网站#

可能原因

  • DNS 服务器故障
  • 运营商 DNS 劫持
  • 网络防火墙

解决方法

  1. 使用公共 DNS(如 1.1.1.1、8.8.8.8)
  2. 使用 DNS over HTTPS(DoH)
  3. 联系网络服务商

问题4:收到”Your IP has been blocked by SPF”的邮件#

原因:发送的邮件被对方服务器识别为垃圾邮件或伪造邮件

解决方法

  1. 检查并正确配置 SPF 记录
  2. 配置 DKIM 和 DMARC 记录
  3. 确保发件服务器 IP 在 SPF 允许范围内

问题5:DNS 污染/投毒#

现象:DNS 返回错误的 IP 地址

原因

  • 网络审查
  • DNS 服务器被攻击
  • 恶意劫持

解决方法

  1. 使用可信的 DNS 服务商(如 Cloudflare、1.1.1.1)
  2. 使用 DNS over HTTPS(DoH)或 DNS over TLS(DoT)加密查询,防止 DNS 劫持
  3. 手动绑定 hosts 文件

手动绑定 hosts 文件#

如果 DNS 被污染,可以手动指定 IP 地址:

Windows 路径C:\Windows\System32\drivers\etc\hosts

Mac/Linux 路径/etc/hosts

格式

192.168.1.100 bayunmoyu.com
192.168.1.100 www.bayunmoyu.com

⚠️ 注意:修改 hosts 文件需要管理员权限,且 IP 变更时需要手动更新。此方法优先级最高,但需要针对每个需要访问的域名手动添加,无法解决动态 IP 或 CDN 的问题,属于临时解决方案。


总结#

本文我们详细介绍了 DNS 的各个方面:

  1. DNS 的定义:互联网的”电话号码簿”
  2. DNS 层级结构:根 DNS → 顶级域 DNS → 权威 DNS
  3. 常见记录类型:A、CNAME、MX、TXT 等
  4. 查询流程:从本地缓存到递归 DNS,再到权威 DNS
  5. 配置方法:购买域名 → 配置 DNS → 添加记录
  6. 常用工具:nslookup、dig
  7. 常见问题:解析失败、DNS 污染等

希望这篇文章能帮助你理解 DNS 的工作原理。如果有任何问题,请联系我。


参考资料

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

DNS 域名系统基础指南
https://bayunmoyu.com/posts/dns-guide/
作者
八云墨玉
发布于
2026-03-19
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00