# 高级路由设置

高级路由设置路由编辑器 是Qv2ray的特有功能。这两项功能可以帮助您精确地控制流量,如 按需代理分流国内/国外网站等。你甚至可以 **设置代理链(多层套娃)**🤣~

::: 路由功能是什么?为什么不用 PAC 和 GFW List?

如果你不了解 V2ray 的路由功能具体是什么,那么你可以把它理解为一个更加简便,高效且精准的新一代 PAC 实现。

路由功能 比 PAC 强大太多,以后请别再问为什么 Qv2ray 不支持 PAC 了。路由功能所采用的分流表也比 GFW List 更加完善,完全没有必要再使用GFW List。

:::

# 全局路由规则

配置全局路由规则 请打开首选项 ---> 高级路由设置

# 域名策略

Qv2ray 有三种域名匹配策略可选: AsIsIPIfNonMatchIPOnDemand

根据V2Ray的官方文档,这三种域名策略的定义如下:

  • AsIs:只使用域名进行路由选择,默认值;
  • IPIfNonMatch:当域名没有匹配任何规则时,将域名解析成 IP(A 记录或 AAAA 记录)后再次进行匹配;
    • 当一个域名有多个 A 记录时,会尝试匹配所有的 A 记录,直到其中一个与某个规则匹配为止;
    • 解析后的 IP 仅在路由选择时起作用,转发的数据包中依然使用原始域名;
  • IPOnDemand:匹配时碰到任何基于 IP 的规则,立即将域名解析为 IP 后进行匹配;

用某位开发者的话说,就是:

  • AsIs:分流速度快,但分流不够精确;
  • IPIfNonMatch:在牺牲部分速度的同时能带来足够精确的分流;
  • IPOndemand:别用;

请注意: IPOnDemand 理论上是最慢而结果最准确的,然而在大多数情况下 IPIfNonMatch 已经足够准确了,所以 IPOndemand 的实际应用效果并不明显。

您可以根据您的实际需求选择最适合你的域名匹配策略。但就结果来说,一般情况下,IPIfNonMatch 是最佳选择。

# 路由策略

路由策略由 3x2 个区块组成,他们分别是(左上到右下):IP 直连IP 代理IP 阻断域名直连域名代理域名阻断,填入规则时请保持 每行一个,中间没有逗号分隔

Qv2ray 对于这些策略组的优先级排序是:域名阻断 -> 域名代理 -> 域名直连 -> IP 阻断 -> IP 代理 -> IP 直连。如果最后没有成功匹配,私有地址 和 中国大陆地址 会默认直连,其他地址则会使用代理。

我就想要全局代理~~~ 🤗

很简单,清空所有的路由规则 然后打开 首选项 ---> 链接设置 取消勾选 绕过私有地址绕过中国大陆 即可 🙄

根据 V2Ray 官方文档:

IP规则有以下几种写法(按照是否常用排序):

  • GeoIP:形如 "geoip:cn",必须以 geoip:(小写)开头,后面跟双字符国家代码。例如 geoip:cn 包含了常见的中国IP地址,geoip:us 包含了常见的美国IP地址;
  • 特殊值:"geoip:private"(仅支持V2Ray 3.5+),包含所有私有地址,如 127.0.0.1。
  • IP:直接填写,形如 "127.0.0.1"。
  • CIDR:形如 "10.0.0.0/8"。
  • 从文件中加载 IP:形如 "ext:file:tag",必须以 ext:(小写)开头,后面跟文件名(不带扩展名)和 标签,文件存放在 和 v2ray 核心文件相同的路径中。文件格式与 geoip.dat 相同,标签 必须在文件中声明。

域名规则有以下几种写法(按照是否常用排序):

  • 预定义域名列表:以 geosite: 开头,后面跟一个名称,例如 geosite:googlegeosite:cn 名称 及 域名列表 请参考 预定义域名列表
  • 子域名:由 "domain:" 开始,后面跟一个域名。当此域名是目标域名或其子域名时,该规则生效。例如 "domain:v2ray.com" 匹配 "www.v2ray.com""v2ray.com",但不匹配 "xv2ray.com"
  • 完全匹配: 由 "full:" 开始,后面跟一个域名。当此域名完整匹配目标域名时,该规则生效。例如 "full:v2ray.com" 匹配 "v2ray.com" 但不匹配 "www.v2ray.com"
  • 纯字符串:当此字符串匹配目标域名中任意部分,该规则生效。比如 "sina.com" 可以匹配 "sina.com""sina.com.cn""www.sina.com",但不匹配 "sina.cn"
  • 正则表达式:由 "regexp:" 开始,余下部分是一个正则表达式。当此正则表达式匹配目标域名时,该规则生效。例如 "regexp:\\.goo.*\\.com$" 匹配 "www.google.com""fonts.googleapis.com",但不匹配 "google.com"
  • 从文件中加载域名:形如 "ext:file:tag",必须以 ext:(小写)开头,后面跟 文件名 和 标签 ,文件存放在与v2ray核心相同的路径中,文件格式与 geosite.dat 相同,标签 必须在文件中声明。

长话短说,我是萌新 😅

  • 如果你不想考虑分流 只想代理全部的流量,请按照上方的 全局代理 步骤操作 😅
  • 如果您想要实现精确的分流,即代理所有的出站流量,请点击下方的 预设方案 按钮。选择 空白方案空白方案(去广告),并将域名策略设置为 IPIfNonMatch 😋

我是个老司机 ,我想要更加精准的分流! 🤔

我们推荐您使用一个更加细化的 V2ray 路由规则集 项目地址:Loyalsoldier/v2ray-rules-dat (opens new window) 🤗

我想可以自定义的分流规则! 🤪

请参考下一章节 路由编辑器 😄

# 路由编辑器

在 Qv2ray的主界面,右键点击 代理节点,然后选择 编辑为一个复杂配置 打开 路由编辑器 接口。

在这个界面中,你可以把用户源IP地址目标IP地址域名目标域名协议端口任意设置组合,精准地设计出你想要的入站/出站规则. 你还可以调整不同规则之间的优先级,甚至可以实现负载均衡

需要再次重申的是,每条路由规则中的匹配条件是 and / && 关系 也就是说,如果路由规则包含多个匹配条件,最终获得的实际匹配条件就是这些条件的交集。例如,如果路由规则包含 端口 规则 443 和 目标域名 规则 qv2ray.github.io,那么只有目标 qv2ray.github.io:443 符合这两项条件,并将与此项规则相匹配。

如果您对 V2Ray 路由规则的作用机制不了解,请参阅V2Ray的官方文档。

上次更新: 2021/5/10 上午9:58:55