如何使用 ubuntu + networkmanager + DHCP 将上面的 127.0.0.1 放入 /etc/resolv.conf

如何使用 ubuntu + networkmanager + DHCP 将上面的 127.0.0.1 放入 /etc/resolv.conf

实际上,在 ubuntu 16.04 服务器上,我的 /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 213.186.33.99
search local

我想将“nameserver 127.0.0.1”放在顶部。我将网络配置文件修改为:

auto lo
iface lo inet loopback

auto ens3
iface ens3 inet dhcp
    dns-nameservers 127.0.0.1      <--- added this

但名称服务器 127.0.0.1 已在底部设置:

# 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 213.186.33.99
nameserver 127.0.0.1
search local

我修改了 /etc/dhcp/dhclient.conf 以要求在前面添加 127.0.0.1:

prepend domain-name-servers 127.0.0.1;

但是现在,DHCP 动态找到的名称服务器已经消失了:

# 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.0.1
search local

那么,如何才能将“名称服务器 127.0.0.1”放在顶部,并将 DHCP 动态找到的名称服务器放在下面?

答案1

正如注释行中提到的,该文件是由resolvconf(8). 它配置有resolvconf.conf(5)

name_servers

将名称服务器添加到动态生成的列表的前面。127.0.0.1如果您使用 libc 以外的本地名称服务器,则应将其设置为。

影响处理顺序的选项如下:

interface_order

这些接口将始终被首先处理。如果未设置,则默认为以下内容:- lo lo[0-9]*

dynamic_order

这些接口将被处理,除非它们有度量。如果未设置,则默认为以下内容:- tap[0-9]* tun[0-9]* vpn vpn[0-9]* ppp[0-9]* ippp[0-9]*

答案2

编辑文件 /etc/resolvconf/resolv.conf.d/head,将您想要添加的名称服务器放在其底部,使用通常的语法:例如:

 ubuntu# cat head
 # 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 your.wanted.ip.here 
 nameserver another.extra.ip.here

然后,重新加载 resolvconf:

ubuntu# systemctl restart resolvconf

答案3

恐怕按照您请求的方式进行设置不会按预期工作。只有在第一个服务器超时的情况下才会查询第二个名称服务器。如果第一个服务器的响应是 NXDOMAIN,则解析器会停止,因为这是一个有效的回复。

如果您正在寻找一种使用本地 DNS 条目等来扩展有效响应的解决方案,则需要将本地主机上的 DNS 服务器配置为在查找其本地条目且结果不匹配后转发到另一个 DNS 服务器。

相关内容