DNS 解析失败,且 /etc/resolv.conf 不是持久的,如何强制使用某些 DNS 服务器?

DNS 解析失败,且 /etc/resolv.conf 不是持久的,如何强制使用某些 DNS 服务器?

我遇到了这个持续且烦人的问题。首次启动时,我的桌面无法解析任何 DNS 名称,除非我编辑 /etc/resolv.conf 文件并删除名称服务器 127.0.0.1 的条目并将其更改为 8.8.8.8

这只是一个临时修复,因为每次重启后该文件都会被重置。

我在 Google 上搜索了几个小时,尝试了多种解决方案,但找不到解决方案。我认为这个问题可能还存在错误?但不确定。

有人可以帮忙吗?

答案1

编辑:这个答案假设你使用 DHCP 连接,大多数人都是这样

你有两个选择;

首先,正确设置为您的机器提供本地 IP 地址的 DHCP 服务器。如果您使用路由器,请进入路由器的设置并确保它为其客户端(您)提供正确的 DNS 服务器。

如果您没有使用路由器而是直接从 ISP 获取 DHCP,请致电您的 ISP。

这很可能就是您遇到的问题。

第二种解决方案是,如果您无法执行第一种解决方案,则手动编辑连接而不是 /etc/resolv.conf。这样做应该会在重启后继续。

在顶部面板上,单击网络小程序并转到编辑连接。选择您遇到问题的连接,然后单击编辑. 在IPv4 设置选项卡,选择Automatic (DHCP) addresses only并填写您想要使用的DNS服务器。

这将重新启动连接,仅提取 IP 地址,同时仍使用您刚刚指定的 DNS 服务器。

在此处输入图片描述

答案2

尝试将您的名称服务器条目放入用于创建文件/etc/resolvconf/resolv.conf.d/base的文件之一中。resolvconfresolv.conf

虽然从技术上来说这并不能永久解决问题,但它是一种解决方法,并且resolv.conf每次都应该将这些 DNS 服务器放入您的文件中。

不过,要注意!网络管理器通常会用您在配置中为所用连接指定的前三个 DNS 名称服务器覆盖这些名称服务器,因此,为了确保这一点适用,请在网络管理器中编辑连接,然后断开与网络的连接,然后重新连接。这将强制网络管理器接受该连接的新 DNS 名称服务器。


更加引人注目! VPN 设置通常会覆盖您已配置的任何设置。您需要确保远程 VPN 服务器为您提供合法的名称服务器地址,或者您需要通过网络管理器或您正在使用的 VPN 软件手动配置名称服务器。

因此,如果您正在使用 VPN 并遇到此问题,则远程 VPN 或网络管理器 VPN 设置有误,需要更改。

答案3

在文件中输入您的名称服务器/dns 服务器 ip,/etc/resolvconf/resolv.conf.d/base如下所示

$ cat /etc/resolvconf/resolv.conf.d/base
nameserver 8.8.8.8

工作:resolvconf复制/etc/resolvconf/resolv.conf.d/base动态生成的/etc/resolv.conf

答案4

这可能不是一个完整的解决方案,它只是一个临时的解决方案,直到你可以解决它。

你可以永久改变解析配置文件

尝试这个关联 :)

相关内容