总览
工作模型
sing-box 的核心处理链路由三部分组成:
1 | 应用或系统流量 → inbound → 路由规则 → outbound → 目标网络 |
inbound接收流量,例如 SOCKS、HTTP 或 TUN。- 路由规则根据域名、IP、协议和入站标签选择处理方式。
outbound决定流量直连、阻断,或者交给远端代理节点。
TUN 不是代理服务器协议,而是一个虚拟网络接口。启用
auto_route 后,sing-box 可以安装系统路由,把匹配的 IP
流量送入 TUN;在 Linux 上通常还会配合 auto_redirect
改善路由和转发性能。应用无需单独配置代理,因此适合透明接管系统流量。
SOCKS 入站则会在指定地址监听 SOCKS4、SOCKS4a 或 SOCKS5 请求。只有显式使用该代理端口的应用流量才会进入 sing-box,不会自动接管整个系统。
SOCKS 入站调试
下面的最小配置在 127.0.0.1:1080 创建 SOCKS 入站,并通过
direct 出站直接访问目标网络:
1 | { |
可以使用 curl 显式指定 SOCKS5 代理进行验证:
1 | curl.exe --socks5-hostname 127.0.0.1:1080 https://example.com -v |
这条调试链路是:
1 | curl → SOCKS 入站(127.0.0.1:1080)→ 路由规则 → direct 出站 → 目标站点 |
它与 TUN 接管是两种独立的入站方式。若要验证
TUN,应检查虚拟网卡、系统路由以及 sing-box 路由日志,而不是给
curl 指定 SOCKS 端口。