有关的:

有关的:

我正在尝试添加搜索行/etc/resolv.conf

我已直接将其添加为append命令中的命令/etc/dhcp/dhclient.confnameservers块中的块/etc/netplan/50-cloud-init.yaml

大约一个小时后,dhcp 和 netplan 文件完好无损,但 resolv.conf 已恢复为没有我的搜索。

我没有改变,/etc/network/interfaces因为它说“ifupdown 已被该系统上的 netplan(5) 取代”。

除了这两件事之外,还有什么可能会覆盖 /etc/resolv.conf 的想法吗?

这是 EC2 上的 ubuntu 18.04。

答案1

有一个复杂的竞争来获取resolv.conf文件的控制权,这是一个非常古老的竞争。

尝试写一个的竞争者resolv.conf解析配置文件,DHCP,接口,网络管理员以及最近systemd 解析。其他程序也可以使用resolv.conf,例如域名解析

因此,简单的解决方案并不适用于所有情况。

  • 如果您有解析配置文件安装的程序(其主要目标是获取resolv.conf文件的所有权)然后:卸载它。

  • 如果您的系统使用 DHCP 来获取工作 IP(您很可能会这样做),则大约每隔一小时(取决于系统配置)IP 就会更新,从而重写resolv.conf.检测这是否是问题的根源。

  • 该文件/etc/interfaces可用于更改resolv.conf配置。找出它是否是(并删除它)。

  • Network Manager可以配置来改变什么resolv.conf。检测(并删除)它是否这样做。

  • Systemd-resolvedresolv.conf可以配置为通过符号链接进行控制。删除链接(如果存在)。

  • 有些人建议设置为resolv.conf不可修改(我认为这更多是一个问题而不是解决方案)。如果存在,请将其删除。

删除上述所有内容后:决定谁应该控制文件,resolv.conf了解DHCP在获得新的 DHCP 租约时可以更新文件。如果应该使用 ISP(或上游 dhcp 服务器所有者)dns 服务器。可以将 DHCP 租约配置为更改 IP,但不更新文件resolv.conf,或者dnsmasq/resolv.conf如果使用dnsmasq.当然,可以使用 、 等构建更复杂bind9Unbound配置NSD

如果需要,请寻求更多帮助。

有关的:

  1. 如何阻止 dhclient 更新 Debian 上的 resolvconf?
  2. 如何阻止 Debian 覆盖 /etc/resolv.conf 并覆盖我的 VPN 名称服务器?
  3. resolv.conf 每次都会被覆盖
  4. 每次启动时什么会覆盖 /etc/resolv.conf?
  5. 是什么原因导致 resolv.conf 被覆盖?
  6. CentOS 7 NetworkManager 不断覆盖 /etc/resolv.conf
  7. 如何在 resolv.conf 中包含在重新启动时不会丢失的行?
  8. Arch Linux OpenResolv

答案2

/etc/resolv.conf是resolvconf进程生成的动态配置文件:

$ head /etc/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
nameserver 127.0.1.1

该文件是从位于 下的文件生成的/etc/resolvconf/resolv.conf.d/。要将您自己的更改写入到文件的内容中,/etc/resolv.conf只需将您通常添加到文件中的行添加resolv.conf到文件中即可/etc/resolvconf/resolv.conf.d/base

相关内容