域名检测与解析工具 · 晴网互联
DNS污染检测域名被墙查询域名301跳转
公告晴网互联 —— 域名检测与解析工具

网站打不开一定是DNS污染吗,DNS污染怎么判断?

DNS污染检测 2026年11月08日 15:24 4549 字

网站打不开不能直接等同于 DNS 污染——多数情况下是解析记录写错、本地缓存没刷新、服务器本身出问题或者线路拥堵;判断 DNS 污染最直接的办法是”拿不同的 DNS 服务器去查同一个域名,看返回的 IP 是否一致”。只要两边结果对不上,问题基本锁定在解析环节;如果结果一致却依然连不上,那就要往链路和服务器方向查了。

网站打不开时,先分清它卡在哪一层

浏览器给的报错文字不一样,指向的环节也不一样。很多人看到”无法访问此网站”就开始怀疑 DNS 污染,其实这一步就太急了。先看错误码:

  • ERR_NAME_NOT_RESOLVED / DNS_PROBE_FINISHED_NXDOMAIN:域名根本没解析出结果,问题在 DNS 环节,可能是记录没生效、域名过期,也可能是污染。
  • ERR_CONNECTION_TIMED_OUT、页面一直转圈:域名已经解析到 IP,但连接建立不起来。可能是服务器宕机、安全组没放行端口,也可能是链路被阻断。
  • ERR_CONNECTION_RESET:连接被中途重置。这种”握手中断”的形态,在国内访问境外站点时出现得比较多。
  • 能打开但打开的是别的页面:解析结果被指向了不相干的地址,这属于解析被劫持的典型表现。

据工信部历年发布的网络运行情况通报,域名解析类故障在网站不可访问原因中一直占着不小的比例,但”解析类故障”和”DNS 污染”是两个概念,前者是配置问题,后者是人为干扰。混在一起谈,排查方向很容易跑偏。

域名被墙和DNS污染有什么区别?先分清再动手

这两个词在日常交流里经常被混用,实际上它们破坏的是访问链路的不同一环:一个动的是”地址簿”,一个动的是”路”。

失败环节不同,现象自然不同

  • DNS 污染:你问”这个域名的 IP 是多少”,返回的答案本身就是错的。查询在传输途中被投毒,本地拿到的 IP 根本不通,甚至指向保留地址。换一台干净的 DNS 服务器去问,往往能拿到正确结果。
  • 域名被墙:解析是正常的,nslookup 拿到的 IP 完全正确,ping 有时还能看到回包,但 TCP 连接就是建不起来,或者刚建立就被重置。典型特征是”境内不通、境外正常”。
  • 解析配置错误:权威 DNS 里存的记录本身就写错了,比如服务器换了 IP 但 A 记录没改、子域名少写一个字母。这种情况无论换哪个 DNS 服务器去查,结果都是错的,而且错得一模一样。
现象 换公共DNS后结果 ping 域名 浏览器报错 常见原因
解析 IP 明显异常、不通 结果变化,出现正确 IP 解析到假 IP,超时 超时 / 无法解析 DNS 污染
解析 IP 正确但连不上 结果一致,IP 正确 可能通,可能丢包 连接重置 / 超时 域名被墙或端口未放行
解析结果始终错误 结果一致,都是错的 指向错误 IP 无法解析 / 打开别的页面 解析记录配置错误
部分设备打不开 结果一致且正确 正常 偶发失败 本地缓存或本地网络问题

还有个高频误判:把”没生效”当成”被污染”

刚改完解析记录就测试,是全球最常见的误判来源。DNS 记录有 TTL 缓存期,各地递归服务器刷新的节奏不一样,改完往往要等几分钟到几十分钟才陆续生效。这期间在外地查到旧 IP,看起来就像”被动手脚了”。所以测试前先确认:这条记录是不是刚改过?TTL 设了多少?改完之后过了多久?

网站打不开怎么判断是不是DNS污染?四步自查顺序

业内专家指出,排查解析问题要遵循”从本地到远端、从自身到外部”的顺序,先把最容易排除的因素排除掉,才不会越查越乱。

第一步:换一个 DNS 服务器再查一次

这一步是整个判断的核心。用系统默认 DNS 和几个不同的公共 DNS 分别查同一个域名,把结果记下来对比。

Windows 命令提示符下:

  1. nslookup 你的域名(用本地默认 DNS)
  2. nslookup 你的域名 223.5.5.5
  3. nslookup 你的域名 119.29.29.29

macOS 或 Linux 用 dig 更直观:

  1. dig 你的域名 +short
  2. dig @8.8.8.8 你的域名 +short
  3. dig @1.1.1.1 你的域名 +short

结果的解读方式很直接:三次查出来的 IP 一致且正确,DNS 污染的嫌疑基本可以排除;如果本地默认 DNS 返回一个明显不对的 IP,而公共 DNS 返回的是你服务器真实的 IP,那就高度怀疑本地解析被污染了。再看那个错误 IP 长什么样——如果是 0.0.0.0、127.0.0.1 或者一堆跟你的服务器毫无关系的境外地址,基本可以确认。

还有一招可以交叉验证:用浏览器直接访问公共 DNS 服务商提供的加密查询接口,比如 https://dns.google/resolve?name=你的域名&type=A,看返回的 Answer 字段。加密查询绕开了明文 DNS 的传输路径,如果这里拿到的是正确 IP,而系统默认查询拿到的是错的,两边一对照,结论就很清楚了。

第二步:确认解析记录本身没写错

登录域名解析服务商的控制台,逐条核对:A 记录指向的 IP 是不是服务器当前的公网 IP、主机记录有没有拼错、记录类型选没选对(A 记录和 CNAME 记录不能乱用)、解析线路有没有误设成只对某条线路生效。这一步花不了两分钟,却能排掉相当一部分”假污染”。

