V2Ray 白名单路由规则全解析:原理、配置与实战优化

为什么要用“白名单”路由:问题与场景

在 fq.dog 的日常讨论中,经常遇到两类用户:一类希望所有流量都走代理,另一类希望只把需要翻墙的流量走代理、剩下的走直连。白名单路由正是为后者服务的:只把明确被列入“需代理”的目标走代理出口,其他一律本地直连。相较于全局代理,白名单能显著降低延迟、节省带宽并减少对国内服务的影响(例如银行、视频平台)。但要把白名单做得既准确又稳健,涉及域名/IP 匹配、规则优先级、DNS 泄露与性能优化等多个细节。

核心原理:如何判定“走代理”或“走直连”

V2Ray 的路由模块基于规则集合来决定流量走向。每条规则都包含匹配条件(域名、IP、端口、网络、用户等)和一个动作(通常是把流量打到某个 outboundTag,如“proxy”或“direct”)。路由引擎会按规则顺序匹配:第一条匹配成功的规则决定去向,因此规则顺序至关重要。

常见匹配类型:

  • 域名匹配:支持精确、后缀、通配符或引用 geosite 数据集(如 geosite:cn、geosite:google)。
  • IP 匹配:直接指定单个 IP、网段或引用地理 IP 数据(geoip)。
  • 端口/协议:按端口或传输层协议(TCP/UDP)细分。
  • 用户标签或入站流量特征:用于多用户或多策略场景。

白名单模式的典型逻辑

在白名单模式下,路由规则通常以“需要代理的域名/IP”为先(放在前面,指向 proxy),最后再放一条 catch-all 的规则把其它流量指向 direct。这样可以确保只有被显式列入白名单的流量才被代理。

配置思路(文字描述 + 示例片段)

配置要点不在于堆砌条目,而在于构建一组准确且可维护的规则集:

  • 明确白名单来源:使用官方或社区维护的 geosite/geodata 可以大幅减轻维护成本;同时结合自定义域名列表补足特殊需求。
  • 规则顺序:把精确匹配放在最前面,通配和引用数据集放后面,最终以一条默认 direct 收尾。
  • 分离 DNS 路由:DNS 请求的处理也需要白名单化,否则会有 DNS 泄露或错误解析风险。
{ 
  "routing": {
    "rules": [
      { "type": "field", "domain": ["example.com", "geosite:google"], "outboundTag": "proxy" },
      { "type": "field", "ip": ["geoip:private"], "outboundTag": "direct" },
      { "type": "field", "outboundTag": "direct" } 
    ]
  }
}

上面是一个极简示例:先把 example.com 和 geosite:google 的流量走 proxy,私有网段直接走 direct,最后其余流量默认走 direct(即白名单模式)。实际环境中会更细致地拆分 DNS、UDP、DoH/DoT 等。

实战优化:可靠性与性能提升的技巧

白名单看似简单,但实际部署中常见问题很多。下面列出实战中常用的优化点:

  • 避免 DNS 泄露:把 DNS 查询也纳入路由策略:对被代理的域名使用代理 DNS(如远程 DoH),对本地域名或国内域名使用本地 DNS。注意 DNS 缓存策略,避免频繁解析影响性能。
  • 优先级测试:模拟访问若干目标,开启日志(非生产高频)观察匹配到的规则,及时调整顺序与匹配方式。
  • 使用 geosite/geodata 更新:这些数据集会定期更新,能自动覆盖大量常见域名。定期同步可以减轻维护负担。
  • 最小化匹配范围:尽可能使用后缀或精确域名替代泛泛的通配符,减少误匹配带来的不必要代理流量。
  • 分流与容错:对高优先级服务(如金融、视频)做特殊处理:例如将它们排除在代理之外或设置独立直连规则以避免认证失败。
  • 检测与回退:当代理节点不可用时,白名单模式可能导致部分站点无法访问。可以在路由中设置冗余出口或自动降级策略(例如超时后fallback 到其它 outbound)。

调试与验证方法

验证白名单配置是否工作,需要观察并确认两件事:请求匹配的规则与实际出口。

  • 打开 V2Ray 的路由与访问日志,找出目标请求对应的 rule/route 记录。
  • 使用抓包工具(如 tcpdump、Wireshark)或系统级网络监控,确认连接实际走了代理 IP 还是直连。
  • 对可疑域名做 nslookup/dig 检查 DNS 是否被期望的解析路径处理。
  • 在变更规则后进行回归测试:国内常用服务、被代理的网站、以及一些边缘场景(CDN、子域名、重定向)都要覆盖。

常见误区与陷阱

多年的实践让我见过不少因为白名单配置不当导致的故障:

  • 只按一级域名白名单,忽略子域或 CDN 分发,导致部分资源从直连走而失败。
  • 忽视 IPv6:如果没有考虑 IPv6 路由,系统可能走 IPv6 直连绕过白名单逻辑。
  • 把 geosite 视为万灵丹:它易用但并非完全覆盖,关键业务应手动补充。
  • 把 DNS 与数据流路由割裂:DNS 解析走直连但数据走代理会产生访问失败或证书校验问题。

未来趋势与演进方向

随着网络环境的演进,白名单策略也在发生变化:更精细的应用感知路由(按 SNI、HTTP Host、TLS fingerprint 等),以及结合机器学习的流量分类将使白名单更智能。另一方面,端到端的隐私需求促使更多用户把 DNS、SNI 加密纳入整体策略,减少侧信道泄露。

在 fq.dog 的讨论里,白名单始终是折衷之选:既想保留本地访问性能,又希望保持被代理目标的私密与可达。掌握路由原理、合理使用 geosite/geoip、重视 DNS 与 IPv6,就能把白名单从“折中”变成“稳妥且高效”的长期方案。

© 版权声明
THE END
喜欢就支持一下吧
分享
评论 抢沙发

请登录后发表评论

    暂无评论内容