DNS 理论篇 & 实践篇¶
一、理论篇¶
1. 域名层级¶
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),切换后再调大。
三、线上排查¶
dig @8.8.8.8 www.example.com绕过本地 DNS,看权威记录是否正确。dig +trace看哪一环出问题。- 多台机器、多个地区测试。
面试加分
- 为什么 CDN 用 CNAME?CDN 厂商的 IP 会变,用 CNAME 方便切换。
- 根服务器只有 13 组(不是 13 台),任播技术。