IPv6 会绕过代理吗?双栈网络的验证与故障定位
IPv6 是否绕过代理,取决于应用接入、路由范围和客户端配置,不能仅凭“电脑有 IPv6 地址”判断。反过来,网页只显示代理的 IPv4 地址,也不能证明所有 IPv6 流量都被接管。
先分清三处 IPv6
第一处是设备到代理服务器的连接,节点入口可能使用 IPv4 或 IPv6。第二处是代理出口到目标网站的连接,由服务端网络和配置影响。第三处是设备上未进入代理的应用或请求,它们可能直接使用本地 IPv6。
这三处不一定相同。你可以通过 IPv4 连接代理,但由服务端访问目标的 IPv6 地址;也可能在代理之外保留部分直连流量。是否符合预期,需要按你的分流目标判断。
双栈为什么会让结果看起来不一致
同一域名可能有 A 与 AAAA 记录。支持 Happy Eyeballs 的实现会安排多地址连接尝试,以减少某条路径失败造成的等待;不同应用的实现与缓存可能产生不同表现。来源:IETF RFC 8305
因此“有时慢、有时快”可能与地址族选择相关,却不能仅据此断定是 IPv6 问题。应保留失败日志中的地址和时间,并与成功记录比较。
按四步检查是否符合预期
- 写下希望经过代理的应用与目标,区分必须代理和允许直连的范围。
- 记录当前系统代理、TUN、IPv6 与 DNS 配置。
- 在目标应用中发起新连接,查看客户端是否记录了相应请求及出站。
- 对 IPv4 与 IPv6 路径分别验证,记录工具能力和测试限制。
Mihomo 分别提供全局 IPv6、DNS 与 TUN 相关配置,选项影响的范围并不等同;应读对应字段说明,而不是认为一个开关控制全部双栈行为。来源:Mihomo 全局配置
命令行对照的正确边界
已安装 curl 时,可以在终端对实际支持双栈的目标执行下面的格式示例:
curl -4 --connect-timeout 10 --max-time 20 -I https://example.com
curl -6 --connect-timeout 10 --max-time 20 -I https://example.com
Windows PowerShell 建议写 curl.exe,避免同名别名。示例目标需按诊断需要替换;先确认目标确有相应地址记录。
这些选项影响 curl 自己建立连接时的地址族选择。如果经过显式代理、TUN 或远程解析,结果仍受相应路径影响,不能据此控制远端出口的全部行为。curl 也不一定自动读取桌面系统代理,应先确认接入方式。来源:curl 参数手册
发现路径不一致之后怎么办
如果必须代理的请求没有进入客户端,查接入与路由范围;如果进入了客户端但出站意外直连,查规则;如果使用预期节点却只有 AAAA 路径失败,查服务端出站与目标连通性。
关闭 IPv6 可以作为一次临时对照,但它改变了网络条件,不能证明根因,更不能替代修正配置。完成对照后恢复原设置,再根据证据处理问题。
对外反馈需要哪些信息
提供系统、客户端与内核版本、网络类型、故障时间、目标域名和脱敏错误。说明问题发生在入口、出口还是尚未确定,避免把检测网站的单个结果直接贴上“泄露”标签。
相关概念见规则与 TUN,域名解析问题见DNS 与 Fake-IP。资料核对:2026 年 9 月 28 日。
评论