服务器:校园网
事件背景
校园网环境下遇到一个看起来很奇怪、但实际很典型的网络问题:能连上网,不代表能正常访问互联网。
我把整个过程按时间拆成了三个阶段,下面从头到尾梳理现象和原因。
阶段一:连接校园网成功,但无法正常上网
现象
- 设备能正常连接校园网
- 系统自动分配的 DNS 是
114.114.114.114 - 浏览器和应用无法正常访问网站
原因分析
这一阶段最可能的问题是 DNS 可达性或 DNS 结果不可用,而不是“网络完全断开”。
可能的具体原因:
- 校园网对外部公共 DNS(如
114.114.114.114)做了限制,导致查询超时或响应异常。 - 网络认证/准入策略未完全放行时,DNS 请求虽然被配置成功,但实际不稳定。
- 返回了错误或被污染的解析结果,导致后续 TCP/HTTPS 连接都失败。
核心理解:
这时设备“拿到了 IP 和 DNS 配置”,但域名解析链路不通,所以表现为“像连上了网,但就是打不开网页”。
阶段二:打开 Clash 后恢复上网
现象
- 打开 Clash 后,访问恢复正常
原因分析
Clash 介入后,通常会接管流量路径(包括 DNS 解析路径),所以即使系统 DNS 存在问题,也可能绕过它:
- DNS 请求改由 Clash 的 DNS 模块或上游代理完成,不再依赖系统里那个异常的
114.114.114.114。 - 即使系统层 DNS 不稳定,代理通道仍可通过远端节点完成解析和访问。
- 因为代理链路可用,用户体感就是“开代理就好”。
核心理解:
Clash 并不是“修好了校园网”,而是绕过了本地 DNS/直连路径中的故障点。
阶段三:关闭 Clash,删除 114.114.114.114,系统重新分配 210.32.32.1 后恢复正常
现象
- 关闭 Clash 后再次无法访问
- 删除校园网分配的
114.114.114.114 - 系统立刻重新分配
210.32.32.1 - 之后无需 Clash 也可正常上网
原因分析
这一步基本验证了前面的判断:问题关键在 DNS。
210.32.32.1 很可能是校园网内部 DNS(或其推荐解析服务器),相较公共 DNS 更适配当前网络策略,因此:
- 在校园网内部可达性更高,DNS 查询稳定。
- 对校内认证、路由策略、本地缓存更友好。
- 能返回该网络环境下真正可用的解析结果。
核心理解:
不是“网络突然好了”,而是换成了当前网络可用、可信任的 DNS 服务器。
结论:真正的问题点
这次故障的主因大概率是:
- 校园网环境下,
114.114.114.114在当时不可用或不适配 - 导致直连场景下 DNS 解析失败
- Clash 因为绕过本地 DNS,所以临时恢复
- 改用
210.32.32.1后,直连路径恢复正常
这次学到的排障方法
以后遇到“能连 Wi-Fi 但打不开网页”的问题,可以按下面顺序排查:
1) 看当前 DNS 是否正确
1 | scutil --dns | rg "nameserver\[[0-9]+\]" # 作用:查看系统当前实际生效的 DNS |
- 成功信号:能看到合理 DNS(如校园网推荐 DNS),且两者结果基本一致。
- 失败信号:没有 DNS、DNS 异常,或系统生效 DNS 与网卡配置明显不一致。
2) 看基础网络通不通(先排除断网)
1 | ping -c 4 198.18.0.84 # 作用:用 IP 直测百度网址链路连通性,不依赖 DNS |
- 成功信号:有回复且丢包低。
- 失败信号:持续超时或 100% 丢包,说明基础网络就有问题。
3) 对比 DNS 能不能解析
1 | dig @114.114.114.114 www.baidu.com +time=2 +tries=1 # 作用:强制用 114 做 DNS 查询 |
- 成功信号:有
status: NOERROR且有ANSWER SECTION。 - 失败信号:超时、无法连接 DNS,或没有有效回答。
4) 验证“能解析”是否等于“能访问”
1 | nslookup www.baidu.com # 作用:用系统默认 DNS 查域名 |
- 成功信号:
nslookup返回 IP,curl返回 HTTP 状态码(如 200/302)。 - 失败信号:
Could not resolve host、超时,或无有效 HTTP 响应。
给自己的实践建议
- 在校园网、酒店网、公司网等受策略管控的环境,优先使用网络侧推荐 DNS。
- 代理可作为“绕过验证手段”,但不要把它当作根因修复。
- 记录“现象-操作-结果”的时间线,能大幅提高排障效率。
这次看似是一个小问题,本质上是一次很好的网络基础复盘:
很多“上不了网”的问题,不在链路本身,而在 DNS 这一层。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Fish's Blog!