友链提交
请认真填写以下信息,谢谢!

博客信息

(请填写完整的网址,例如:https://www.example.com)
(贵站展示本站链接的页面地址,一般是友链页面,填写后将自动验证友链关系有效性)
(用于抓取文章)
(用于接收通知)
浮生闲记
2025-12-21
点 赞
0
热 度
15
评 论
1

部分网站无法访问?一次典型的DNS污染排查与解决记录

  1. 首页
  2. 学习记录
  3. 部分网站无法访问?一次典型的DNS污染排查与解决记录

问题背景

晚上正在浏览网页,忽然发现 Bing 无法访问,抖音视频也加载异常。我的第一反应是检查代理,确认其已关闭后,问题依然存在。接着尝试打开百度——竟一切正常。

这个结果让我下意识地认为网络本身没有问题,从而将排查引入了误区。今天就把这次 DNS 污染排查的完整过程记录下来,希望能帮助到遇到类似问题的朋友。

排查过程

第一步:检查代理

首先我怀疑是代理的问题,检查后发现代理已经关闭,但问题依然存在。这说明不是代理导致的。

第二步:Ping 测试

在命令行中 ping bing.com,结果显示可以正常连通。

这里有个值得留意的点:能 ping 通只代表你的设备能通过 IP 联系到目标服务器,但浏览器访问网站还需要先通过 DNS 将域名转换为 IP。

第三步:浏览器排查

既然 ping 能通,我怀疑是浏览器的问题。先后在 Edge 和 Chrome 中尝试了清除数据、重启等操作,均告失败。两个浏览器症状一致,这又将矛头指回了网络。

第四步:切换网络测试

我用手机切换至移动网络测试,访问立刻恢复。这证实了问题局限在本地 WiFi 环境。

第五步:检查路由器

我使用的是软路由,随即进入软路由后台检查各项服务,未见异常。随后进行的网络重置和路由器重启等操作,只带来了短暂的正常访问,不久后故障复现。

第六步:DNS 污染排查

在查阅资料时,"DNS污染"这个词引起了我的注意。我检查了路由器的 DNS 设置,它正处在"自动获取"模式,这意味着它使用的是网络服务提供商(ISP)分配的 DNS 服务器地址。

第七步:更换 DNS 服务器

我将 DNS 手动更改为公共 DNS 服务器 114.114.114.114,并重启路由器。此后,网络访问完全恢复正常。

问题分析

什么是 DNS 污染?

DNS 污染(DNS Poisoning)是一种网络攻击手段,攻击者通过污染 DNS 缓存,使得域名解析到错误的 IP 地址。在国内网络环境中,某些网站可能会被 DNS 污染,导致无法正常访问。

为什么部分网站能访问?

部分网站(如百度)能打开,只能说明:

  1. 网络链路正常
  2. 这些网站的 DNS 解析正常

但这并不能排除其他网站的 DNS 解析出现问题。

Ping 能通为什么访问不了?

Ping 命令测试的是网络层的连通性。而浏览器访问网页(HTTP/HTTPS)需要:

  1. 先进行 DNS 解析,将域名转换为 IP 地址
  2. 建立 TCP 连接
  3. 发送 HTTP 请求

如果 DNS 解析失败,即使能 ping 通 IP 地址,浏览器也无法访问网站。

排错关键点

1. 部分可访问 ≠ 网络正常

这是一个常见的误区。部分网站能访问,只能说明这些网站的 DNS 解析正常,不能排除其他网站的 DNS 问题。

2. Ping 与访问网页的区别

  • Ping:测试的是网络层的连通性
  • 浏览器访问:需要先进行 DNS 解析,再建立 TCP 连接

DNS 故障会导致访问失败,但可能不影响 Ping。

3. DNS 的作用与选择

DNS 如同互联网的通讯录,负责将域名翻译成 IP 地址。"自动获取"的 DNS 有时可能不稳定或受到干扰。

手动更换为公共 DNS 服务器(如 114.114.114.114、8.8.8.8 等)往往是解决此类疑难杂症的有效方法。

常用公共 DNS 服务器

DNS 服务器 IP 地址 特点
114 DNS 114.114.114.114 国内速度快,稳定
阿里 DNS 223.5.5.5 防劫持,速度快
腾讯 DNS 119.29.29.29 响应快,递归解析
Google DNS 8.8.8.8 全球通用,但国内可能慢
Cloudflare DNS 1.1.1.1 注重隐私保护

解决方案

方法一:在路由器中设置(推荐)

  1. 登录路由器管理界面
  2. 找到 DNS 设置(通常在"网络设置"或"DHCP设置"中)
  3. 将 DNS 从"自动获取"改为"手动"
  4. 填入公共 DNS 服务器地址
    • 主 DNS:114.114.114.114
    • 备用 DNS:8.8.8.8223.5.5.5
  5. 保存并重启路由器

方法二:在电脑中设置

Windows 系统:

  1. 右键点击"网络"图标,选择"打开网络和 Internet 设置"
  2. 点击"更改适配器选项"
  3. 右键点击当前网络连接,选择"属性"
  4. 双击"Internet 协议版本 4 (TCP/IPv4)"
  5. 选择"使用下面的 DNS 服务器地址"
  6. 填入公共 DNS 服务器地址
  7. 点击"确定"保存

macOS 系统:

  1. 打开"系统偏好设置" → “网络”
  2. 选择当前网络连接,点击"高级"
  3. 切换到"DNS"标签
  4. 点击"+"添加 DNS 服务器
  5. 输入公共 DNS 服务器地址
  6. 点击"OK"保存

验证 DNS 修改

修改 DNS 后,可以使用以下方法验证:

Windows 系统

ipconfig /flushdns
nslookup bing.com

macOS/Linux 系统

sudo killall -HUP mDNSResponder
nslookup bing.com

如果解析结果显示正确的 IP 地址,说明 DNS 设置成功。

总结

这次经历提醒我,当遇到"部分网站打不开"的奇怪现象时,不妨将 DNS 设为排查的第一站。

希望这篇记录能帮助到遇到类似问题的朋友!如果你有其他 DNS 相关的问题或经验,欢迎在评论区交流。


用键盘敲击出的不只是字符,更是一段段生活的剪影、一个个心底的梦想。希望我的文字能像一束光,在您阅读的瞬间,照亮某个角落,带来一丝温暖与共鸣。

浮生闲记

intj 建筑师

站长

具有版权性

请您在转载、复制时注明本文 作者、链接及内容来源信息。 若涉及转载第三方内容,还需一同注明。

具有时效性

目录

欢迎来到浮生闲记的站点,为您导航全站动态

41 文章数
2 分类数
29 评论数
46标签数