v2raya设置中的RouteOnly有什么用
在 v2Raya(以及底层的 Xray/V2Ray 内核)中,RouteOnly(仅路由) 是流量嗅探(Sniffing)功能下的一个高级设置。它的核心作用是:让嗅探到的域名只用于路由分流,而不改变发送给代理服务器的原始目标格式(依然发送 IP 地址)。
默认情况(RouteOnly 关闭/为 False)
- 客户端发起连接,请求某个 IP 地址。
- v2RayA 开启嗅探,从流量中识别出这个 IP 对应的真实域名(例如 google.com)。
- 路由分流:拿这个域名去匹配你的路由规则(判断是直连还是走代理)。
- 发送数据:如果走代理,Xray 会把目标地址重置为域名(google.com),然后发送给远端代理服务器,由远端服务器去解析并连接。
开启 RouteOnly 后(RouteOnly 为 True)
- 客户端发起连接,请求某个 IP 地址。
- v2RayA 开启嗅探,同样识别出真实域名。
- 路由分流:拿这个域名去匹配路由规则(这一步和上面一样)。
- 发送数据:如果走代理,Xray 不会把目标重置为域名,而是保持客户端原本发起的原始 IP 地址发送给代理服务器。
为什么要用 RouteOnly?(核心应用场景)
这个选项主要是为了解决前置本地 DNS(如 AdGuard Home、Mosdns)导致的特殊兼容性问题:
- 完美兼容 REALITY 等新协议:部分新协议或特定的传输配置(如 QUIC/UDP)在处理被重置为域名的流量时,可能会表现异常或增加特征。使用 RouteOnly 可以让发出的流量保持纯 IP 格式,避免目标重置带来的副作用。
- 防止二次 DNS 解析与 DNS 污染:如果你本地已经有了非常强大的 DNS 转发器(能确保解析出正确的境外 IP),开启 RouteOnly 后,路由分流既能享受域名匹配的精准度,又能直接使用本地已经解析好的 IP 发送请求,避免代理服务器再做一次无效的域名解析。
避坑提示(什么时候不要开?)
如果你使用的是普通的机场订阅,或者本地没有配置防污染的前置 DNS,请保持默认关闭。因为如果本地 DNS 解析出的境外 IP 本就是被污染的错误 IP,开启 RouteOnly 后直接把错误 IP 发给代理服务器,会导致网站彻底无法打开。