常见网络连通性排错指南:Timeout、EOF 及 DNS 失败
#排障#网络协议#DNS
阅读需 5 分钟||
网络代理是一条漫长且脆弱的链路,遇到网页报错时,重启并不能解决所有问题。观察客户端底部的日志 (Logs),是排障的唯一金标准。
1. i/o timeout (输入输出超时)
现象:点击连接,日志大量刷出 dial tcp x.x.x.x: i/o timeout。
技术原因:本地发出的 TCP 握手请求在规定的等待时间内未能收到远端服务器的 ACK 回复。
排查方向:
- 远端服务器断网或 IP 被 GFW 封锁。
- 订阅已过期导致服务端拒绝响应。 解决:尝试切换至不同国家或线路类型的节点(如 BGP中转节点)。如果全部超时,检查网络或更新订阅。
2. EOF (End Of File / 意外结束)
现象:日志频繁出现 read: connection reset by peer 或 EOF。
技术原因:TCP 连接被中间路由器(如 GFW 的深度包检测设备)发送 RST 包强行阻断;或客户端与服务端的加密鉴权(如时间戳不同步)直接失败。
排查方向:
- 检查系统时间,特别是使用 Trojan 协议时,本机时间与服务器差异不能超过 1 分钟。
- 该节点的特定协议已被识别并阻断。可参考 各协议防封锁差异 了解详情。
3. DNS resolve failed (DNS 解析失败)
现象:提示目标域名无法解析。 技术原因:客户端内建的 DNS 解析器无法正常工作,可能配置了不可用的外部 DNS,或分流规则导致死循环。 排查方向:
- 在高级设置中尝试更改内部 DNS(如改用
8.8.8.8)。 - 如果只有单独几个国内 App 无法解析,请检查是否因滥用全局代理导致了污染,可配合 分流规则 修复。
参考资料与进一步阅读
查看与验证日志
当遇到 DNS resolve failed 或 timeout 时,请打开终端并通过以下命令检查本地 7890 端口是否确实在监听:
# Windows
netstat -ano | findstr 7890
# macOS/Linux
lsof -i :7890