IPv6 代理监听端点需要客户端有可达它的 IPv6 路由。代理向网站发起的出站连接仍然可以使用 IPv4。反过来,只要代理具备相应支持和路由,IPv4 监听端点也能访问 IPv6 目标。

连接所需支持
客户端 → 代理到端点地址的路由,以及可访问的监听服务。
代理 → 目标代理端具备合适的目标地址、解析器、出站路由和访问策略。

在完整代理 URL 中,IPv6 字面地址需要加方括号:

http://[2001:db8::10]:8080

把文档示例地址换成真实端点。如果应用把主机与端口分开填写,可能要求不带方括号的地址,应遵循应用格式。正确语法不能补出缺失的 IPv6 路由,因此在归咎于监听端点前,先核对本机网络的 IPv6 状态,或比较访问另一个 IPv6 目标的情况。

由哪一端选择目标地址?

基于主机名的 CONNECT 请求,把连接目标的工作交给代理。SOCKS5 根据客户端模式,可以携带 IPv4 地址、IPv6 地址或域名。在客户端强制指定地址族的选项,不一定能限制远端解析的主机名;应先弄清该选项影响的是哪一段连接。

所以,选了 IPv6 监听端点后,IP 检测页面仍报告 IPv4,并不一定意味着客户端又建立了一条连接。先确认它报告的是自身 TCP 对端、应用层请求头,还是浏览器的另一条请求。普通 HTTP 转发可以添加客户端地址信息;普通 CONNECT 中继无法向目标的加密 HTTP 内容插入请求头。Forwarded 信息需要相应的信任策略,单凭它不能证明另有一条网络连接。

记录端点、目标、协议和首次失败。到不了监听服务,与服务回复目标不可达,是两回事。ProxyHub 代理列表背后的采集器目前接收 IPv4 记录;这里的 IPv6 示例说明的是通用行为,并不代表当前列表有 IPv6 筛选项。

相关文章