节点全红与 DNS 污染排查:从超时到打通连接的急救手册
1. 核心症状诊断:节点超时 (Timeout) 与连通性失效
在使用 Clash Verge、Sing-box、V2rayN 或 iOS 小火箭时,最容易出现的突发故障就是点击“测试延迟”或“Delay Check”后,所有节点瞬间变红并提示 Timeout 或 -1ms。
许多新手的第一反应是“机场又跑路了”,但实际上,代理软件的延迟测试底层依赖的是对目标 Server 发起的 TCP / HTTP Ping。如果本地网络栈、虚拟网卡驱动(TUN/TAP)或 TLS 握手层出现阻塞,即便服务器完全正常,客户端也会回报超时。
2. 排障急救五步法(从基础到深层网络)
第一步:检查系统时间同步(TLS 握手核心死穴)
VLESS-REALITY、TUIC v5 以及 Hysteria 2 等现代防封协议,都高度依赖 TLS 1.3 时间戳校验。如果你的 Windows / Mac 系统时间由于关机、双系统或主板电池没电而与 UTC 标准时间相差超过 180 秒(3 分钟),客户端在发起加密握手时会直接抛出 Certificate Validation Failed 或 Handshake Timeout。
解决办法: 在 Windows 设置中搜索“日期和时间”,点击“立即同步”。Mac 开启自动获取时间。再次测试节点即可秒复活!
第二步:检查系统代理 (System Proxy) 与 TUN 模式冲突
许多用户同时安装了多个代理软件(如同时开着 Clash 和 某某免费 VPN 客户端),或者上次关机时没有正常关闭代理,导致 Windows 注册表中的 ProxyServer 锁定在本地回环端口(如 127.0.0.1:7890)。
解决办法: 打开 Windows 设置 ➔ 网络和 Internet ➔ 代理,关闭“使用代理服务器”。如果使用游戏或桌面软件(如 Discord、Steam),建议在 Clash Verge 中勾选并重启 TUN 模式。
第三步:手动刷新与更新订阅 URL(域名污染排查)
GFW 可能会定期对机场的订阅域名进行 DNS 污染。当你点击“更新订阅”时如果报错 Download Failed,说明你的客户端连获取最新节点配置的通道都被堵死了。
解决办法: 登录机场官网后台,复制最新的防封备用订阅链接,或者开启手机 hotspot(移动蜂窝网络)拉取一次更新后再切回宽带。
第四步:检查端口占用(7890 / 10808 / 9090)
如果系统提示 bind: address already in use,说明代理客户端想要占用的混合端口已经被迅雷、百度网盘或前端 Node.js 开发环境抢占了。
解决办法: 在 Clash / Sing-box 设置中将 Mixed Port 修改为任意冷门端口(如 17890),点击保存并重启软件。
第五步:区分延迟测试类型(ICMP Ping vs Real Delay)
很多机场为了防止被扫描,禁用了 ICMP 协议回应。如果你在客户端里选的是 ICMP Ping,节点就会全部显示 Timeout;但切换到 HTTP Delay / Real Handshake Delay 就会发现节点其实完全正常。
3. DNS 污染与 DoH/DoT 避坑防爆指南
即便节点连上了,如果浏览器依然提示 DNS_PROBE_FINISHED_NXDOMAIN 或 ERR_CONNECTION_TIMED_OUT,这往往是 DNS 遭到了污染。
- 不要将上游 DNS 设为 114.114.114.114: 传统 UDP 53 端口在经过 GFW 时会被无差别抢答假的 IP 地址。
- 启用 DoH (DNS over HTTPS): 在 Clash 设置中把上游 DNS 替换为
https://223.5.5.5/dns-query(阿里安全 DoH)或https://1.1.1.1/dns-query(Cloudflare 节点加密 DNS)。 - 清除本地 DNS 缓存: Windows 打开 PowerShell 输入
ipconfig /flushdns并回车。
4. 应用程序网络隔离(UWP loopback 与 Telegram 无法连接)
127.0.0.1 端口 7890(或你的代理软件 SOCKS 端口)。