我正在尝试删除之前设置为 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地址而不是名称替换,因为否则你会遇到循环问题