← 返回 surfduck 首页

sing-box连接不上怎么办?按日志、节点、DNS和TUN排查

更新于 2026-11-03 · surfduck.shop

简答:先不要急着换节点:sing-box连接不上通常要先区分“配置没启动、节点连不上、DNS失败、系统代理未接管”四类问题。第一步备份配置并查看第一条 ERROR 或 FATAL 日志;第二步用 sing-box check 校验配置;第三步暂时关闭TUN和复杂分流,只用一个节点测试。这样可以快速判断问题是在配置、远端节点,还是本机代理链路。

定义:sing-box连接失败排查,是按照配置、进程、代理端口、节点握手、DNS、路由和应用接管顺序,逐层缩小故障范围的过程。

先做这三步:确认故障发生在哪一层

本文面向已经安装并导入配置、但 sing-box 无法连接或启动后无法访问网页的情况。本站是独立使用指南站,不代表 sing-box 官方;配置字段和客户端菜单可能随版本变化,涉及版本差异时应以当前官方文档为准。本文核验时间为 2026-11-03。

  1. 备份配置:复制当前 JSON 文件,保留一份原始副本。不要直接覆盖唯一配置。
  2. 校验配置:在命令行进入 sing-box 所在目录,运行 sing-box check -c config.json;如果当前版本参数不同,以 sing-box help 显示的参数为准。官方文档确认 sing-box 使用 JSON 配置,并提供 check 命令用于检查配置。查看配置与命令说明
  3. 最小化启动:暂时关闭 TUN、复杂规则集和多个节点,只保留一个确定可用的出站和一个本地代理入口,再观察日志。

如果第二步就报错,优先修配置;如果配置能通过但启动后没有请求记录,优先检查本地端口、系统代理或 TUN;如果有请求记录但出现超时或握手失败,重点检查节点、TLS和网络出口。

按现象分流:不要把四种“连接不上”混在一起

现象优先检查预期结果
订阅或远程配置下载失败订阅地址、返回内容、认证和本机DNS能取得预期格式的配置内容,而不是登录页或错误页面
程序启动即退出JSON语法、字段名称、文件路径、权限check通过,进程保持运行
节点连接超时节点域名解析、远端端口、网络出口和防火墙域名能解析,目标端口至少能建立TCP连接
启动成功但网页打不开本地代理端口、系统代理、DNS、路由规则和TUN代理端口有监听,浏览器请求能出现在日志中
只有部分应用不能用应用是否遵循系统代理、分流规则和TUN权限目标应用的请求能被代理入口接收或被明确直连

sing-box 的 mixed 入站可以同时提供 SOCKS 和 HTTP 服务,但实际监听地址与端口仍要以配置中的 listen、listen_port 为准,不能凭经验填写固定端口。查看 mixed 入站说明 查看监听字段说明

配置能启动但节点连不上:看第一条关键日志

在配置中临时把日志级别调到 debug,并保留时间戳;官方支持的日志级别包括 trace、debug、info、warn、error 和 fatal。排查结束后可恢复为 info,避免长期产生过多日志。查看日志配置

日志关键词通常表示处理顺序
connection refused目标地址主动拒绝连接,或端口没有服务确认服务器地址、端口和服务端状态;不要先改DNS
i/o timeout 或 context deadline exceeded在规定时间内未完成连接或响应先解析域名,再测试目标端口;同时排除本地网络和防火墙
handshake failureTLS或传输层握手参数不匹配核对传输方式、TLS开关、SNI、ALPN、认证参数和系统时间
certificate 或 unknown authority证书校验失败核对SNI与证书域名;不要为了绕过错误长期开启不安全证书校验
no route 或 network is unreachable系统路由或TUN接管出现问题先关闭TUN复测,再检查自动路由和默认网卡
permission denied进程没有创建TUN、读取文件或监听端口的权限按当前系统给客户端授权,或改用普通本地代理入口验证

TLS中的 server_name 用于证书主机名校验,也会参与握手中的服务器名称发送;因此它不能简单等同于服务器IP。查看TLS字段说明

本地代理端口没有请求:检查系统代理和端口监听

  1. 先在 sing-box 配置中找到对应入站的 listen 和 listen_port,确认地址不是当前设备无法访问的地址。
  2. Windows 可用 netstat -ano | findstr 端口号 检查端口是否监听;macOS 或 Linux 可用 lsof -nP -iTCP:端口号 -sTCP:LISTEN。如果没有监听,回到启动日志检查配置或权限。
  3. 如果端口正在监听,但浏览器无请求记录,检查系统代理是否填写了正确的协议、地址和端口。不要把 SOCKS 端口误填到 HTTP 代理栏,也不要把远端节点端口当成本地代理端口。
  4. 暂时退出其他代理软件、VPN、网络过滤器或重复的系统代理设置,再只启动一个客户端复测。

