01. DNS——互联网的电话本
DNS 就是互联网的「电话本」。你输入 google.com,电脑根本不认识这个名字,得去问 DNS 服务器:「google.com 的 IP 是多少?」DNS 查完了告诉你 142.250.x.x,然后浏览器才去连接它。
没有 DNS 的话,你得把全世界网站的 IP 地址都背下来——那画面太美不敢想。
02. DNS 查询的完整旅程
DNS 查询的过程,就像在一个巨大的公司里找人:
你的电脑先翻自己的「备忘录」(浏览器缓存、系统 hosts 文件)
找不到就去问「前台」——本地 DNS 服务器(通常是路由器或运营商提供的)
本地 DNS 也没有,就一层层往上问:
先问根域名服务器:「谁是管 .com 的?」
再问 .com 的域名服务器:「谁是管 google.com 的?」
最后问 google.com 的权威 DNS,它才给答案:「IP 是 xxx」
整个链路可能七八跳,但因为到处都有缓存,常用的域名秒级就能解析出来。
bash
# 追踪 DNS 查询全过程
dig +trace google.com
# 查不同类型的记录
dig google.com A # IPv4 地址(最常用)
dig google.com AAAA # IPv6 地址
dig google.com MX # 邮件服务器
dig google.com NS # 这个域名归谁管
dig google.com CNAME # 别名
dig google.com TXT # 文本记录(验证、SPF 等)03. DNS 记录类型速查
各种 DNS 记录类型,各干各的事:
A 记录——域名映射到 IPv4 地址,最常用
AAAA 记录——域名映射到 IPv6 地址
CNAME 记录——别名,比如 www 指向主域名
MX 记录——指定谁来处理这个域名的邮件
NS 记录——指定这个域名由哪些 DNS 服务器管理
TXT 记录——存一段文本,常用于 SPF 防垃圾邮件、域名验证
SRV 记录——指定某服务用哪个端口
04. DNS 常见的坑
DNS 也会出各种问题:
DNS 劫持——你的 DNS 查询被中间人偷偷改掉,想去淘宝结果去了钓鱼网站
DNS 污染——某些查询被「投毒」了,返回虚假结果
DNS 缓存——改了 DNS 记录后因为缓存没刷新,部分用户还是访问旧地址
DNS 延迟——DNS 服务器在国外,每次查询几百毫秒
解决方案:换靠谱的 DNS(Cloudflare 1.1.1.1、阿里云 DNS、114DNS),或者开启 DoH/DoT 把 DNS 查询也加密。
推荐把备用 DNS 设成 1.1.1.1 (Cloudflare) 或 8.8.8.8 (Google),速度快还能防劫持。
知识测验
第 1/5 题正确 0
DNS 的 A 记录是干嘛的?
下一节
下一节 负载均衡