Ubuntu DNS 不使用来自 WiFi 的 DNS

Ubuntu DNS 不使用来自 WiFi 的 DNS

我已将路由器的 DNS 地址设置为 CloudFlare 的1.1.1.11.0.0.1.当我在 Linux 上启动时,它不只显示那些 DNS 127.0.0.1。 Cloudflare 的 DNS 在 Android 和 Windows 10 上显示,但在 Ubuntu 16.04 上不显示。

答案1

Ubuntu 可能预装了缓存 DNS 解析器,如 dnsmasq 或 systemd-resolver 。您可以使用以下命令检查是否有任何本地 DNS 解析器正在侦听端口 53

netstat -plntu

这将显示侦听所有 TCP 和 UDP 端口的所有程序。如果有,则必须停止该服务或将 1.1.1.1 配置为缓存 DNS 服务器的上游 DNS

答案2

如果/etc/resolv.conf设置nameserver为 127.0.0.1,则可能意味着您安装了本地缓存 DNS 解析器甚至本地名称服务器。

通常,在本地缓存/服务器没有答案的情况下,DHCP 指定的名称服务器将用作 DNS 查询转发的目标。您可能会在 或特定于缓存/服务器的类似配置文件中找到/etc/resolv.dnsmasq它们/run/named/named.forwarders

基本上,大多数程序都会读取/etc/resolv.conf.它指示程序使用本地缓存/服务器,该缓存/服务器将有自己的 DHCP 管理的配置文件。然后,本地缓存/服务器将使用 DHCP 指定的服务器作为上游 DNS 源。


2023 年更新:如果您的系统运行systemd-resolved,则可以使用该resolvectl status命令找到真正的 DNS 解析器设置,而不是查看/etc/resolv.conf

在这种情况下,/etc/resolv.conf通常会包含nameserver 127.0.0.53: 如果您看到这一行,则表明真正的 DNS 解析器设置应由该resolvectl命令管理。

相关内容