最后更新于:2025年12月

故障排查工具箱
科学上网故障排查和解决方案

无论你使用多么稳定的机场和客户端,偶尔都会遇到各种问题:“怎么突然连不上了?““为什么速度这么慢?““这个红字报错是什么意思?”

别担心!本文汇总了 90% 以上的常见问题及解决方法,建议收藏备用。


🔍 快速诊断流程图

在深入具体问题之前,先按照以下流程快速定位问题:

PLAINTEXT
无法上网?
  ↓
检查节点延迟是否正常?
  ├─ 正常 → 检查系统代理是否开启
  │          ├─ 已开启 → 清除浏览器缓存/DNS缓存
  │          └─ 未开启 → 开启系统代理
  │
  └─ 异常 → 更换其他节点测试
             ├─ 其他节点正常 → 原节点失效,联系机场
             └─ 所有节点异常 → 检查网络连接/防火墙/客户端版本

问题一:完全无法连接

症状

可能原因及解决方法

1. 节点失效

检测方法:

BASH
# 在 v2rayN 中测试延迟
右键节点 → 测试服务器延迟

解决方案:

2. 系统代理未开启

Windows 检查:

  1. 查看 v2rayN 托盘图标颜色
    • 🟢 绿色:代理已开启
    • ⚪ 灰色:代理未开启
  2. 右键托盘图标 → “系统代理” → 选择"PAC 模式"或"全局模式”

Mac 检查:

  1. 打开 ClashX/Clash for Mac
  2. 确认菜单栏图标为彩色
  3. 点击图标 → 确保"System Proxy"已勾选

手机检查:

3. 防火墙拦截

Windows 防火墙:

  1. 控制面板 → Windows Defender 防火墙
  2. 左侧"允许应用通过防火墙”
  3. 找到 v2rayN/Clash,确保已勾选
  4. 如果没有,点击"允许其他应用"手动添加

第三方杀毒软件:

4. 端口被占用

检测方法:

BASH
# Windows CMD
netstat -ano | findstr "1080"

# Mac/Linux Terminal
lsof -i :1080

解决方案:

  1. 关闭其他代理软件(如同时运行多个客户端)
  2. 修改 v2rayN 端口:
    • 设置 → 参数设置 → HTTP 端口/SOCKS 端口
    • 改为其他未被占用的端口(如 1081、7890)

5. 网络本身有问题

检测方法:

BASH
# 测试国内网站
ping www.baidu.com

# 测试 DNS
nslookup www.google.com

解决方案:


问题二:速度慢、视频卡顿

症状

可能原因及解决方法

1. 节点负载过高

解决方案:

2. 带宽限制

检查方法:

解决方案:

3. 协议效率低

优化方案:

  1. 切换到更高效的协议:
    • VLESS + TCP > VMess + WS
    • Trojan > Shadowsocks
  2. 启用压缩(如果支持)
  3. 调整 MTU 值(高级用户):
    PLAINTEXT
    设置 → 传输设置 → MTU
    尝试:1400, 1350, 1300

4. 浏览器缓存过多

清理方法:

Chrome/Edge:

  1. Ctrl + Shift + Delete
  2. 选择"缓存的图片和文件"
  3. 时间范围:全部时间
  4. 点击"清除数据"

Firefox:

  1. Ctrl + Shift + Delete
  2. 勾选"缓存"
  3. 点击"立即清除"

5. DNS 解析慢

解决方案:


问题三:部分软件不走代理

症状

解决方案

方案一:开启 TUN 模式(最彻底)

详见课程:进阶:TUN 模式 (真·全局代理)

优点:

缺点:

方案二:手动配置代理

通用代理地址:

PLAINTEXT
HTTP 代理:127.0.0.1:10809
SOCKS5 代理:127.0.0.1:10808

具体软件配置:

Telegram:

  1. 设置 → 数据和存储 → 代理设置
  2. 添加代理 → SOCKS5
  3. 服务器:127.0.0.1
  4. 端口:10808
  5. 保存并测试

Discord:

Steam/Epic:

  1. 设置 → 网络
  2. HTTP 代理:127.0.0.1:10809
  3. 或使用 TUN 模式

Git(命令行):

BASH
# 设置代理
git config --global http.proxy http://127.0.0.1:10809
git config --global https.proxy http://127.0.0.1:10809

# 取消代理
git config --global --unset http.proxy
git config --global --unset https.proxy

npm/yarn:

BASH
npm config set proxy http://127.0.0.1:10809
npm config set https-proxy http://127.0.0.1:10809

方案三:解除 UWP 应用限制(微软商店)

详见课程:进阶:TUN 模式 中的"解决 UWP 应用无法联网"章节。


问题四:特定网站无法访问

症状

可能原因及解决方法

1. 网站使用了 CDN 封锁

解决方案:

2. 证书问题

症状:

解决方案:

临时方案(不推荐):

正确方案:

  1. 检查系统时间是否正确
  2. 清除 SSL 证书缓存:
    PLAINTEXT
    Windows: certmgr.msc → 删除相关证书
    Mac: 钥匙串访问 → 删除相关证书
  3. 更新根证书
  4. 不要使用自签名证书的节点

3. 网站检测并封锁了代理 IP

解决方案:

4. IPv6 问题

