常用工具及查询🤖 AI 导航HOT寒霜启示录游戏工具攻略文章关于

DNS 解析原理和排查:网站打不开时一步步定位问题

作者:冰原老猫 · 发布:2026-10-22 · 分类:网络运维

广告位(预留,AdSense 审核通过后启用)

“网站打不开”“改了解析没生效”“公司能访问、家里不行”——这些问题很多都和 DNS 有关。DNS 的作用是把 example.com 这样的域名翻译成 IP 地址。理解它的工作过程,排查时就知道该在哪一步找原因。

一、一次查询经历了什么

当你在浏览器输入 www.example.com:

  1. 浏览器和操作系统先查自己的缓存,有就直接用。
  2. 没有缓存时,向递归解析器发问。递归解析器通常由运营商、公司网络或公共 DNS 服务提供,在电脑的网络设置里可以看到它的地址。
  3. 递归解析器如果也没有缓存,就从根服务器开始问:根服务器告诉它 .com 由哪些服务器负责;
  4. 再去问 .com 的服务器,得知 example.com 的权威 DNS 服务器是谁;
  5. 最后向权威服务器查询,拿到 www.example.com 的记录,返回给你,并按 TTL 缓存起来。

记住两个角色:权威服务器保存“真正的答案”(就是你在域名服务商后台配置的那些记录);递归解析器负责帮用户去问,并缓存答案。

二、常见记录类型

三、TTL:为什么“改了解析没生效”

每条记录都有一个 TTL(生存时间,单位秒)。递归解析器拿到答案后,在 TTL 时间内会直接用缓存,不再去问权威服务器。如果原记录 TTL 是 3600,你改了 IP 之后,最长可能要一小时左右,各地用户才会陆续拿到新地址。

实用技巧:计划迁移服务器前一两天,先把 TTL 调小(例如 300 秒),等旧 TTL 过期后再改 IP,切换就会快很多;迁移完成后再把 TTL 调回去。

四、排查工具

nslookup(Windows、macOS、Linux 都有):

nslookup www.example.com              # 用系统默认的解析器
nslookup www.example.com 223.5.5.5    # 指定某个公共 DNS 查询

dig(macOS、Linux 常见,信息更全):

dig www.example.com                   # 查 A 记录,ANSWER 部分有结果和剩余 TTL
dig example.com MX                    # 查邮件记录
dig example.com NS                    # 查权威服务器
dig @权威服务器地址 www.example.com      # 直接问权威服务器,绕过缓存
dig +trace www.example.com            # 从根开始逐级跟踪

Windows 上清除本机 DNS 缓存:ipconfig /flushdns。

五、按步骤定位

  1. 先确认是不是 DNS 问题:ping 域名 如果提示“找不到主机”,是解析问题;如果解析出了 IP 但不通,问题在网络或服务器,不在 DNS。
  2. 换一个解析器查:分别用默认解析器和一个公共 DNS 查询。结果不同,说明某个解析器的缓存还没更新,或者被劫持、污染。
  3. 直接问权威服务器:用 dig NS 找到权威服务器,再用 dig @权威 查询。如果权威服务器的答案就是错的,问题在你的域名配置;如果权威是对的、递归是旧的,等 TTL 过期或清缓存即可。
  4. 检查 NS 是否正确:刚换了 DNS 服务商时,要确认注册商处的 NS 已改成新服务商提供的地址,否则新后台里怎么改都不生效。

六、几个典型故障

七、小结

排查 DNS 问题的核心思路是“分层对比”:本机缓存 → 递归解析器 → 权威服务器,逐层比较答案,就能找到出问题的那一层。查询时记录下各次结果中的 TTL,也能帮你判断缓存还要多久过期。如果需要换算日志里的时间戳,可以用本站的 时间戳转换工具;本站首页的“网络”分类也收录了在线 DNS 查询和 Whois 查询工具。

广告位(预留,AdSense 审核通过后启用)

相关站内工具

同类文章

← 全部文章