Pale Moon/Firefox 的代理设置中的“使用代理执行 DNS 查询(仅限 SOCKS v5)”选项是什么意思?

Pale Moon/Firefox 的代理设置中的“使用代理执行 DNS 查询(仅限 SOCKS v5)”选项是什么意思?

如果你转到chrome://browser/content/preferences/connection.xul,在底部,它显示[ ] Use proxy to perform DNS queries (SOCKS v5 only)。默认情况下未选中。事实上,多年来我一直在 Firefox(过去)和现在的 Pale Moon 中使用代理,但我从未注意到此选项的存在。

这是否真的意味着它一直在绕过我为每次 DNS 查找指定的代理,而是直接使用我的主连接进行查找,只是因为我没有主动选中(甚至没有注意到)该框?

如果是这样,为什么默认情况下不选中它?谁会想使用代理但不想让 DNS 查询通过它呢?

答案1

这是否真的意味着它一直在绕过我为每次 DNS 查找指定的代理,而是直接使用我的主连接进行查找,只是因为我没有主动选中(甚至没有注意到)该框?

是的。

谁会想使用代理但又不想让 DNS 查询经过它呢?

出于隐私之外的其他原因使用代理的人,例如想要根据其本地 /etc/hosts 名称访问远程服务器的开发人员,或希望其本地配置的“域搜索后缀”得到尊重的企业用户。

总体而言,与 VPN 一样,代理服务器的最初目的与隐私或信息隐藏——它们用于身份验证和过滤(在 HTTP 代理的情况下,缓存和更多缓存),例如使用公司 SOCKS 网关在家工作时访问内部服务,或使用本地 HTTP 缓存代理,这样整个校园就不需要通过慢速无线电链路 100 次获取完全相同的网站资产。(使用 HTTP 代理,域名由代理解析,但这不是我要说的重点。)

不可否认的是,Mozilla 代理设置页面并没有跟上时代的步伐,尤其是当 SOCKS 的使用主要转向成为 Tor 的接口时。

(如果我没记错的话,Mozilla 甚至早就有能力将主机名发送到 SOCKS v5 代理此复选框已添加,但只能在about:config很长一段时间内可见。)

但 SOCKS 协议肯定能够传达其运行的版本?这样,如果检测到 v5,它就能自动启用这一至关重要的隐私“功能”吗?

不,这就是为什么设置页面首先要求您在 SOCKS v4 和 v5 之间进行选择。同一台服务器可能同时支持这两种版本,但它无法告诉服务器使用哪个版本支持的。

(实际上原来的SOCKS v4 严格处理 IPv4 地址,SOCKS“v4a”在第 5 版发布之前添加了使用 DNS 名称的功能。我认为 Mozilla 仅支持前者?)

答案2

该选项于 2017 年 Pale Moon 27.6.0 版中引入(关联)。

其目的是防止 DNS 泄漏

DNS 泄漏是指一种安全漏洞,尽管使用 VPN 服务试图隐藏 DNS 请求,但 DNS 请求仍会被泄露给 ISP 的 DNS 服务器。[1] 虽然这主要由 VPN 用户关注,但代理和直接互联网用户也可以防止这种情况发生。

这仅适用于 SOCKS v5 代理。使用此选项,浏览器会要求代理使用主机的主机名而不是其 IP 地址连接到主机。然后由 SOCKS5 代理进行查找。

相关内容