不断收到 DNS_PROBE_FINISHED_NXDOMAIN 错误

不断收到 DNS_PROBE_FINISHED_NXDOMAIN 错误

我正在尝试删除之前设置为 8.8.8.8 的 DNS,但似乎无法看到它从哪里获取 DNS。

在我的有线连接中,我可以看到 DNS:

在此输入图像描述

任何帮助,将不胜感激。

编辑:resolv.conf 内容:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.53
search station

编辑2: 我发现在文件 ```/etc/dhcp/dhclient.conf`` 中我有以下内容:

supersede domain-name-servers 8.8.8.8;

我没有评论,并且8.8.8.8我的有线连接现已消失并已替换为192.168.2.1。尝试你的命令后:

sudo systemd-resolve -i enp4s0 --set-dns=192.168.2.1

我不断收到错误消息DNS_PROBE_FINISHED_NXDOMAIN有时当我尝试访问不同的网站时

我该如何解决这个问题,因为它会降低我的工作效率,需要等待 5-10 秒才能加载网站?

答案1

resolv.conf确实包含应该使用的 DNS 服务器。但 ubuntu 现在使用 systemd,它提供了自己的 DNS 服务器。

127.0.0.53是(就像127.0.0.1)您自己的系统,因此resolv.conf强制您的系统联系它自己的(systemd)dns-服务器。该 systemd dns 服务器会将请求发送到“真实”DNS 服务器。

您可以更改 systemd 使用的最终 dnsserver:

systemd-resolve -i NETWORKINTERFACE --set-dns=SOMESERVER

Systemd 允许您为每个网络连接使用不同的设置,这就是为什么您还必须指定网络接口。

假设您要确保所有在接口上发出的 dns 请求eth0都发送到8.8.8.8,则命令变为systemd-resolve -i eth0 --set-dns=8.8.8.8

如果您需要确保在所有这些情况下都使用相同的 dns 服务器,则可以对多个接口运行此命令。

请参阅systemd-resolve --status参考资料 了解当前设置以及man systemd-resolve有关配置 systemd 的 DNS 服务器的所有信息。

PS:你可能已经知道这一点,但无论如何我都会提到它:SOMESERVER用IP地址而不是名称替换,因为否则你会遇到循环问题

相关内容