第三步:分辨”解析错”和”连不上”

解析确认没问题之后,换个方向验证链路:

  • ping 你的域名,看是否返回了正确 IP,以及是否有回包。
  • telnet 你的域名 443,或用 curl -I https://你的域名 看能不能完成握手。连接被立刻重置,说明是链路层被干预;一直卡在连接阶段,更像服务器或防火墙的问题。
  • tracert 你的域名(Linux 用 traceroute),看数据包在哪一跳之后没有响应。

如果 ping 正常、端口也通,那网站打不开的原因就完全不在解析上,得去查服务器进程、Web 服务配置或者域名是否欠费停用。

第四步:换网络、换设备做交叉验证

用手机流量(关掉 Wi-Fi)打开同一域名,再换一台没访问过该站点的设备重试。多环境结果一致,说明是站点侧的问题;只有你自己的网络打不开,那就回到本地排查:先刷新 DNS 缓存——Windows 执行 ipconfig /flushdns,macOS 执行 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,Linux 上 systemd-resolved 环境执行 sudo systemd-resolve --flush-caches,再复测一次。

域名解析不生效怎么办?三种常见情况

刚改完记录,等待生效

TTL 设得越长,全网刷新越慢。紧急切换服务器时,可以先把 TTL 调短,等旧缓存过期后再改记录,切换会平滑很多。

NS 记录指向了别的地方

域名注册商处的 NS 服务器和你在解析控制台里配置的 NS 不一致,记录改了也不会生效。这种情况在域名转入转出之后特别常见,用 dig NS 你的域名 +short 查一下当前生效的 NS 是谁家的,一眼就能看出问题。

线路解析配置冲突

默认线路和运营商线路里配了不同的值,而某条线路的配置写错了,就会出现”我这里能开、你那里打不开”的分裂现象。逐条线路核对,别只看默认线路。

确认是DNS污染之后,可以做的事

  • 本地改用公共 DNS:把系统或路由器的 DNS 改成 223.5.5.5、119.29.29.29、1.1.1.1 这类地址,绕开本地运营商递归服务器,很多轻度污染场景能立刻恢复。
  • 启用加密 DNS:在系统或浏览器里开启 DoH / DoT,让查询走加密通道,明文投毒就很难生效。Chrome、Edge、Firefox 在设置里都能直接找到相关开关。
  • 更换权威解析服务:把域名托管到支持多地部署的解析服务商,让境外用户和境内用户都能拿到合适的解析结果,减少单点被干扰的概率。
  • 区分对待被墙的情况:如果确认解析正确但链路被阻断,换 DNS 是没用的,需要从服务器部署位置、访问链路等层面规划,而不是继续在解析上折腾。

301跳转对SEO和访问体验有什么影响

顺带说一句常被忽略的事:解析正常、站点能开,但用户被跳到了别的地址,也会被误判成”网站打不开”。301 是永久重定向,搜索引擎会把原页面的权重和排名信号逐步转移到目标地址,一般几周到几个月完成收敛。用得对,是整合权重的手段;用得乱,比如全站无条件 301 到首页、或者 A 跳 B、B 又跳回 A 形成循环,就会让爬虫反复抓取无效链路,收录和排名都会受影响。

实操上要注意几点:跳转链不要超过一跳;跳转前后的页面主题要对应,别把产品页全跳到首页;HTTPS 和 HTTP、带 www 和不带 www 只保留一个版本,其余统一 301 过去,避免同一内容出现多个可访问地址。

一张表理清通用排查顺序

  1. 看浏览器报错码,判断卡在解析还是连接。
  2. 用默认 DNS 和两三个公共 DNS 分别查解析,比对结果。
  3. 进解析控制台核对 A 记录、NS 记录、线路配置。
  4. ping、telnet / curl 验证端口和链路是否可达。
  5. 换网络、换设备复测,刷新本地 DNS 缓存。
  6. 以上全部正常,再转向服务器进程、防火墙策略、域名状态。

这套顺序的价值在于:每一步都能得出”是”或”否”的明确结论,不会让人在一个模糊的怀疑里来回打转。

回到最初的问题:DNS 污染只是网站打不开的众多可能之一,而且判断门槛并不高——一次对比查询就能定性。真正拖慢排查的,往往不是技术难度,而是上来就认定某个原因,然后围着这个结论找证据。

关于DNS污染的常见问题解答

DNS污染和域名被墙,哪个更容易恢复?

DNS 污染在客户端侧有较多缓解手段,比如改用公共 DNS、启用加密 DNS,很多时候用户自己配置一下就能访问。域名被墙属于链路层面的阻断,改 DNS 没有效果,处理成本和周期通常更高。两者的共同点是都需要先准确定性,再决定动作。

用在线检测工具查多地解析,结果准确吗?

多地解析检测能反映不同地区递归服务器的返回情况,用来判断”是不是只有某一区域异常”很有参考价值。但它反映的是检测节点当时的缓存结果,不等于权威 DNS 里的原始记录。所以正确用法是把它和 dig 直查权威服务器、本地命令查询三者结合看,而不是单独采信某一个结果。

浏览器提示DNS_PROBE_FINISHED_NXDOMAIN,一定是域名出问题了吗?

不一定。这个报错的含义只是”本次解析没有拿到记录”,常见成因包括本地网络异常、路由器 DNS 设置错误、系统 DNS 缓存残留了失败结果、域名确实过期或未续费。行业共识认为,先刷新本地缓存、再换一个公共 DNS 复测,是最快的区分方法;如果换 DNS 后能正常打开,问题就出在本地或运营商递归服务器上,与域名本身无关。