网络分流路由检测
测试不同的网络目的地所使用的网络出口 IP 及路由策略,评估分流规则是否生效。
| 网站 | 出口 IP | IP归属地 | 运营商 | 状态/延迟 |
|---|
读懂分流与路由泄漏
什么是分流、它是怎么泄漏的、以及这个测试的结果该怎么看。
分流指的是只有一部分流量走 VPN 或代理,其余的直接出去。这经常是刻意为之,因为把本地流量或流媒体放在隧道外面更快。问题出在「分流的位置和你以为的不一样」:为某个域名写的规则,可能覆盖不到这个域名解析出来的那些地址;为 IPv4 写的规则,可能让 IPv6 完全留在隧道外面。这个测试会同时向多个互相独立的端点发起连接,比对每个端点看到的出口地址 —— 这能发现单端点检测根本看不到的分流。
因为它们被路由到了不同的地方。如果两个端点报出两个不同的地址,说明你有一部分流量离开了隧道。常见原因有三种:代理规则按主机名而不是目标地址匹配;代理侧做了负载均衡,给同一个会话分配了多个出口;以及双栈环境下 IPv4 走了隧道而 IPv6 没走。同一地址族内出现多个出口不一定是问题,但它意味着观察者可以通过多个地址关联你的会话 —— 这降低而不是提高匿名性。
在很多配置下确实会。相当多的 VPN 和代理配置只接管 IPv4 路由,于是任何能走 IPv6 的站点都会直接从你的真实地址访问,而其余流量看起来来自隧道。由于现代操作系统在 IPv6 可用时会优先用它,这可能悄悄把你大部分的浏览行为送到隧道外面。这个测试会分别探测 IPv4 和 IPv6 端点,两个地址族报出不同出口时你会立刻看到。
只要客户端支持,就按目标地址而不是按主机名做路由 —— 主机名规则在域名解析之前就被判定,会漏掉一切直接用地址访问的流量。确认隧道同时接管了 IPv6 和 IPv4;如果出口不支持 IPv6,就干脆把 IPv6 关掉。打开客户端提供的killswitch 或锁定模式,让隧道断开时流量被丢弃而不是明文发出去。改完任何配置都重新跑一次这个测试:在配置文件里看着没问题的规则,一旦进入操作系统路由表,行为经常和预期不同。
不是。有意把局域网流量、打印机或某个流媒体服务放在隧道外面是合理的,往往还能提升速度。有风险的是你没打算分流却分流了,或者分流的范围比你以为的更大。真正该问的问题不是「流量有没有被分开」,而是「你在意的那部分流量在不在隧道里」。这个测试就是用「哪个端点看到了哪个出口地址」来回答它的,而不是给你一个笼统的总体结论。