跳转至

DNS 理论篇 & 实践篇

一、理论篇

1. 域名层级

com                  顶级域(TLD)
example.com          二级域
www.example.com     主机记录

2. 解析顺序

浏览器 → OS 缓存 → hosts → LDNS → 根 → 顶级域 → 权威。

3. 负载均衡

DNS 轮询:一个域名配多个 A 记录。简单但不够灵活,调整要等 TTL。

4. 智能 DNS

根据用户运营商、地理位置返回不同 IP(电信用户走电信线路)。

二、实践篇

1. 常用命令

# 查 A 记录
nslookup www.example.com
dig www.example.com
dig www.example.com +trace

# 查 CNAME
dig CNAME www.example.com

# 查 NS
dig NS example.com

# 本地 hosts
# Windows: C:\Windows\System32\drivers\etc\hosts
# Linux: /etc/hosts

2. 常见问题

改了 DNS 不生效

  • 本地 DNS 缓存:ipconfig /flushdns(Windows)。
  • TTL 未过期,等。
  • 浏览器缓存。

域名过期

  • DNS 解析记录被暂停。
  • 重新解析即可。

DNS 劫持

运营商或公共 DNS 篡改结果,返回钓鱼 IP。解决:用 DoH(DNS over HTTPS)。

3. 记录类型选择

  • 网站:A / CNAME。
  • 邮件:MX。
  • 验证域名所有权:TXT。
  • 子域名委托:NS。

4. TTL 设置

  • 稳定的域名:TTL 设 3600 或更高。
  • 准备切换 IP 前:先把 TTL 改小(如 60),切换后再调大。

三、线上排查

  1. dig @8.8.8.8 www.example.com 绕过本地 DNS,看权威记录是否正确。
  2. dig +trace 看哪一环出问题。
  3. 多台机器、多个地区测试。

面试加分

  • 为什么 CDN 用 CNAME?CDN 厂商的 IP 会变,用 CNAME 方便切换。
  • 根服务器只有 13 组(不是 13 台),任播技术。