上个月帮朋友折腾他的新站:域名在阿里云买的,服务器也通了,直接用服务器 IP 访问一切正常,但一输域名就转圈,最后报"无法访问此网站"。他急得不行,问我是不是服务器被墙了。我说先别急,查一下 DNS——结果一查,域名解析压根没配。这种"域名打不开"的乌龙,十有八九出在 DNS 上,而不是服务器上。

DNS 是干什么的

你在浏览器里输入的是 www.example.com,但真正定位到服务器靠的是 IP 地址,比如 93.184.216.34。IP 是电脑在网络里的门牌号,域名是给人记的名字,DNS(Domain Name System,域名系统)就是在这两者之间做翻译的电话簿。

没有 DNS 会怎样?你得记住每个网站的一串数字,服务器搬家还得重新记。有了 DNS,你只要记域名,剩下的交给它,整个过程通常一眨眼就完成。

DNS 解析流程示意图:浏览器输入 www.example.com 后,经递归解析器逐级查询根服务器、.com 顶级域和 example.com 权威服务器,最终返回 IP 地址 93.184.216.34
图:一次完整的 DNS 解析要经过根 → 顶级域 → 权威三步,命中缓存时可以一步返回

一条完整链路大致四个环节。你的电脑先向系统里的 DNS 客户端发问:www.example.com 的 IP 是多少?接着由运营商或公共 DNS 担任的递归解析器先翻缓存,没有就继续往上问。然后是服务器链:先问根服务器"谁管 .com",再问 .com 顶级域"谁管 example.com",最后找到 example.com 的权威服务器——只有它手里存着域名和 IP 的对应记录。权威服务器把 IP 逐级返回来,每一层按 TTL 缓存一段时间,下次访问直接命中。

平时访问基本都命中缓存,所以你感知不到这条链路;只有刚改解析、缓存失效或配置出错时,它才跳出来刷存在感。

常见的 DNS 记录类型

给域名做解析,本质是加一条条记录。最常见的有这么几种:

记录类型作用典型例子
A域名指向 IPv4 地址@ → 93.184.216.34
AAAA域名指向 IPv6 地址@ → 2400:cb00:2049:1::a29f:2202
CNAME域名指向另一个域名(别名)www → example.com
MX邮件服务器的地址,收信时按它投递@ → mail.example.com(优先级 10)
TXT一段说明文本,常用于域名所有权验证、防垃圾邮件@ → v=spf1 include:_spf.example.com
NS指定该域名的权威 DNS 服务器example.com → ns1.dnspod.net

个人网站一般只要 A 记录(或 CNAME);要用企业邮箱得配 MX;域名备案、平台回调验证经常要加 TXT 记录。

网站"打不开",多半是这几类

刚改了解析,新记录要等生效,本地和运营商缓存更新要几分钟到几小时,别刚配完就怀疑人生。记录配错了,A 记录指向的 IP 不是服务器真实 IP,或 CNAME 指向了不存在的域名。个别网络环境下 DNS 被劫持或污染,表现为跳广告、跳别的站或直接失败。再有就是本地缓存作祟,浏览器或系统缓存了旧的错误结果。

打不开时按这个顺序排:先用站里的DNS查询工具输入域名查 A、CNAME、MX 记录,和服务器商那边的配置逐条对;然后刷新本机缓存,Windows 命令行执行 ipconfig /flushdns,macOS 执行 sudo dscacheutil -flushcache;再换公共 DNS(114.114.114.114 或 8.8.8.8)排除运营商干扰;还不行就换浏览器、开无痕各试一次,最后再怀疑服务器本身。

有个误区得澄清:DNS 生效不用等 24 小时。新域名的 NS 记录传播可能慢,但普通 A 记录修改通常几分钟到几小时就生效,TTL 设得短生效更快。反过来,"换了解析立刻生效"也不对,权威服务器更新了,你和运营商的缓存还没过期,得等 TTL 走完。

DNS 是互联网里最容易被忽略、也最容易出问题的基础设施。理解了解析链路,再配一个顺手的查询工具,绝大多数"域名打不开"都能自己定位。想继续深入网络知识,可以接着读子网掩码到底是什么?一文看懂 IP 地址与 CIDR。