主题
Sing-box 故障排除:常见报错一站式解决手册
使用 Sing-box 遇到问题?先别急,90% 的问题都能在本页找到答案。
快速定位
| 问题类型 | 跳转 |
|---|---|
| 客户端无法启动 / TUN 失败 | 第一节 |
| 节点连不上 / 超时 | 第二节 |
| TLS / 证书类报错 | 第三节 |
| 能连上但上不了网 | 第四节 |
| DNS 泄漏 / 域名解析失败 | 第五节 |
| 速度慢 / 频繁断连 | 第六节 |
| 订阅更新失败 | 第七节 |
| 配置文件报错 | 第八节 |
| 移动端专属问题 | 第九节 |
更多跨平台通用排错方法,可参考 2026年代理错误代码大全。
一、启动与 TUN 类错误
1. Initialize TUN device failed
原因:虚拟网卡创建失败,通常是权限不足或被占用。
解决方案:
- Windows:右键 sing-box → 「以管理员身份运行」
- macOS:在「系统设置」→「隐私与安全性」中允许 sing-box 的网络扩展
- Linux:
sudo setcap cap_net_admin,cap_net_bind_service=ep $(which sing-box) - 重启:如果以上无效,重启设备后再试
- 关闭其他 VPN:其他 VPN 客户端(Clash、WireGuard 等)可能占用了 TUN 接口,请先退出
2. TUN interface already exists
原因:上次异常退出,虚拟网卡未释放。
解决方案:
bash
# Linux/macOS
sudo ip link delete sing-box-tun
# Windows:在设备管理器中卸载多余的网络适配器3. Permission denied(Linux)
bash
# 赋予网络权限
sudo setcap cap_net_admin,cap_net_bind_service,cap_net_raw=ep /usr/local/bin/sing-box4. 客户端闪退 / 一打开就退出
原因:配置文件语法错误导致启动崩溃。
解决方案:
- 使用 JSON 验证工具 检查配置文件语法
- 查看日志文件(通常在
~/.sing-box/或程序同目录下) - 临时使用最简配置启动,逐步添加规则排查
二、节点连接类错误
1. connection refused
原因:目标服务器拒绝连接,可能是端口错误或服务器未运行。
排查步骤:
- 检查节点
server和server_port是否正确 - 确认机场账号是否过期
- 尝试更新订阅获取最新节点
- 换一个节点测试(排除单节点故障)
2. connection timeout / i/o timeout
原因:无法在规定时间内建立连接。
解决方案:
- 检查本地网络:先关闭代理,确认能正常上网
- 换节点:该节点可能已被封或线路故障
- 换协议:如果 SS 节点超时,试试 Hysteria2 或 Reality 节点
- 检查防火墙:Windows 防火墙或安全软件可能拦截 sing-box
- 更新订阅:旧节点可能已失效
3. cipher not supported
原因:Shadowsocks 加密方式不被支持。
解决方案:
- 检查 SS 节点的
method是否正确 - 推荐使用
aes-256-gcm、chacha20-ietf-poly1305、2022-blake3-aes-256-gcm等现代加密
4. all nodes failed / 全部节点红色
原因:所有节点都无法连接。
排查流程:
1. 关闭代理,能正常上网? → 是 → 继续
→ 否 → 修复本地网络
2. 换设备试同一订阅? → 能连 → 原设备配置问题
→ 不能 → 机场服务端问题
3. 联系机场客服确认节点状态三、TLS 证书类错误
1. TLS handshake failed / remote error: tls: handshake failure
原因:TLS 握手失败,可能是服务器名不匹配、协议不支持或被中间人干扰。
解决方案:
- 检查
server_name(SNI) 是否与证书域名匹配 - 确认服务器支持你使用的 TLS 版本(1.2+)
- 如果使用 Reality,检查
public_key和short_id是否正确 - 尝试添加
"utls": {"enabled": true, "fingerprint": "chrome"}模拟浏览器指纹
2. certificate has expired or is not yet valid
原因:服务器 TLS 证书过期。
解决方案:
- 这通常是服务端问题,联系机场管理员更新证书
- 临时方案:在 TLS 配置中添加
"insecure": true(⚠️ 不安全,仅临时调试用)
3. Reality alert / REALITY: verification failed
原因:Reality 协议验证失败。
排查步骤:
- 检查
public_key是否正确(不是私钥!) - 检查
short_id是否匹配 - 检查
server_name是否为服务器配置的伪装域名 - 确认服务端 Reality 版本与客户端一致
4. first record does not look like a TLS handshake
原因:连接的端口实际不是 TLS 服务,可能是端口填错或节点配置有误。
解决方案:核实节点端口和协议类型是否匹配。
四、代理已开但无法上网
场景 A:完全打不开任何网页
排查步骤:
- 确认 Dashboard 开关是绿色/蓝色(已连接)
- 检查是否有选中节点(不是空的)
- 查看日志是否有
route: no matching route错误 - 临时切换到 Global 模式测试——如果能上网,说明路由规则有问题
- 检查
route.final是否设置为proxy而非direct
场景 B:国外网站打不开,国内正常
原因:代理没有真正生效,国内流量走直连没问题,但国外流量也被直连了。
解决方案:
- 确认 TUN 模式已开启(Settings → TUN → On)
- 检查路由规则中
final是否为proxy - 检查是否有规则将所有流量匹配到
direct
场景 C:国内网站打不开,国外正常
原因:国内流量也走了代理,被国外 CDN 判定为异常。
解决方案:
- 确认路由规则中有
geosite: cn → direct规则 - 确认有
geoip: cn → direct规则 - 确认 Rule Set 已正确下载(查看日志)
场景 D:部分网站打不开
原因:特定域名被路由规则错误匹配。
解决方案:
- 开启 Debug 日志,查看被拦截的域名匹配了哪条规则
- 针对性添加放行规则
- 检查 DNS 规则是否将域名解析到了错误的服务器
五、DNS 类错误
1. dns: domain doesn't exist / 域名无法解析
原因:DNS 服务器配置错误或不可达。
解决方案:
- 确认
dns.servers配置正确 - 远程 DNS 需要
detour: proxy,否则在国内可能无法访问 1.1.1.1 - 确认
address_resolver指向了可直连的 DNS 服务器
2. DNS 泄漏(通过 whoer.net 检测到国内 DNS)
原因:DNS 查询没有走代理,直接通过运营商 DNS 解析。
解决方案:
json
{
"dns": {
"servers": [
{
"tag": "remote-dns",
"address": "https://1.1.1.1/dns-query",
"detour": "proxy" // 关键!确保 DNS 走代理
}
]
}
}3. Fake-ip 导致 App 异常
原因:部分 App 不兼容 Fake-ip 模式(如局域网设备发现、推送服务)。
解决方案:
在 DNS 规则中排除这些域名:
json
{
"dns": {
"rules": [
{
"domain_suffix": [".local", ".lan", ".msftconnecttest.com", ".push.apple.com"],
"server": "local-dns",
"disable_cache": true
}
]
}
}或直接关闭 Fake-ip 模式,改用普通 DNS。
4. IPv6 泄漏
原因:系统通过 IPv6 直接连接,绕过了代理。
解决方案:
json
{
"dns": {
"strategy": "ipv4_only" // 强制仅 IPv4
}
}同时在系统设置中关闭 IPv6,或在 TUN 配置中不设置 inet6_address。
六、速度与稳定性问题
1. 速度很慢
排查步骤:
- 测速对比:关闭代理测速 vs 开启代理测速,差距过大说明节点问题
- 换协议:Hysteria2 > Reality > Trojan > Shadowsocks(抗 QoS 能力递减)
- 换节点:选择延迟更低、负载更小的节点
- 开启多路复用:
json
{
"multiplex": {
"enabled": true,
"protocol": "h2mux",
"max_streams": 8
}
}- 调整拥塞控制(Hysteria2):
json
{
"obfs": {
"type": "salamander",
"password": "your-password"
}
}2. 频繁断连
可能原因与解决方案:
| 原因 | 解决方案 |
|---|---|
| 运营商 QoS 限速 | 开启端口跳跃,使用 Hysteria2/Reality 协议 |
| 节点负载过高 | 切换其他节点或联系机场升级 |
| 心跳超时 | 增加 tcp_fast_open: true 和 tcp_multi_path: true |
| 移动网络切换 | 在 URLTest 中增加 tolerance 值 |
| 系统休眠 | 关闭系统省电模式,或将 sing-box 加入白名单 |
3. 视频卡顿 / 缓冲慢
- 使用流媒体专线节点(部分机场提供专门的流媒体线路)
- 检查节点是否支持 IPLC/IEPL 专线
- 参考 流媒体解锁指南
七、订阅更新类错误
1. update failed / 订阅更新失败
排查步骤:
- 检查订阅 URL 是否正确
- 确认网络能正常访问订阅地址(关闭代理后测试)
- 检查订阅是否已过期(登录机场后台确认)
- 尝试在浏览器中直接打开订阅链接,看是否返回有效内容
2. 节点消失 / 节点变少
原因:机场调整了节点,或订阅 URL 返回了更新。
解决方案:
- 手动更新订阅
- 登录机场后台确认节点是否正常
- 如果是免费试用机场,可能试用已过期
3. subscription expired
原因:机场套餐到期。
解决方案:续费或更换机场。查看 2026年7月机场推荐。
八、配置文件解析错误
1. json: invalid character
原因:JSON 语法错误(多余的逗号、缺少括号等)。
解决方案:
- 使用 JSON 验证工具 检查语法
- 注意 JSON 不允许尾随逗号(最后一个元素后不能有逗号)
- 所有字符串必须用双引号(不能用单引号)
- 检查括号是否匹配
2. unknown field "xxx"
原因:配置中使用了不存在的字段名。
解决方案:
- 检查字段名拼写
- 确认你的 sing-box 版本是否支持该字段(新版字段在旧版中不可用)
- 查看 官方配置文档 确认字段名
3. missing required field
原因:缺少必填字段。
常见缺失字段:
- outbounds 中缺少
direct或block出站 - route 中缺少
final字段 - TUN inbound 中缺少
inet4_address
九、移动端专属问题
iOS 问题
| 问题 | 解决方案 |
|---|---|
| VPN 配置无法保存 | 设置 → 通用 → VPN与设备管理 → 信任开发者 |
| 后台自动断开 | 设置 → 通用 → 后台 App 刷新 → 开启 sing-box |
| iOS 更新后失效 | 删除 VPN 配置,重新在 App 中添加 |
| 耗电快 | 关闭 sniff,使用 system stack 而非 gvisor |
详细 iOS 省电方案参考 iOS/Android 省电配置与后台保活。
Android 问题
| 问题 | 解决方案 |
|---|---|
| 被系统杀后台 | 设置 → 应用 → sing-box → 电池 → 无限制 |
| MIUI 自启动 | 设置 → 应用 → sing-box → 自启动 → 允许 |
| 分应用代理不生效 | 确认已开启 TUN 模式,package_name 配置正确 |
| Android TV 不支持 | 使用 Android 版 APK 侧载安装 |
通用排查流程
遇到任何问题,按以下流程排查:
Step 1: 查看日志
→ 开启 debug 级别日志
→ 定位具体错误信息
Step 2: 最小化测试
→ 使用最简配置(单个节点 + 直连规则)
→ 逐步添加复杂规则
Step 3: 排除环境因素
→ 关闭其他 VPN / 代理软件
→ 关闭防火墙 / 安全软件测试
→ 换网络环境测试(WiFi ↔ 流量)
Step 4: 版本检查
→ 确认 sing-box 版本为最新
→ 确认配置语法与版本匹配
Step 5: 寻求帮助
→ [GitHub Issues](https://github.com/SagerNet/sing-box/issues)
→ 机场客服(如果是节点问题)
→ [代理错误代码大全](/guide/proxy-error-codes-2026)日志查看方法
| 平台 | 日志位置 |
|---|---|
| Windows GUI | Dashboard → Log 标签 |
| macOS GUI | Dashboard → Log 标签 |
| iOS | App → Settings → Log Level → Debug |
| Android | App → 设置 → 日志级别 → Debug |
| Linux CLI | journalctl -u sing-box -f |
| Clash API | curl http://127.0.0.1:9090/logs?level=debug |
国家利益和民族团结高于一切
使用网络时请遵守国家法律法规,科学上网,不谈政治,不谈宗教,不碰黄赌毒。