解决方案:


问题五:频繁断线

症状

可能原因及解决方法

1. 省电模式干扰

Windows:

  1. 设置 → 系统 → 电源和睡眠
  2. 关闭"节能模式"
  3. 电源计划改为"高性能"

手机:

  1. 关闭"省电模式"
  2. 允许应用在后台运行
  3. 锁定应用到最近任务(防止被清理)

2. 路由器限制

解决方案:

3. 客户端 Bug

解决方案:

4. 服务器不稳定

解决方案:


问题六:客户端报错(红字)

常见错误及解决方法

错误一:connection refused

含义: 连接被拒绝

原因:

解决:

错误二:context deadline exceeded

含义: 连接超时

原因:

解决:

错误三:invalid user / auth failed

含义: 认证失败

原因:

解决:

错误四:port already in use

含义: 端口被占用

解决:

错误五:TLS handshake failed

含义: TLS 握手失败

原因:

解决:

  1. 同步系统时间
  2. 更新客户端
  3. 更换节点
  4. 检查是否使用了正确的协议

问题七:DNS 相关问题

症状

解决方案

详见课程:解决 DNS 泄漏

快速修复:

BASH
# Windows
ipconfig /flushdns

# Mac
sudo dscacheutil -flushcache

# Linux
sudo systemd-resolve --flush-caches

问题八:更新后无法使用

症状

解决方案

1. 配置文件兼容性问题

解决:

2. 核心文件缺失

v2rayN 特别处理:

  1. 下载 v2rayN-With-Core.zip 版本
  2. 或手动下载核心文件放入 core 文件夹
  3. 确保有以下文件:
    PLAINTEXT
    v2ray.exe
    wv2ray.exe
    xray.exe

3. 回退到旧版本

如果新版本有问题:

  1. 卸载当前版本
  2. 从 GitHub 下载上一个稳定版本
  3. 恢复备份的配置

问题九:手机特定问题

iOS 问题

问题:Shadowrocket 后台被杀

解决:

  1. 设置 → 通用 → 后台应用刷新 → 开启
  2. 不要手动从多任务中划掉
  3. 启用"保持连接"选项

问题:描述文件安装失败

解决:

  1. 设置 → 通用 → VPN 与设备管理
  2. 删除旧的描述文件
  3. 重新安装

Android 问题

问题:Clash 通知栏消失

解决:

  1. 设置 → 应用 → Clash → 通知
  2. 允许所有通知类型
  3. 设置为"重要"或"紧急"

问题:后台运行被限制

解决:

  1. 设置 → 电池 → 应用启动管理
  2. 找到 Clash/v2rayNG
  3. 允许后台活动
  4. 锁定到最近任务

🛠️ 终极修复方案

如果以上方法都不起作用,尝试以下"核武器":

方案一:完全重置网络

Windows:

BASH
# 以管理员身份运行 CMD
netsh winsock reset
netsh int ip reset
ipconfig /release
ipconfig /renew
ipconfig /flushdns

# 重启电脑

Mac:

BASH
# 重置网络配置
sudo rm /Library/Preferences/SystemConfiguration/preferences.plist
sudo reboot

方案二:重装客户端

  1. 完全卸载当前客户端
  2. 删除配置文件夹:
    PLAINTEXT
    Windows: %APPDATA%\v2rayN 或 %APPDATA%\clash
    Mac: ~/Library/Application Support/
  3. 重新下载安装最新版本
  4. 重新导入配置

方案三:更换客户端

如果某个客户端持续出问题:

方案四:联系技术支持

提供以下信息:

  1. 客户端版本和截图
  2. 完整的错误日志
  3. 你的操作步骤
  4. 网络环境(运营商、地区)
  5. 已尝试的解决方法

📋 日常维护清单

为了避免问题发生,建议定期执行以下维护:

每周

每月

每季度


总结

故障排查是科学上网过程中的必备技能。通过本文的学习,你应该能够:

✅ 快速定位问题根源
✅ 独立解决 90% 的常见问题
✅ 知道何时需要寻求技术支持
✅ 建立预防性维护习惯

记住三个原则:

  1. 🔧 从简单到复杂:先检查基础设置,再深入技术细节
  2. 🔄 逐一排除:每次只改变一个变量,观察效果
  3. 📝 记录过程:记下有效的解决方法,建立自己的知识库

👉 下一课: 2026年科学上网终极指南:从入门到精通

在最后一课中,我们将总结全年最佳实践,提供不同场景的最佳方案推荐,以及未来趋势展望。


常见问题 FAQ

Q: 为什么同样的配置,昨天能用今天不能用?
A: 节点可能被封或维护。尝试更新订阅或更换节点。

Q: 需要每次都手动配置吗?
A: 不需要。配置一次后,客户端会自动保存。只需定期更新订阅。

Q: 遇到问题应该先做什么?
A: 第一步永远是"测试节点延迟",这能快速判断是节点问题还是本地问题。

Q: 可以同时安装多个客户端吗?
A: 可以,但不要同时运行。会导致端口冲突。

Q: 重装系统后怎么办?
A: 重新安装客户端,导入备份的配置或重新获取订阅链接。

版权声明

作者: 易邦

链接: https://e8k.net/posts/troubleshoot/

许可证: 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。