我在 Ubuntu 上的 /etc/hosts 文件中添加了以下行:
192.168.0.104 www.tondering.dk www.xzutsfsdet.com
192.168.0.104 是我的局域网上的 IP 地址。
www.tondering.dk是存在于互联网上的服务器。
www.xzutsfsdet.com是互联网上不存在的服务器。
如果我使用 lynx 或 Chrome 访问www.tondering.dk或者www.xzutsfsdet.com,正如我所料,这两个请求都被发送到 192.168.0.104。
但如果我使用 Firefox,www.xzutsfsdet.com发送到 192.168.0.104,但是www.tondering.dk被发送到外部服务器(就好像 /etc/hosts 条目不存在一样)。
因此在我看来,Firefox 仅在外部查找失败时才使用 /etc/hosts,而其他程序在执行外部查找之前使用 /etc/hosts。
有什么方法可以让 Firefox 像其他程序一样运行吗?
我的操作系统是 Ubuntu 20.04 LTS,我的 Firefox 是 78.0.2 版本。
答案1
Firefox 已开始启用HTTPS 上的 DNS对于用户:
DNS-over-HTTPS (DoH) [...] 使用加密的 HTTPS 连接(而不是纯文本连接)将您输入的域名发送到兼容 DoH 的 DNS 服务器。这可以防止第三方看到您尝试访问的网站。
在我看来,这是一件好事,但可能会导致依赖本地 DNS 配置的事情发生故障,例如内联网 DNS 和站点阻止使用/etc/hosts
等。Firefox 页面中对此进行了说明:
风险
- 一些个人和组织依靠 DNS 来阻止恶意软件、启用家长控制或过滤浏览器对网站的访问。启用后,DoH 会绕过本地 DNS 解析器并破坏这些特殊策略。当默认为用户启用 DoH 时,Firefox 允许用户(通过设置)和组织(通过企业策略和 Canary 域查找)在 DoH 干扰首选策略时禁用它。
您可以完全禁用它:
手动启用和禁用 DNS-over-HTTPS
您可以在 Firefox 连接设置中启用或禁用 DoH:
或者排除特定域(及其子域):
排除特定域
您可以配置例外情况,以便 Firefox 使用您的操作系统解析器而不是 DOH:
about:config
在地址栏中输入并按回车键。可能会出现警告页面。点击接受风险并继续继续浏览该
about:config
页面。搜索
network.trr.excluded-domains
。点击编辑偏好设置旁边的按钮。
将域(以逗号分隔)添加到列表中,然后单击复选标记以保存更改。
笔记:不要从列表中删除任何域。
关于子域名:Firefox 将检查您在 中列出的所有域名
network.trr.excluded-domains
及其子域名。例如,如果您输入example.com
,Firefox 也会排除www.example.com
。
我建议使用此选项,而不是完全禁用 DoH。