避免replaceDHCP发现的DNSparsing器?

我在CentOS 7.4上尝试为DNScachingconfigurationdnsmasq,为每个区域configurationDNS服务器来运行Consul。 本质上,dnsmasqconfiguration归结为:

# filter everything with consul in the name and send to local consul resolver server=/consul/127.0.0.1#8600 

我遇到的问题是获取本地parsing器到/etc/resolv.conf而不replace文件中的任何其他parsing器。

我曾经能够使用dhclientconfiguration来做到这一点,如下所示:

 prepend domain-name-servers 127.0.0.1; 

由于现在一切都是NetworkManager,所以我发现使用dnsmasq的方法是将下面一行添加到/etc/NetworkManager/NetworkManager.conf[main]部分:

 dns=dnsmasq 

重新启动NetworkManager之前,我看到我的/etc/resolv.conf包含DCHP收到的networkingDNS服务器:

 # Generated by NetworkManager search nowhere nameserver 10.0.2.3 options single-request-reopen 

通过上述configuration更改重新启动NetworkManager后,它将取代我的networkingDNS服务器127.0.0.1:

 # Generated by NetworkManager search nowhere nameserver 127.0.0.1 options single-request-reopen 

由于dnsmasq使用/etc/resolv.conf来检测本地parsing器,所以我想把parsing器放在/etc/resolv.conf以便dnsmasq能够发现它们。

有没有一种方法来实现以前的function,使NetworkManager只是预先安装本地parsing器?

显然,即使CentOS 7.4没有提供上游的/etc/dhclient.conf ,这仍然是一个有效的path。 我只是用下面的内容创build了这个文件:

 prepend domain-name-servers 127.0.0.1; 

瞧!

 # Generated by NetworkManager search nowhere nameserver 127.0.0.1 nameserver 10.0.2.3 options single-request-reopen