在/etc/resolv.conf.d到位的情况下,在/etc/resolv.conf中进行更改的“正确方法”是什么?


11

在过去,我resolv.conf是静止的,您自己编辑了它。

稍后,DHCP客户端将使用一些静态条目以及从DHCP租约中获得的内容来重写它。

如今,某些发行版(例如我的发行版(Linux Mint 18.1))具有一种/etc/resolv.conf.d包含脚本的多个子目录的机制,而且,我无法一头两用。

那么正确的方法是

  • 指示我要使用还是不使用在DHCP租约中获得的DNS服务器?
  • 是将固定条目添加到resolv.conf中,还是在没有DHCP租用名称服务器时将其添加为后备?
  • 决定文件中的相对顺序?

如果有的话,我不介意编写自己的脚本,我只是不想“与”现有机制“作对”或做重复的工作。


4
我卸载resolvconf在服务器... unix.stackexchange.com/questions/286195/...
瑞˚F里贝罗

您还可以配置dhclient为忽略/替换DHCP DNS信息。我不确定是否有/etc/resolv.conf.d执行此操作的机制(但是我不使用Mint,也没有这些脚本)。
dirkt

@dirkt:实际上,目前,进入我的唯一条目/etc/resolv.conf是本地主机(运行dnsmasq),因此我不清楚dnsmasq,resolv.conf.d机制和DHCP客户端如何交互。
einpoklum

Answers:


2

答案很简单,该resolv.conf.d文件夹位于/ etc / resolvconf /中,并且包含head / base / original和tail文件。如果每个都被编辑,将更新resolv.conf/ etc /中的文件

假设您要resolv.conf在/ etc /中放置一些静态DNS地址(因为每次重新启动时它会自动重置为默认设置),您需要head在/etc/resolvconf/resolvconf.d/中编辑文件并输入例如:

nameserver 1.1.1.1
nameserver 1.0.0.1

之后,使用以下命令重新启动resolvconf服务:

sudo service resolvconf restart

现在resolv.conf在/ etc /目录下,您将看到新的更改。

如果要在文件底部放置内容,也可以使用同样的方法,tail而不是head在/etc/resolvconf/resolvconf.d/中使用

PS:这是经过100%测试的,可以在Ubuntu和Debian上正常工作

编辑:我已经回答了您问题的最后两个项目符号,现在涉及第一个项目符号,它讨论了如何不使用DHCP提供的DNS地址。这实际上取决于您安装的DNS软件/软件包,因此,我建议您检查一下此帖子,并确保已阅读该帖子下方的内容dnsmasq


1
+1,但这仅说明了如何完成我所询问的内容。
einpoklum

0

resolve.conf和类似的机制从过去的几年到现在一直存在。有处理此文件的命令行dhclientresolvconf但是最近几年Linux以nmcli的名称引入了用于配置NetworkManager的新接口。这是用于管理每个持久性网络配置(而不是运行时)的丰富命令。您可以使用类似:

$ nmcli connection modify eth0 ipv4.dns 8.8.8.8

该命令将覆盖resolv.conf文件。在RHCA中,建议不要手动编辑resolv.conf并使用其命令。关于您提到的resolvconf目录,我可以说有些服务可以为DNS拥有自己的conf,因此它们可以像OpenVpn一样使用自己的conf。您还可以检查/etc/nsswitch文件以获取有关解析的更多信息。


我不认为这实际上可以回答我的问题。
einpoklum

好吧,也许这是我对您的问题所理解的小姐,但nsswitch档案是您的答案之一。
Ali Ghasempour

我相信@einpoklum希望控制DNS服务器的顺序resolv.conf(请参阅参考资料man resolv.conf),而不要控制用于解析方法的顺序(man nsswitch.conf)。但是您的答案仍然很有趣。
xhienne

感谢您的关注 。据我所知,resolv.conf是顺序文件,其解析优先级从高到低。
阿里Ghasempour
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.