远程 DNS 可以解决目标查询的问题,却仍可能让你无法连接。客户端必须先找到代理。

设想一个名为 proxy.office.example 的端点。通过 SOCKS 发送网站主机名,并不会告诉客户端如何获取这个初始端点的地址。SOCKS 会话尚未开始。

当代理名称属于私有命名空间时,这一点很重要。家庭解析器可能不认识它,而经过批准的办公网络上的解析器认识它。短的代理名称还可能依赖在网络之间有所不同的搜索域配置。

把两个名称分开

  • 建立第一个连接需要代理端点的名称。
  • 网站名称可以放在受支持的代理请求中,用于远程解析。

在更改解析器之前,先记录是哪个名称失败了。用无关的公共 DNS 替换客户端的 DNS,可能会让私有代理名称更难访问,而不是更容易。请使用预期网络所支持的名称解析配置。

在有些部署方式中,预置的代理 IP 可以省去一次主机名查询,但它并不能普遍替代名称。到 HTTPS 代理的 TLS 以及基于名称的身份验证可能依赖预期的身份。请保持该身份完整,而不要关闭它的检查。

第一个连接可用之后,再单独排查目标阶段。代理主机名可用,既不能证明代理知道网站的名称,也不能证明它被允许连接到那里。

相关文章