Firefox 无法与我自己的 DNS 服务器配合使用,但其他所有服务器都可以

Firefox 无法与我自己的 DNS 服务器配合使用,但其他所有服务器都可以

我最近设置了一个核心DNS服务器位于我的“本地” tailscale VPN 网络上。Chrome、、dignslookup其他所有内容都可以在查询正确的 DNS 服务器时正常工作(我已使用 wireshark 仔细检查过),但出于某种原因,Firefox 查询的127.0.0.1不是 DNS 服务器的 IP(我们称之为1.2.3.4)。

我正在使用带有 Gnome 的 Ubuntu 22.04,并且安装了resolvconf.service以下/etc/resolvconf/resolv.conf.d/resolv.conf内容:

nameserver 1.2.3.4
nameserver 1.1.1.1

到目前为止我已经尝试过:

  1. 禁用 DoH
  2. 清除 Firefox 的 DNS 缓存
  3. 更新并重新安装 Firefox

我不太清楚为什么:

  1. Firefox 查询 127.0.0.1,而其他工具查询1.2.3.4
  2. 即使查询127.0.0.1,为什么systemd-resolved不将查询重定向/指向1.2.3.4

答案1

总结

你必须在你的/etc/systemd/resolved.conf1.2.3.4你自己的 DNS 服务器在哪里,以及1.1.1.1作为后备)上有这些行

[Resolve]
DNS=1.2.3.4 1.1.1.1
DNSStubListener=yes
DNSStubListenerExtra=udp:127.0.0.1:53

解释

Firefox(至少现在)查询127.0.0.1:53systemd-resolved监听127.0.0.53:53DNSStubListenerExtra上述配置文件中的行systemd-resolved也将监听127.0.0.1:53

您还可以使用iptables重定向127.0.0.1:53127.0.0.53:53

sudo iptables -t nat -A OUTPUT -p udp --dport 53 -j DNAT --to-destination 127.0.0.53:53

相关内容