Firefox 在 /etc/hosts 之前使用远程名称查找

Firefox 在 /etc/hosts 之前使用远程名称查找

我在 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:

  • 单击菜单按钮 Fx57Menu 并选择首选项。

  • 在常规面板中,向下滚动到网络设置并单击设置... 按钮。

  • 在打开的对话框中,向下滚动到“启用 HTTPS 上的 DNS”。

    开启:选中“启用 HTTPS 上的 DNS”复选框。选择提供商或设置自定义提供商。

    关闭:取消选择启用 HTTPS 上的 DNS 复选框。

    切换 doh

  • 单击“确定”保存更改并关闭窗口。

或者排除特定域(及其子域):

排除特定域

您可以配置例外情况,以便 Firefox 使用您的操作系统解析器而不是 DOH:

  • about:config在地址栏中输入并按回车键。

  • 可能会出现警告页面。点击接受风险并继续继续浏览该about:config页面。

  • 搜索network.trr.excluded-domains

  • 点击编辑偏好设置旁边的按钮。

  • 将域(以逗号分隔)添加到列表中,然后单击复选标记以保存更改。

    笔记:不要从列表中删除任何域。

关于子域名:Firefox 将检查您在 中列出的所有域名network.trr.excluded-domains及其子域名。例如,如果您输入example.com,Firefox 也会排除 www.example.com

我建议使用此选项,而不是完全禁用 DoH。

相关内容