Skip to content

NB4A 路由与 DNS

根据指定的规则将流量发送到不同的出口。

用法

不同规则 从上到下 匹配,规则内的条件为「并」的关系。

详情请看: https://sing-box.sagernet.org/configuration/route/rule/

语法

端口 (版本 0.6+)

port / sourcePort 如果有多个请以英文逗号 , 分割,端口段用英文冒号 : 表示。

示例: 1234,:1024,2000:2999,60000:

IP (版本 0.5+)

ip / source 一行一个。 格式如 1.2.3.4/8geoip:private

域名 (版本 0.5+)

domain 一行一个,语法如下

  • 纯字符串:当此域名完整匹配目标域名时,该规则生效。例如 v2ray.com 匹配 v2ray.com 但不匹配 www.v2ray.com
  • 正则表达式:由 regexp: 开始,余下部分是一个正则表达式。当此正则表达式匹配目标域名时,该规则生效。例如 regexp:\.goo.*\.com$ 匹配 www.google.comfonts.googleapis.com,但不匹配 google.com
  • 子域名 (推荐):由 domain: 开始,余下部分是一个域名。当此域名是目标域名或其子域名时,该规则生效。例如 domain:v2ray.com 匹配 www.v2ray.comv2ray.com,但不匹配 xv2ray.com
  • 子串:由 keyword: 开始,余下部分是一个字符串。当此字符串匹配目标域名中任意部分,该规则生效。比如 keyword:sina.com 可以匹配 sina.comsina.com.cnwww.sina.comwww.sina.company,但不匹配 sina.cn
  • 预定义域名列表:由 geosite: 开头,余下部分是一个名称,如 geosite:google 或者 geosite:cn。名称及域名列表参考 预定义域名列表

DNS 行为

直连DNS:一般用于解析国内域名

远程DNS:一般用于解析国外域名

关闭「DNS路由」时

所有 DNS 将发送到「远程DNS」进行解析。

开启「DNS路由」时

以下 DNS 请求会被发到「直连DNS」进行解析。

  • 路由规则中 outbound 为 「绕过」 的域名 (如默认规则中的 geosite:cn)
  • 路由规则中 outbound 为 「绕过」 的应用

以下 DNS 请求会被发到「远程DNS」进行解析。

  • 未匹配到上面规则的域名
  • 路由规则中 outbound 为 「代理」 的域名
  • 路由规则中 outbound 为 「代理」 的应用

例外

  • 当代理节点的地址为域名时,该域名的 DNS 请求会被发到「直连DNS」进行解析。
  • 当远程 DNS 为域名时,该域名的 DNS 请求会被发到「直连DNS」进行解析。
  • 不支持的 DNS 查询,会被当作 UDP 流量经过代理发送至 8.8.8.8:53
  • 进行 Ping / URL Test 时,始终使用系统 DNS 解析节点的域名。
  • 通过 Android netd 查询的 DNS,无法匹配到 APP 规则。

NB4A 1.1.6 域名策略

三种域名策略,举例:

  1. 打开 VPN 访问 Google,适用 域名策略(远程)
  2. 打开 VPN 并开启绕过中国规则,访问百度,适用 域名策略(直连)
  3. 当节点服务器地址是域名,进行解析服务器 IP 时适用 域名策略(服务器地址)

默认使用的 auto ,其行为如下:

  1. auto 不是 sing-box 内置的域名查询策略,而是 NekoBox 根据配置信息生成,最终决定使用这几种策略的一种。
  2. 域名策略(远程) / 域名策略(直连) 会根据 IPv6 模式选择策略,如关闭 IPv6,此时自动选择 ipv4_only
  3. 域名策略(服务器地址) 默认为 空白

提示

  • 建议在 设置 - 分应用代理 绕过「中国产 app」,而不是使用路由规则。
  • 建议开启 Block QUIC 规则 加速网站访问
  • 使用「国际版 app」 如 tiktok 时,如果打不开,可以尝试为其添加「代理」的规则。
  • 由于 Google 服务器奇怪的行为,如果节点被 Google 标识为「中国」,可能导致无法下载 Google Play 资源。
  • 如果为 VPN 设置 HTTP 代理,建议打开 在 Core 中绕过 LAN 以在浏览器中访问局域网站点。
  • 请尽量关闭系统设置中的 「安全 DNS」(或称 「私人 DNS」),否则可能会导致 DNS 查询回环等问题。
  • 如果开启了 IPv6, sing-box 本身对 DNS 的处理默认是 ipv4 优先的,而在 "v2ray 系客户端" 是 ipv6 优先。