resolv.conf 到本地主机

resolv.conf 到本地主机

大约 2 个小时以来,我一直在绞尽脑汁尝试让 /etc/resolv.conf 使用 127.0.0.1 而不是 127.0.0.53

我刚刚在整个分区上执行完 grep -r,但找不到这个该死的文件来自哪里。每当我重新启动服务时,它都会默认回到 127.0.0.53

这实际上只是为了让 dnsmasq(在 docker 中运行)成为直通 DNS。

答案1

Ubuntu 17.10 版(可能)现在使用网络计划默认提供其 DNS来源

我的默认 Ubuntu(bionic)如下所示

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

这就是为什么我后来发现NetworkManager它的 X/GTK 前端是设置 DNS 的合适地方(尽管我也不知道 nmcli)。显然,目前支持的渲染器是NetworkManagernetworkd,尽管有说明1NetworkManager支持WiFi。

我还没有找到一个地方进行设置,以便它可以适用于所有界面,例如旧的编辑方法/etc/resolv.conf,它在 vanilla 18.04 中不起作用(也许可以,但这需要大量工作,我以最终目标为导向)。

答案2

前註:绝不手动编辑 /etc/resolv.conf

/etc/resolv.conf 中的 127.0.0.1 来自 dnsmasq。

/etc/resolv.conf 中的 127.0.0.53 来自 systemd-resolved。

dnsmasq 和 systemd-resolved 通常不应同时运行……因为它们往往会互相干扰。

如果您希望 dnsmasq 运行,您必须告诉 systemd-resolved 退出,就像这样...

sudo pico /etc/systemd/resolved.conf

改变:

#DNSStubListener=yes

到:

DNSStubListener=no

然后重新启动。

相关内容