Skip to content

NB4A 白话文 国内外分流

本文将教您如何快速建立典型的 国内/国外 分流,而不会降低速度。

第一步:分应用代理

为了使国内 app 达到预期速度,这一步是必需的。

分应用代理有 代理 绕过 两种模式。

  • 代理模式下,选中的 app 将被允许通过 VPN 访问网络,未选的 app 将绕过 VPN 直接访问网络。
  • 绕过模式下,未选的 app 将被允许通过 VPN 访问网络,选中的 app 将绕过 VPN 直接访问网络。

因此, 不需要访问 VPN 的国内应用,最好绕过它,避免它的流量被 NekoBox VPN 处理。 这样它就能以 真直连 的速度运行。

以下是两种快速设置的方法:

  • 自己勾选需要代理的 app (如图所示)
  • (1.1.5+) 点击“自动勾选需要代理的 app”,可能有错漏。

Android 系统

对于中国 OEM Android 系统(如 MIUI)的组件,请将它们视为国内软件。

第二步:路由规则

在上一步,你可能勾选了 浏览器 这种 国内国外都需要访问的应用 为代理。

那么浏览器的流量流经 NekoBox,如果想国内外分流,就需要设置路由规则。

设置方法:

  • 路由规则中打开 geoip:cn geosite:cn 两项(如图所示)

路由规则的进阶使用请看 路由与 DNS

进阶:DNS

域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务。

DNS 将人类可读的域名解析为机器可读的 IP 地址

DNS 一直是代理中非常麻烦的部分...

对于小白用户,默认配置 + 开启国内外分流的情况下,这部分就不需要额外设置了。

DNS 服务器

直连 DNS 建议填写 local 使用本机的 DNS(一般由运营商提供),如果有问题再换其他 DNS 服务器。

支持的 DNS 服务器类型

DNS 路由

默认开启 DNS 路由选项。若不开启,所有 DNS 请求都会走远程服务器。

默认情况下,对于路由规则中 geosite:cn 这种 绕过/直连 的域名,会被发送到 直连 DNS 查询。一般这个 DNS 的查询速度接近运营商下发的 DNS,不会造成显著的延迟增加。

对于 远程连接 的域名,默认会使用 远程 DNS 查询。这样会不可避免地增加延迟。如果想减小这部分延迟,请看 FakeDNS 配置说明。

DNS 路由的意义 / 为什么 DNS 要分远程和直连

  1. 对于国内域名,使用直连 DNS 解析速度快,且可以解析到本地的 CDN 服务器节点,能提升访问速度。
  2. 对于国外域名,若使用直连 DNS 解析,则有 DNS 污染 和 DNS 泄漏的风险。

DNS 问题似乎没有最优解,各种方案各有优劣,请结合自身情况选择。

NekoBox 的 DNS 实践 (开启绕过中国)

  1. 系统进行 DNS 查询时,会由 NekoBox 进行处理。如果域名匹配到 geosite:CN 则使用直连 DNS,后续流量走直连。(若关闭 DNS 路由则直接进入下一步)
  2. 如果网站比较小众,geosite 未匹配到,则使用远程 DNS 查询(有缓存,缓解延迟问题),只要查询到的是国内 IP 后续访问就会走直连。

NekoBox 的 DNS 实践 (开启绕过中国 + 开启 FakeDNS 或 HTTP 代理)

高度依赖 geosite 域名列表,延迟最低,但无法识别国内小众网站,这类网站会走代理。

Clash 等软件的实践

  1. 除了指定走代理的域名,总是使用 "本机 DNS + 多个国内明文 DNS" 查询域名,再 "根据返回的 IP 判断是否需要代理"。
  2. 此种模式的优点:可以比较精确的判断一些国内小众域名走直连,对解析延迟影响小。缺点:有 DNS 泄漏的问题,且可能无法在「运营商反诈骗劫持」的网络环境下正常工作。
  3. sing-box 暂时不支持这种模式。

V2Ray 等软件的实践 (IPIfNonMatch)

  1. IPIfNonMatch 模式下如果没有匹配到域名规则的域名,则进入 IP 查询,可以指定使用哪个 DNS 进行查询。
  2. 此种模式的优点:可以比较精确的判断一些国内小众域名走直连。缺点: DNS 走代理会造成延迟增加。
  3. 在纯 socks/HTTP 访问(如 nekoray 系统代理)场景下此模式比较有意义。
  4. sing-box 暂时不支持这种模式。