如果 sing-box 配置启用了 HTTP 入站并设置自动系统代理,启动和停止时可能会修改系统代理;这类行为取决于当前配置和客户端平台,发现异常时应先停止 sing-box并恢复原来的系统代理设置。查看HTTP入站说明

网页打不开但节点日志正常:排查DNS、规则和TUN

此时先判断是“所有域名都打不开”,还是“只有某些域名打不开”。可以先用本地代理端口访问一个普通网页,再用命令行测试域名解析;如果直连解析失败、代理解析正常,问题偏向本地DNS;如果解析正常但连接失败,继续看路由和节点日志。

  1. 关闭TUN复测:保留普通 HTTP 或 SOCKS 入站,手动让一个支持代理的应用使用它。如果这样能访问,问题多半在TUN权限、自动路由、严格路由或DNS接管。
  2. 检查DNS模式:确认DNS服务器能被当前路由访问,避免DNS请求被错误地再次送回代理入口形成环路。
  3. 检查规则:把复杂规则集、远程规则集和按应用分流暂时移除,只保留一个明确的默认出站。sing-box支持本地和远程 rule-set,远程规则集下载失败也可能造成启动或运行阶段异常。查看rule-set说明
  4. 恢复TUN:确认普通代理已能工作后,再开启TUN;一次只改一个选项,并在每次修改后复测。

TUN的 auto_route 会设置默认路由,strict_route 会强化路由约束;Windows下严格路由还会影响DNS泄漏行为,并可能使部分虚拟化软件等应用异常。Linux下官方文档建议在合适场景配合 auto_redirect,但具体能力取决于系统权限、内核和客户端实现。查看TUN、auto_route与strict_route说明

最小复现、复测与回滚清单

如果官方文档与当前客户端界面不一致,优先以已安装版本的帮助信息、配置校验结果和当前官方文档为准;本文不对未核实的版本行为、节点状态或服务可用性下结论。

常见问题

sing-box check通过了,为什么还是连接不上?

check主要解决配置结构、字段和路径等启动前问题,不代表远端节点一定可达。下一步应检查本地端口监听、节点域名解析、远端端口、TLS握手和系统代理是否真正接管。

sing-box显示运行中,但浏览器没有网络怎么办?

先确认浏览器是否使用了正确的HTTP或SOCKS代理地址与端口,再看日志中有没有浏览器请求。如果没有请求记录,优先检查系统代理或应用是否支持代理;如果有请求记录,再按DNS、规则和节点日志继续分流。

关闭TUN后能用,打开TUN就断网怎么办?

这通常把排查范围缩小到TUN权限、自动路由、严格路由、DNS接管或路由环回。先保留普通代理作为可用基线,再一次只恢复一个TUN选项,并查看启动日志和系统网络变化。

为什么不能直接把Clash配置文件导入sing-box?

不同客户端使用的配置格式和字段模型并不相同。sing-box使用JSON配置,导入前应确认内容确实是sing-box格式;如果是其他客户端格式,需要使用对应的转换工具或重新生成配置,不能只修改文件扩展名。

日志中出现TLS错误,要不要直接开启insecure?

不建议把关闭证书校验当作默认修复方案。先核对服务器名称、SNI、证书域名、系统时间、传输方式和服务端参数;只有在明确理解风险并有临时测试目的时,才按当前官方文档确认相关字段。

常见问题

sing-box check通过了,为什么还是连接不上?

check主要验证配置层面,不代表远端节点、DNS或系统代理可用。继续检查本地监听、节点域名、远端端口、TLS握手和请求日志。

sing-box运行中但浏览器打不开怎么办?

先核对浏览器使用的代理协议、地址和端口,再看日志是否有浏览器请求。没有请求记录查系统代理,有请求记录则查DNS、规则和节点。

关闭TUN后能用,打开TUN就断网怎么办?

优先检查TUN权限、auto_route、strict_route、DNS接管和路由环回。先以普通HTTP或SOCKS代理作为基线,再逐项恢复TUN设置。

TLS握手失败可以直接开启insecure吗?

不建议。先核对SNI、证书域名、系统时间、传输方式和服务端参数;关闭证书校验会降低安全性,只能作为明确风险下的临时测试。

相关阅读

参考资料

  1. sing-box 配置文件与 check、format、merge 命令说明
  2. sing-box 日志配置与日志级别说明
  3. sing-box mixed 入站说明
  4. sing-box监听地址与端口字段说明
  5. sing-box TLS、server_name与证书校验说明
  6. sing-box TUN、auto_route、strict_route与DNS处理说明
  7. sing-box本地与远程rule-set说明
  8. sing-box HTTP入站与系统代理说明