网络报错要在跑服务的那台机器上查
先建立一个关键认知
报错里带 dns error、connect error 的,问题都出在运行服务的那台机器的网络——不是你打开管理页的设备。管理页经常在别的设备上看,浏览器能上网完全不代表跑服务的机器能上网。测试要落在跑服务的那台机器或容器里做。
排查顺序
- 服务机器能不能出网:在那台机器上打开终端,访问任意网站验证基础连通
- DNS:解析网盘域名失败会报 dns error——查这台机器的 DNS 配置,路由器劫持或错误 DNS 是常见来源
- 代理:机器上配了代理(尤其系统代理或 TUN)时,代理挂了会殃及所有出站请求;反过来,需要代理的环境里没配代理也会连不上海外网盘
- 容器再查一层:Docker 部署的,容器网络要能出外网——宿主机能上网不等于容器能,进入容器里验证
- 防火墙:出站被防火墙拦的情况少见但存在,见杀毒软件拦截与防火墙端口放行
按症状分类
| 症状 | 大概率原因 |
|---|---|
| 添加网盘时报网络错误 | 服务机器 DNS / 代理问题 |
| 检查更新失败 | 同上,或更新源被网络策略拦 |
| 挂载盘读文件超时 | 网盘侧限流或链路质量,先看访问监控谁在狂读 |
| 网页能开、播放卡 | 带宽不足,与报错类排查无关 |
与其他排查篇的衔接
- 报错发生在「添加网盘」时:授权流程回顾见添加第一个网盘账户的授权步骤
- Docker 网络之外还有挂载传播的问题:见容器挂载看不见时的共享传播排查
- 请求太频繁被网盘拒绝(429 类):那是限流不是断网,见115 网盘限流与目录缓存调优
一条经验
网络类问题九成出在「环境」,一成出在「软件」。把环境变量(机器位置、DNS、代理、容器)逐项固定下来再复测,比反复重装软件有效得多。