跳转至

路由

sing-box 1.12.0 中的更改

default_domain_resolver
geoip
geosite

sing-box 1.8.0 中的更改

rule_set
geoip
geosite

结构

{
  "route": {
    "rules": [],
    "rule_set": [],
    "final": "",
    "auto_detect_interface": false,
    "override_android_vpn": false,
    "default_interface": "",
    "default_mark": 0,
    "default_domain_resolver": "", // 或 {}
    "default_network_strategy": "",
    "default_network_type": [],
    "default_fallback_network_type": [],
    "default_fallback_delay": "",
    "default_tcp_keep_alive": "",
    "default_tcp_keep_alive_interval": "",
    "sniff_override_destination": false,
    "asn": {},

    // 已移除

    "geoip": {},
    "geosite": {}
  }
}

当内容只有一项时,可以忽略 JSON 数组 [] 标签

字段

格式
geoip GeoIP
geosite Geosite

rule

一组 路由规则

rule_set

自 sing-box 1.8.0 起

一组 规则集

final

默认出站标签。如果为空,将使用第一个可用于对应协议的出站。

auto_detect_interface

仅支持 Linux、Windows 和 macOS。

默认将出站连接绑定到默认网卡,以防止在 tun 下出现路由环路。

如果设置了 outbound.bind_interface 设置,则不生效。

override_android_vpn

仅支持 Android。

启用 auto_detect_interface 时接受 Android VPN 作为上游网卡。

default_interface

仅支持 Linux、Windows 和 macOS。

默认将出站连接绑定到指定网卡,以防止在 tun 下出现路由环路。

如果设置了 auto_detect_interface 设置,则不生效。

default_mark

仅支持 Linux。

默认为出站连接设置路由标记。

如果设置了 outbound.routing_mark 设置,则不生效。

default_domain_resolver

自 sing-box 1.12.0 起

详情参阅 拨号字段

可以被 outbound.domain_resolver 覆盖。

network_strategy

自 sing-box 1.11.0 起

详情参阅 拨号字段

outbound.bind_interface, outbound.inet4_bind_addressoutbound.inet6_bind_address 已设置时不生效。

可以被 outbound.network_strategy 覆盖。

default_interface 冲突。

default_network_type

自 sing-box 1.11.0 起

详情参阅 拨号字段

default_fallback_network_type

自 sing-box 1.11.0 起

详情参阅 拨号字段

default_fallback_delay

自 sing-box 1.11.0 起

详情参阅 拨号字段

default_tcp_keep_alive

出站连接的默认 TCP 保活初始周期。默认值:5m

可被 outbound 拨号设置覆盖。

default_tcp_keep_alive_interval

出站连接的默认 TCP 保活间隔。默认值:75s

可被 outbound 拨号设置覆盖。

sniff_override_destination

全局默认值:当 sniff 规则动作成功从连接中检测到域名时(例如 TLS SNI、HTTP Host 头),将连接的 IP 目标地址替换为嗅探到的域名,端口保持不变。

此功能使后续的 DNS 解析和路由决策使用域名而非原始 IP 地址,适用于以下场景:

  • 在接收到 IP 连接后(例如来自透明代理)进行精确的基于域名的路由
  • 由出站进行远端 DNS 解析,而非依赖客户端已解析的 IP

推荐方式——按规则配置 override_destination

使用各 sniff 规则动作上的 override_destination 字段,可在不影响所有规则的情况下选择性地启用覆盖:

{
  "route": {
    "rules": [
      {
        "action": "sniff",
        "override_destination": true
      }
    ]
  }
}

详情参阅 sniff 动作

全局回退方式:

{
  "route": {
    "sniff_override_destination": true,
    "rules": [
      {
        "action": "sniff"
      }
    ]
  }
}

覆盖仅在成功嗅探到域名时生效。如果嗅探失败或连接中没有可识别的域名(例如纯 IP 流量),目标地址保持不变。

也可通过已废弃的 inbound.sniff_override_destination 选项在各入站中单独设置。

asn

ASN 数据库配置。LoadBalance 哈希键部分的 dst_asnip_asn 路由规则需要此配置。

字段 描述
path ASN MMDB 文件路径
download_url 自动下载数据库的 URL
download_detour 下载数据库所使用的出站标签

支持 MaxMind GeoLite2-ASN 格式(MMDB)。